Prolog - Suma con recursividad

 
Vista:

Suma con recursividad

Publicado por georgina (1 intervención) el 12/06/2009 09:29:42
Hola a todos nesesito mucho de su ayuda esto es para un examen final !!! espero y puedan ayudarme me encargaron realizar un programa k contenga lo siguiente:::
que tenga un menu con los sig.
1. suma de N numeros.
2. Promedio de N numeros.
0. salir.
Teclea una opcion:

Al teclear la primera o segunda opcion se debe preguntar al usuario cuantos numeros desea sumar o promediar , despues deben pedir los numeros y por ultimo mostrar el resultado.

el ejemplo k realize es el siguiente pero no komprendo donde se encuentra el error ::sss espero y puedan ayudarme !!!

ejemplo de codigo

domains
op=integer
predicates
nondeterm menu
nondeterm suma(n,n,n)
nondeterm evalua(op)
nondeterm promedio
clauses
menu:-
write("1.La suma de dos numeros"),nl,
write("2.El promedio de N numeros"),nl,
write("Seleccionar una de las siguientes Opciones"),nl,
write("Teclea cero para salir"),nl
readint(Opc),nl,
evalua(Opc),nl,
menu.
evalua(Opc):-
Opc=1,
write("cuantos elementos deseas sumar"),
readint(N),
suma(N,R),
write("El resultado es :",N,"es:",R).


evalua(Opc):-
Opc=2,
write("Cuantos elementos le quieres sakar el promedio"),
readint(N),
promedio(N,R),
suma(N,R),
R=X+Y/N,
write("El promedio de los valores es el siguiente",R).

evalua(Opc):-
Opc=0,
write("ADIOS =´( "),nl,
fail.


evalua(Opc):-
Opc<>0,Opc<>1,Opc<>2,
write("Esta opcion no es valida"),nl,nl.

suma(0,0).
suma(X,Y,R):-
write("Ingrese un valor :"),
readint(X),
write("Ingrese el segundo valor"),
readint(Y),
write("Mostrar el Resultado De la Suma"),
R=X+Y,
write("El resultado es :",R).

promedio(N,R):-
promedio(N,R),
suma(N,R),
R=suma/N,
write("El promedio de los valores es el siguiente",R).
goal
menu.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder