Upload
yackii-stefanii
View
7
Download
0
Embed Size (px)
DESCRIPTION
prolod
Citation preview
EJERCICIOS
1.- Hacer un programa que haya el cuadrado de un número. 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 carácter sacara un mensaje que solo debe ingresar s/n y otra vez el mensaje si desea continuar s/n.
Resolución:
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 números impares consecutivos a partir de su entero 'N' ingresado desde el teclado.
Resolución:
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 números pares de 'N' números ingresados desde el teclado.
Resolución:
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 números consecutivos múltiplos de 3.
Resolución:
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.