Prolog - como resuelvo el sigiente problema

   
Vista:

como resuelvo el sigiente problema

Publicado por giselle (1 intervención) el 08/11/2007 00:20:02
hola a todos
necesito pedirles un favor
tengo un problema no se como hacer el progrma en prolog del texto siguiente
En qué año del siglo XX nació Carlos, si su edad en elaño 2000 es
igual a la suma de las cifras de su año de nacimiento.
3. Mihijo es ahora tres veces más joven que yo, pero hace 5 añosera
cuatro veces más joven. ¿Qué edad tienen padre e hijo?
bueno son dos
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Prolog
- Código fuente de Prolog
- Cursos de Prolog
- Temas de Prolog
información
Códigos de Prolog
- Problema resuelto
- Tateti o tres en ralla
- Juego Tres en raya

RE:como resuelvo el sigiente problema

Publicado por Eduardo Castro (23 intervenciones) el 13/11/2007 02:00:12
Hola Giselle,
el problema del año es muy sencillo, antes de pensar en hacer el algoritmo en prolog es bueno pensar tambien como lo resolverias mentalmente, lo primero es definir el dominio en que se va a trabajar, es decir, el año es porsupuesto entero y no puede ser menor que 1900 y 2000, es mas, puedes acotarlo aun mas, si inicia de 1900 entonces almenos tiene 10 años luegoentonces debe ser 1990 hacia abajo, bueno ahora se hace la regla:
el año es el correspondiente si el año esta en el rango y 2000 menos el año es igual la suma de los digitos del año.
la suma tu la puedes calcular con la siguiente forma, (año/1000) + ((año/100) - (año/1000)*10) + ((año/10) - (año/100)*10) + ((año) - (año/10)*10), recuerda que los operadores aritmeticos ya estas definidos en prolog como predicados que incluso los puedes usar en notación infija.
entonces,

elAñoEs(Año):-estaEnElRango(Año),comparar(2000-año, suma del año)

recuerda defenir muy bien el rango del año por que puede ponerse a verificar todos los numeros y recuerda que son infinitos entonces es necesario acotarlo. luego que hagas eso puedes hacer la regla y lo ejecutas y le preguntas:
?-elAñoEs(Año) y enter, el buscara el año que encaje, el resultado es 1981 para que compares debe tener 19 años.

el de los hijos lo puedes resolver de forma similar.
espero haber podido ayudarte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como resuelvo el sigiente problema

Publicado por Eduardo Castro (23 intervenciones) el 13/11/2007 02:15:13
hay encontre ejemplos de prolog
http://www.geocities.com/v.iniestra/apuntes/pro_log/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como resuelvo el sigiente problema

Publicado por roger (1 intervención) el 04/12/2010 00:52:00
como resuelvo el siguiente problema [(-9) + (3)] / (-3) =
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar