Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЯП3 / ЯП3

.pdf
Скачиваний:
2
Добавлен:
22.04.2023
Размер:
593.43 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра безопасности информационных систем (БИС)

Отчет по лабораторной работе №3

по дисциплине «Языки программирования» По теме «Рекурсии»

Студент гр. 731-2

_____________ А.Д. Коноваленко

_____________

Принял Старший научный сотрудник

_________ _____________ А.С. Романов

_____________

Томск 2023

 

СОДЕРЖАНИЕ

 

Введение...................................................................................................................

3

1 ХОД РАБОТЫ ......................................................................................................

4

1.1

Реализация типов рекурсий...........................................................................

4

1.2

Индивидуальное задание...............................................................................

7

Заключение .........................................................................................................

10

Приложение А ....................................................................................................

11

2

Введение

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

3

1 ХОД РАБОТЫ

1.1 Реализация типов рекурсий

Линейная рекурсия:

На рисунках 1.1 и 1.2 представлены код линейной рекурсии поиска факториала числа и результат работы программного кода соответственно.

Рисунок 1.1 – Код линейной рекурсии

Рисунок 1.2 – Результат работы кода ошибки линейной рекурсии

Повторная рекурсия:

На рисунках 1.3 и 1.4 представлены код повторной рекурсии целочисленного деления числа с помощью повторного вычитания и результат работы программного кода соответственно.

4

Рисунок 1.3 – Код повторной рекурсии

Рисунок 1.4 – Результат работы кода повторной рекурсии

Взаимная рекурсия:

На рисунках 1.5 и 1.6 представлены код взаимной рекурсии определения четности или нечетности числа и результат работы программного кода соответственно.

Рисунок 1.5 – Код взаимной рекурсии

Рисунок 1.6 – Результат работы кода взаимной рекурсии

Каскадная рекурсия:

На рисунках 1.7 и 1.8 представлены код каскадной рекурсии вычисления n-го элемента последовательности натуральных чисел и результат работы программного кода соответственно.

5

Рисунок 1.7 – Код каскадной рекурсии

Рисунок 1.8 – Результат работы кода каскадной рекурсии

Удаленная рекурсия:

На рисунках 1.9 и 1.10 представлены код удаленной рекурсии вычисления функции Аккермана-Петера и результат работы программного кода соответственно.

Рисунок 1.9 – Код удаленной рекурсии

Рисунок 1.10 – Результат работы кода удаленной рекурсии

6

1.2 Индивидуальное задание

Код индивидуального задания был написан на языке программирования С++. Листинг программы представлен в приложении А.

Вариант индивидуального задания - №10 На рисунках 1.11 - 1.12 представлены код программы, а на рисунке 1.13

представлен результат работы кода.

7

Рисунок 1.11 – Код рекурсии

8

Рисунок 1.12 – Код функции main

Рисунок 1.13 – Результат работы кода

9

Заключение

В ходе выполнения работы было осуществлено знакомство с

различными типами рекурсий и способами их применения для решения

практических задач.

10

Соседние файлы в папке ЯП3