Consulta sobre PROLOG (sencillo)

Publicado en 'Programación' por Jonaaaa, 18 May 2015.





  1. Jonaaaa

    Jonaaaa Miembro frecuente

    Registro:
    27 Jul 2013
    Mensajes:
    99
    Likes:
    3




    buenas una pregunta.
    me dan este enunciado
    3.1 PREDICADO: alumno(nombre,apellido,edad,fecha_nacimiento) Desarrollo: - Ingresar 5 alumnos Consultas - Listar a todos los alumnos - Listar a los alumnos mayores a 20 años
    - Listar a los alumnos menores de edad
    ya lo resolvi pero no se ocmo hacer otra consulta en el mismo enunciado
    aqui esta mi solucion

    domains
    nombre,apellido = symbol
    edad = integer
    fecha_nacimiento = integer

    predicates
    nondeterm alumno(nombre,apellido,edad,fecha_nacimiento)

    clauses
    %hechos
    alumno(juan,romero,25,1990).
    alumno(carla,fernandez,17,1998).
    alumno(paul,ocaña,22,1983).
    alumno(roberto,martinez,22,1992).
    alumno(renata,cisneros,18,998).

    goal
    alumno(N,A,E,F), % PRIMERA CONSULTA
    alumno(N,A,E,F),E>=20. %SEGUNDA CONSULTA

    es una pregunt sencilla , recien estoy empezando a usar este programa alguien me ayuda?
    todo me sale junto la primera y la segunda , como lo separo o mejor dicho como hago otra consulta sin interferir con la primera (que no salga junto)
     


  2. genelyk

    genelyk Suspendido

    Registro:
    25 Feb 2011
    Mensajes:
    3,154
    Likes:
    1,053
    jajaja, crees q alguien te ayude en en tu tarea? , mejor no estudies tas perdiendo dinero..
     
  3. Jonaaaa

    Jonaaaa Miembro frecuente

    Registro:
    27 Jul 2013
    Mensajes:
    99
    Likes:
    3
    no estoy pidiiendo que me resuelvan nada , solo tengo una duda , acaso no tengo derecho de equivocarme o de no entender algo que es nuevo para mi?
     
  4. gnox

    gnox Miembro maestro

    Registro:
    3 Ene 2013
    Mensajes:
    794
    Likes:
    252
    copia la segunda consulta y cambia >=20 por <18 ..

    condicionales :
    X -> Y; Z.

    si X se cumple devuelve Y, sino Z , es la misma logica de java o c++ : (cond)?return a:return b;

    prolog es mas orientado a programacion funcional , asi que tienes que leer mas como pensar funcionalmente hablando, o leer tus notas de clase .

    Prolog = Declarativa , no Funcional .. me confundi con haskell/erlang.