Цель: научиться составлять программы решения задач с использованием рекурсивных процедур и функций.
Теоретические сведения:
Рекурсия - это способ описания функции или процессов через самих себя (когда процедура или функция сама себя вызывает). В Паскале можно пользоваться именами лишь тогда, когда в тексте программы этому предшествует их описание. Рекурсия является единственным исключением из этого правила. Имя рекурсивной функции можно использовать сразу же, не закончив его описания.
В Паскале возможно применения рекурсии в процедурах и функциях.
Порядок выполнения работы:
1) Запустите программу Turbo Pascal.
2) Составить программу нахождения факториала, используя рекурсивную функцию.
Откомпилируйте программу. Проверьте правильность решения задачи. { Подсказка: Факториал an=n! означает n!=1*2*3*4*5*б*...*n. а)а1=1; б) аn=n*аn-1}
3) Написать программу вычисления членов геометрической прогрессии.
Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.
|
|
{ Подсказка: Геометрическая прогрессия: а) а1=а0; б) аn=а n-1*q. При а0=2, q=2 имеем степенной ряд 2,4,8,16,32,...; }
4) Написать программу вычисления членов арифметической прогрессии.
Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.
{ Подсказка: Арифметическая прогрессия: а)а1=а0; б) аn=аn-1+d. При а0=1, d=1 имеем натуральный ряд 1,2,3,... }
5) Составить программу вычисления всех чисел Фибоначчи, используя рекурсивную функцию.
Откомпилируйте программу. Проверьте правильность решения задачи на любом примере.
{ Подсказка: Числа Фибоначчи. Один из наиболее ярких примеров применения рекурсии дают числа Фибоначчи. Они определяются следующим образом: x1=x2=1, xn=xn-1+xn-2 при n > 2
Каждый элемент ряда Фибоначчи является суммой двух предшествующих элементов, т.е.
1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… }
8) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.
9) Выйдите из программы Turbo Pascal.
Лабораторная работа №14