You are on page 1of 4

EJERCICIOS

1.- Hacer un programa que haya el cuadrado de un nmero. El programa pedir si


desea continuar s/n si ingreso s o S continuara si ingresa n o N saldr en
caso de ingresar otro carcter sacara un mensaje que solo debe ingresar s/n y otra
vez el mensaje si desea continuar s/n.
Resolucin:
domains
var=symbol
X,Num=integer
predicates
nondeterm inicio
nondeterm continuar(var)
nondeterm opcion(var)
clauses
inicio:- write("EL CUADRADO DE UN NUMERO: "),nl,nl,
write(" Ingrese un numero : "),
readint(Num),
X=Num*Num,
write(" El cuadrado de ",Num," es ",X),nl,
continuar(_).

continuar(rpta):- write("Desea Continuar s/n : "),


readln(rpta),nl,
opcion(rpta).
opcion("n").
opcion("N").
opcion("s"):- inicio.
opcion("S"):- inicio.
opcion(_):- write(" Debe ingresar una opcion S o N "),nl,

continuar(rpta).

goal
inicio.

2.- Hallar la suma de nmeros impares consecutivos a partir de su entero 'N'


ingresado desde el teclado.
Resolucin:
predicates
nondeterm for(integer,integer)
nondeterm impar(integer,integer)

goal
write("INGRESE UN NUMERO : "),
readint(N),
for(S,N),
write(S),
readln(_).

clauses
for(0,0).
for(S,N):- N1=N-1,
for(S1,N1),
N2=N1+1,
impar(N2,Y),
S=S1+Y.

impar(X,Y):- 0<> X mod 2, Y=X.

impar(X,Y):- Y=0.

3.- Hallar la suma de solo los nmeros pares de 'N' nmeros ingresados desde el
teclado.
Resolucin:
predicates
nondeterm bucle(integer,integer)
nondeterm par(integer,integer)

goal
write("INGRESE UN NUMERO : "),
readint(N),
bucle(S,N),
write("LA SUMA DE PARES CONSECUTIVOS ES: ",S),
readln(_).

clauses

bucle(0,0).
bucle(S,N):- N1=N-1,
bucle(S1,N1),
N2=N1+1,
PAR(N2,Y),
S=S1+Y.

PAR(X,Y):- 0= X mod 2, Y=X.


PAR(X,Y):-Y=0.

4.- Hallar la suma de nmeros consecutivos mltiplos de 3.

Resolucin:

predicates
nondeterm for(integer,integer)
nondeterm multiplo(integer,integer)

goal

write("INGRESE UN NUMERO :"),


readint(N),
for(S,N),
write(S),
readln(_).

clauses
for(0,0).
for(S,N):- N1=N-1,
for(S1,N1),
N2=N1+1,
multiplo(N2,Y),
S=S1+Y.

multiplo(X,Y):- 0 = X mod 3, Y=X.


multiplo(X,Y):- Y=0.

You might also like