Описать предикат - Prolog
Формулировка задачи:
Доброго времени суток! помогите пожалуйста выполнить задание: Описать предикат y(N), выводящий на экран результат выражения для заданного N. N — целое число. Результат выражения должен быть целочисленным, если все операции в выражении целочисленные.
большое спасибо
вот попытка написать программу, но она не работает, подскажите в чем ошибка
Листинг программы
- sum(N,I,I,S1,S):- N>0, !.
- sum(N,I,I1,S,S1):- I2 is I1 + 1
- ,S2 is S1 + sqrt(I) + sqr(N)
- ,sum(N,I,I2,S,S2).
- summa(N,N,R,R):- !.
- summa(N,N1,R,R1):- N2 is N1 + 1
- ,sum(N,N2,1,S,N2)
- ,R2 is R1 + S
- ,summa(N,N2,R,R2).
- y(N):- summa(N,2,R,2), write(R).
- ?-y(4).
Решение задачи: «Описать предикат»
textual
Листинг программы
- sum(N,_,J,S,S) :-
- J > N,
- !.
- sum(N,I,J,S,SR) :-
- S1 is S + sqrt(I) + J*J,
- J1 is J+1,
- sum(N,I,J1,S1,SR).
- summa(N,I,S,S) :-
- I > N,
- !.
- summa(N,I,S,SR):-
- sum(N,I,1,0,SS),
- S1 is S+SS,
- I1 is I+1,
- summa(N,I1,S1,SR).
- y(N):-
- summa(N,1,0,R),
- write(R).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д