Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. par(N) evalúa como verdadero, si N es un número par (resolver sin usar ‘mod’)
5. Definir los siguientes hechos y luego la regla que calcula el circuito, donde S es el valor de salida:
and(Q1, Q2, S)
or(Q1, Q2, S)
not(Q, S)
circuito(Q1, Q2, S)
6. Definir los siguientes hechos y reglas, para buscar la enfermedad que tiene una persona:
HECHOS:
sintoma(P, S)
enfermedad(E, S)
REGLA:
diagnostico(P, S, E) P: persona, E: enfermedad, S: síntoma
TRATAMIENTO DE LISTAS
7. predecesor(L, R) donde R contiene los elementos de la lista L que son iguales o mayores que su
predecesor (el primer elemento siempre aparece en el resultado)
14. eliminar(L, E, R) donde R es la lista L sin el elemento E (suponer una sola ocurrencia)
17. rotarIzq(L, N, R) donde R es la lista resultante de rotar los elementos de L, N posiciones a la izquierda
19. insOrden(E, O, D) insertar el valor E en la lista ordenada O, da como resultado la lista ordenada D
ESTRUCTURAS DE DATOS
21. Definir el árbol de la derecha, donde cada nodo sea un functorpersona(nombre, dni, edad), e implementar las
reglas para:
Mostrar todos los descendientes de un nodo.
Mostrar todos los ascendientes de un nodo.
22. parejas(L1, L2, L3) donde L1, L2 son listas de la misma longitud (sino debe fallar), y L3 es la lista de
duplas formada con los elementos de aquellas.
23. Definir la base de datos de personas mediante el functor(nombre, teléfono, sexo, edad), e implementar los
siguientes predicados:
Buscar si una persona existe.
Mostrar todas las personas.
Mostrar todas las mujeres.
Mostrar todos los varones mayores de 21 años.
Definir la relación casado con teléfono.
Definir la relación de visita de una persona a otra.
Mostrar los casados.
Indicar para sirve: c(X) if casado(X, Y), visita(Y, Z), persona(Z, _, m).