Изучение методики использования рекурсионного механизма при создании алгоритмов

Страницы работы

Содержание работы

Министерство образования Республики Беларусь

Учреждение образования: Белорусский государственный университет транспорта

Кафедра «Информационные технологии»

Отчёт по лабораторной работе №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

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Отчеты по лабораторным работам
Размер файла:
209 Kb
Скачали:
0