5
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").

Ejercicios r

Embed Size (px)

DESCRIPTION

prolod

Citation preview

Page 1: Ejercicios r

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,

Page 2: Ejercicios r

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.

Page 3: Ejercicios r

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.

Page 4: Ejercicios r

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.