% Sciagawka z rekurencji.
% Program wykonuje dodawanie 10 kolejno losowanych cyfr i wypisuje ich sume na ekran.
% rekurencja1 - za pomoca rekurencji ogonowej, wynik nie jest przekazywany do miejsca wywolania predykatu
% rekurencja2 - za pomoca rekurencji nieogonowej, wynik jest przekazywany do miejsca wywolania predykatu
% rekurencja3 - za pomoca rekurencji ogonowej z akumulatorem, wynik jest przekazywany do miejsca wywolania predykatu
predicates
nondeterm rekurencja1(Integer,Integer)
nondeterm rekurencja2(Integer,Integer)
nondeterm rekurencja3(Integer,Integer,Integer)
nondeterm program
goal
program.
clauses
program:-rekurencja1(10,0),nl,
rekurencja2(10,Suma),write(Suma),nl,
rekurencja3(10,Sumaa,0),write(Sumaa),nl.
rekurencja1(0,Suma):-write(Suma),!.
rekurencja1(N,Suma):-
NN = N-1,
random(10,Los),
NSuma = Suma+Los,
rekurencja1(NN,Nsuma).
rekurencja2(0,0):-!.
rekurencja2(N,NSuma):-
NN = N-1,
rekurencja2(NN,Suma),
random(10,Los),
NSuma = Suma+Los.
rekurencja3(0,Suma,Suma):-!.
rekurencja3(N,Suma,Acc):-
NN = N-1,
random(10,Los),
NAcc = Acc+Los,
rekurencja3(NN,Suma,NAcc).
Wyszukiwarka
Podobne podstrony:
Sciaga pl Podział drukarek komputerowychdydaktyka egzamin sciagaŚciąganie drążka wyciągu górnego do klatki na maszynieściąga kol 1 statasciaga napedyzad 2 rekściaga PRDMK Ściąga na egzaminPodstawy Systemów Okrętowych Ściaga PytaniamiŚCIĄGAściaga analizaBadanie Maszyn ściąga 1cisco kolos sciaga labkiwięcej podobnych podstron