Está en la página 1de 6

PROGRAMANDO

EN SWI-PROLOG
Programa 01:Implementa las relaciones padre, madre, hermano, hermana.
====================================================
hombre(alberto).
hombre(jorge).
hombre(carlos).
mujer(flor).
mujer(manuela).
padre(alberto,carlos).
padre(alberto,jorge).
padre(alberto,manuela).
matrimonio(alberto,flor).
madre(X,Y):- padre(Z,Y),
matrimonio(Z,X).
hermano(X,Y):-
padre(Z,Y),
padre(Z,X),
hombre(X),
X \== Y.
hermana(X,Y):-
padre(Z,Y),
padre(Z,X),
mujer(X),
X \== Y.
Programa 02: Suma dos números leídos desde teclado.
================================
muestra_suma(A,B) :-
S is A + B,
write('La suma de '),
write(A),
write(' + '),
write(B),
write(' es '),
write(S).
lee(X) :-
write('Introduzca un numero: '),
nl,
read(X).
sumar :-
lee(N1),
lee(N2),
muestra_suma(N1,N2).
Programa 03: Calcula el cuadrado de un número ingresado por teclado.
==================================================
pide_numero(X) :-
write('Introduzca un numero: '),
nl,
read(X).
escribe_cuadrado(X) :-
X2 is X*X,
write('El cuadrado de '),
write(X),
write(' es '),
write(X2).
cuadrado :-
pide_numero(X),
escribe_cuadrado(X).
Programa 04: Calcula el factorial de un número
==================================
factorial(0,1).
factorial(A,B) :-
A > 0,
C is A-1,
factorial(C,D),
B is A*D.
Programa 05: Calcula el factorial de un número leído desde teclado
================================================

factorial(0,1).
factorial(A,B) :-
A > 0,
C is A-1,
factorial(C,D),
B is A*D.
lee(X) :-
write('Introduzca un numero: '),
nl,
read(X).

f :-
lee(N),
factorial(N,F),
write(' El factorial de '),
write(N),
write(' es '),
write(F).

También podría gustarte