Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Рекурсия


Автор: s1nn 23.4.2009, 19:16
Начал изучать пролог, возникли трудности. Помогите!
Написать рекурсивную программу вычисления значения степеней e^(2n).  
С хвостовой совсем не разобрался smile 
Это не хвостовая рекурсия, но она реализованна не совсем корректно

Код

predicates
p(real,real)
vivod(real,real)

clauses
p(0,1):-!.
p(N,Res):-N>0,N1=N-1,p(N1,M),Res=exp(2*N),write(N,"    ",Res),nl.
    
vivod(N,Res):-write("N","    ","Result"),nl,p(N,Res).

Goal
write("Vvtedite chislo N=>"),nl,readreal (N),
vivod(N,Res). 


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)