Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ОАиП.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
5.06 Mб
Скачать

Лабораторная работа № 13.

Тема: Разработка рекурсивных алгоритмов и программ.

Цель работы: Научиться разрабатывать рекурсивные алгоритмы и программы.

Средства: ПЭВМ, среда разработки Pascal.

Актуализация опорных знаний

1. Определение рекурсивных процедур и функций.

2. Структуры рекурсивных процедур и функций.

Пример выполнения задания

Задание: Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить: f(n)=n!. Исходные данные вводятся с клавиатуры.

Uses crt;

var

f,n:integer;

Function Fact (n: integer): integer;

begin

if n=0

then Fact:=1

else Fact:=n*Fact(n-1)

end;

begin

clrscr;

write('Введите значение N:');

readln(n);

f:=fact(n);

writeln(f);

end.

Результаты отладки программы

Исходные данные для задания:

N=5.

результат: f=120

Задания

1. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-2)!/(n-4)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

2. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=2/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

3. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=1/(n+1)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

4. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-3)!/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

5. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-1)!/(n-2)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

6. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=1/(n+5)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

7. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-1)!/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

8. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(1+n!)/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

9. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n+2)!/(n+4)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

10. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n!+2)/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

11. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=1/(n+3)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

12. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-1)!/n!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

13. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить: f(n)=(1+n!)/(2+n!). Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

14. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-3)!/(n-4)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

15. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=(n-2)!/n!.Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.

16. Разработать рекурсивный алгоритм и программу решения задачи, в которой вычислить:

f(n)=1/(n+2)!. Исходные данные вводятся с клавиатуры. Программа должна быть реализована с использованием пользовательского библиотечного модуля.