Мета: Вивчити основні мовні конструкції мови Пролог і ознайомитися з середовищем VisualProlog
Лабораторна робота №
Рекурсія і ітерація в мові Пролог. Обчислення факторіалу.
Тема: Рекурсія і ітерація в мові Пролог.
Мета: Переваги та недоліки рекурсії. Хвостова рекурсія. Організація циклів на основі рекурсії. Обчислення факторіалу..
Хід роботи
Завдання:
Варіант 10: Реалізуйте, використовуючи рекурсію і відсікання, цикл з лічильником (типу for i:=1 downto N do <оператор>).
Лістинг програми:
predicates
syma_ch(integer,integer)
neparne_ch(integer,integer)
clauses
neparne_ch(A,B):-A mod 2=0,B=A-1,!.
neparne_ch(A,B):-A mod 2>0,B=A,!.
syma_ch(0,0):-!.
syma_ch(1,1):-!.
syma_ch(Chuslo,Sum):-neparne_ch(Chuslo,A),A1=A-2, syma_ch(A1,Sum_1), Sum=A+Sum_1.
goal
write("Введіть натуральне число: "),readint(Введене_число), syma_ch(Введене_число,Сума).
Висновок: На даній лабораторній роботі я вивчив можливості використання рекурсивних і ітераційних алгоритмів в мові VisualProlog. Було створено програму реалізації циклу з лічильником, використовуючи рекурсію і відсікання.