Министерство образования Республики Беларусь
Учреждение образования: Белорусский государственный университет транспорта
Кафедра «Информационные технологии»
Отчёт по лабораторной работе №18
«Рекурсия»
Выполнил: студент гр. ЭС-21 Рубцов К.М. |
Проверил: ассистент Ненахов Ю. В. |
Цель работы: изучить методику использования рекурсионного механизма при создании алгоритмов; научится реализовывать рекурсионные алгоритмы с помощью языка C.
Задание:
Задача 1. Создать рекурсивную программу на. С, которая позволяет вычислить элементы последовательности:
а (1) =1,
a (n)=5*n-a(n-1), n>1
Задача 2. Составьте рекурсивную программу на С для вычисления интеграла (вводить необходимо a,b,n (n-целое число)):
( Напоминание!!! Компилировать программу необходимо с ключом -lm из-за использования библиотеки math.h).Получить результаты работы программы для разных n(1,4,7) и разных значений a и b (2 набора значений). Проверить правильность работы программы, сверив результаты расчета с результатами вычисления данного интеграла в среде MATHCAD. Результаты вычислений (всего 6) представить в отчете о лабораторной работе.
Ход выполнения работы:
1. Определяем рекурсивную суть в задаче.
2. Определяем локальную задачу в каждом шаге рекурсивного алгоритма.
3. Составляем блочную схему алгоритма.
4. Реализуем данную схему с применением конкретного языка программирования (в нашем случае - C).
5. Отлаживаем получившийся код.
Консоль:
Задача 2:
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -10 10
Введите степень косинуса : 1
Вычисленный интеграл :-1.088042
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -10 10
Введите степень косинуса : 4
Вычисленный интеграл :8.003042
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -10 10
Введите степень косинуса : 7
Вычисленный интеграл :-0.819179
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: 5 16
Введите степень косинуса : 1
Вычисленный интеграл :0.671021
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: 5 16
Введите степень косинуса : 4
Вычисленный интеграл :4.399083
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: 5 16
Введите степень косинуса : 7
Вычисленный интеграл :0.191935
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -20 5
Введите степень косинуса : 1
Вычисленный интеграл :-0.045979
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -20 5
Введите степень косинуса : 4
Вычисленный интеграл :9.422744
****Вычислитель определённого интеграла*****
Введите промежуток вычисления [a,b]: -20 5
Введите степень косинуса : 7
Вычисленный интеграл :-0.000098
Результаты вычисления в MathCAD:
Выводы: научились выделять в задаче рекурсивную основу, определять локальную задачу на каждом шаге рекурсии и реализовывать рекурсивный алгоритм с помощью языка C.
Путидоступа:
\\fs\students\es21\rubtsovav \Lab18\1.c
\\fs\students\es21\rubtsovav\Lab18\2.c
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.