Разработка алгоритмов с использованием рекурсивных функций 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка алгоритмов с использованием рекурсивных функций



Цель работы: познакомиться с понятием «рекурсия» и особенностями рекурсивных процедур и функций ЯП Pascal, закрепить практические навыки работы на примере реализации алгоритмов при помощи рекурсивных процедур и функций.

 

Краткие теоретические сведения

Рекурсия - способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения составляющих ее операторов обращается сама к себе.

Имеется два вида рекурсии:

1) прямая рекурсия означает, что процедура вызывает саму себя;

2) косвенная рекурсия означает, что одна процедура вызывает другую процедуру, а это в свою очередь прямо или косвенно приводит к вызову первоначальной процедуры.

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

 

Перед выполнением работы необходимо изучить способы описания и использования рекурсивных процедур и функций:

1. Прямая рекурсия

Функция

Function <имя ф-ции> (n-формальные параметры): <тип возвращаемого результата>;

Begin

<имя ф-ции>:=<имя ф-ции> (n-1);

End;

Процедура

Procedure <имя п-ры> (n-формальные параметры);

Begin

<имя п-ры> (n-1);

End;

2. Косвенная рекурсия

До вызова процедура или функция должна быть обязательно описана, для этого используется опережающее объявление: процедура или функция содержит описание только своего заголовка, вслед за которым ставится зарезервированное слово forward. 

 

Var

<имя переменной>: <тип переменной>;

Procedure <имя п-ры 2> (n-формальные параметры); forward;

Procedure <имя п-ры 1> (n-формальные параметры);

Begin

<имя п-ры 2> (n-1);

End;

Procedur e <имя п-ры 2> (n-формальные параметры);

Begin

<имя п-ры 1> (n-1);

End;

 

Отчет о выполнении

Отчет выполняется в электронном виде. Если заданий несколько, то повторить всю систему отчета необходимое количество раз.

Текст задачи
 
Спецификация программы
 
Листинг алгоритма исполняемого файла
 
Скриншот интерфейса запускного файла программы
 

Контрольные вопросы:

1. Что понимается под структурным программированием?

2. Что называется подпрограммой?

3. Что такое «рекурсия»?

4. Как объявляется рекурсивная подпрограмма?

5. В чем преимущества и недостатки использования рекурсии?

6. Какие виды рекурсий бывают и в чем их особенность?

 

22Варианты индивидуальных заданий

 

Составить программу вычисления функции. При разработке программы создать и использовать подпрограмму-функцию.

 

1.
x=2,8; у=5,6; S=5,4; А=4,3;              x=4,4; у=2,8; S=10,9; А=8,7.

 

2.
x=2,5; z=3,1; u=1,7;            x=0,61; z=0,25; u=0,96.

 

3.
x=2,5; z=3,1; u=1,7;             x=0,61; z=0,25; u=0,96.

 

4.
x=9,81; z=4,64; u=3,78;       x=3,14; z=5,15; u=3,87.

 

5.
x=2,54; z=2,41; u=1,96;       x=4,08; z=1,95; u=2,25.

 

6.
x=1,54; z=1,11; u=1,21;       x=0,9; z=2,4; u=0,1.

 

7.
x=2,11; u=1,13;       x=3,1; u=2,11.

 

8.
x=5,1; у=2,7;              x=1,2; у=3,9.

 

9.
x=4,14; u=6,83;       x=2,17; u=0,99.

 

10.
x=0,1; u=1,4;       x=0,2; u=0,7.

 

11.
x=5,7; у=0,6; u=1,1;              x=2,1; у=0,2; u=2,0.

 

12.
x=3; у=8; S=2; u=3;              x=2,75; у=7,21; S=1,54; u=2,6.

 

13.
x=1,4; z=2,1; u=1,1;        x=1,2; z=1,9; u=1,3.

 

14.
x=0,1; z=0,2; u=0,3;       x=0,9; z=0,8; u=0,7.

 

15.
x=1,5; у=2,7; u=1,2; t=6,5; v=2,4;

x=1,4; у=3,5; u=0,9; t=0,1; v=6,6.

 

16.
x=-1,3; у=-2,8; z=0,1; u=6,0; t=9,0; v=-2,5;

x=-2,6; у=0,6; z=-3; u=-2,7; t=-1; v=-1,6.

 


 ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №5



Поделиться:


Последнее изменение этой страницы: 2021-04-13; просмотров: 89; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.100.34 (0.005 с.)