clauses /*Predicado para calcular la suma de los elementos de una fila */ sumafila([],[],[]):-!. sumafila([], L2, L2):-!. sumafila(L1, [], L1):-!. sumafila([C1|Cola1], [C2|Cola2], Res):- S=C1+C2, sumafila(Cola1, Cola2, ColaRes), Res=[S|ColaRes].
/*Predicado de recorrido de las filas para sumar los elementos mediante el uso del predicado anterior */ sumar([],[],[]):-!. sumar([], L2, L2):-!. sumar(L1,[], L1):-!. sumar([C1|Cola1], [C2|Cola2], LR):-sumafila(C1, C2, Res), sumar(Cola1, Cola2, ColaRes), LR=[Res|ColaRes].
clauses dividir ([],[],[]):-write("lista procesada"),nl. dividir([L|R],[L|N],P):- T = L mod 2, C = abs(T), C>0, dividir (R,N,P). dividir([L|R],N,[L|P]):- W = L mod 2, E = abs(W), E=0, dividir (R,N,P).
goal dividir([2,7,3,33,22,4,6,11],N,P).
Ejercicio 2: Genere los rboles de deduccin para cada una de las operaciones que se realizan sobre elementos de una lista, en el siguiente programa. Ejecute el programa para analizar los resultados obtenidos. domains lista=integer*
Ejercicio 3 Escriba un programa en Prolog que permita: Generar una lista de nmeros enteros, este procedimiento deber solicitar un valor e introducirlo en una estructura tipo lista. Generar un procedimiento que sume los elementos de la lista formada en el punto anterior. Procedimiento que obtenga el nmero ms alto y el nmero ms bajo contenido en la lista. Procedimiento que ordene los nmeros ascendente o descendentemente segn peticin del usuario.
Ejercicio 4 La siguiente tabla presenta una lista de caractersticas de gemas comunes, incluyendo su dureza (resistencia a fuerzas externas de acuerdo con la escala de Mosh), densidad (peso por unidad de volumen en gramos por centmetro cbico) y colores. Dado tres hechos que representan la dureza la densidad y el color de una gema escriba las reglas necesarias para determinar: 1. El tipo de gema cuyas caractersticas se proporcionaron. 2. Solicitar las propiedades de una piedra X. 3. Solicitar la variedad de colores de una piedra X. 4. Solicitar los rangos de dureza de X piedra. 5. Solicitar las densidades de X piedra. Las propiedades a comprobar se introducirn por medio de instrucciones readint, readchar o readln, adems de colocar tanto los rangos de densidad, dureza y colores en listas y manipular estas para obtener los resultados esperados.
PIEDRAS PRECIOSAS GEMA DUREZA DENSIDAD COLORES Diamante 10 3.52 Amarillo, caf, verde, azul, blanco, sin color
Corindn 9 4 Rojo, rosa, amarillo, caf, verde, azul, violeta, negro, blanco, sin color
Quirsoberilo 8.5 3.72 Amarillo, caf, verde.
Espinel 8 3.6 Rojo, rosa, amarillo, caf, verde, azul, violeta, blanco, sin color
Topacio 8 3.52 3.56 Rojo, rosa, amarillo, caf, azul, violeta, blanco, sin color
Berilo 7.5 8-0 2.7 Rojo, rosa, amarillo, caf, verde, azul, blanco, sin color
Zirconio 6 7.5 4.7 Amarillo, caf, verde, violeta, blanco, sin color
Cuarzo 7 2.65 Rojo, rosa, verde, azul, violeta, blanco, negro, sin color
Turmalina 7 3.1 Rojo, rosa, amarillo, caf, verde, azul, blanco, negro, sin color
Peridoto 6.5 7 3.3 Amarillo, caf, verde
Jadeta 6.5 7 3.3 Rojo, rosa, amarillo, caf, verde, azul, violeta, blanco, negro, sin color
Opalina 5.5 6.5 2 2.2 Rojo, rosa, amarillo, caf, blanco, negro, sin color
Nefrita 5 6 2.9 3.4 Verde, blanco, negro, sin color