Рекурсия.
Под программа в Pascal может обращаться сама к себе такое обращение называется РЕКУРСИЕЙ.
Рекурсивным–называют объект который частично определяется через самого себя для того, чтобы такого обращения не было бесконечным в тексте подпрограммы должно быть условие по достижению которого дальнейшего обращения не происходит. Таким образом, рекурсное обращение может включаться только в одну из ветвей подпрограммы.
Максимальное число рекурсных вызовов процедуры или функции без возвратов которые происходят во время выполнения программы называется глубиной рекурсии. Число рекурсивных вызовов в каждый конкретный момент времени называется текущим уровнем рекурсии.
Формы рекурсивных процедур.
1. Форма с выполненным действий до результатного вызова
Procedure rec;
Begin
Оператор;
If условие then rec;
End;
2. Формат с выполненным действий после рекурсивного вызова.
Procedure rec;
Begin
If условие then rec;
Оператор;
End;
3. Форма с выполнением действий как до так и после рекурсивного вызова
Procedure rec;
Begin
Оператор 1;
If условие then rec;
Оператор 2;
End;
Задание 1. Отладить программу и вывести все варианты результата выполнения программы.
Задача: Создать программу, которая выполняет следующие действия с введенной строкой данных: удаляет введенный символ и считает количество удаленных символов, вставляет строку символов после первого пробела во введенной строке данных, копирует введенное количество символов после первого пробела во введенной строке данных. Действия отражаются в виде меню:
По введенному номеру каждое действие выполняется отдельно. После выполнения действий экран очищается для ввода новой строки.
Листинг программы:
Задание 2. Построить блок-схему, написать программу, отладить программу и вывести результат выполнения программы.
Вариант 1 | Вариант 2 |
Создать программу: Введите первое множество (вводиться первое множество) Введите второе множество (вводиться второе множество) Выберите действие 1. Выполнить операцию пересечение 2. Выполнить операцию разность 3. Включить элемент (вводиться номер действия) | Создать программу: Введите первое множество (вводиться первое множество) Введите второе множество (вводиться второе множество) Выберите действие 1. Выполнить операцию объединение 2. Выполнить операцию эквивалентность 3. Исключить элемент (вводиться номер действия) |
Контрольные вопросы:
1. Подпрограмма (процедура). Определение. Описание.
2. Функция. Определение. Описание.
3. Множество. Определение. Описание.
4. Запись. Определение. Описание.
5. Рекурсия. Определение. Описание.
Отчет должен содержать:
¾ Наименование лабораторной работы;
¾ Тему;
¾ Цель работы;
¾ Задание;
¾ Решение;
¾ Листинг программы;
¾ Результат выполнения;
¾ Ответы на контрольные вопросы;
¾ Вывод.