Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Лабораторная работа № 13

Организация функций

Лабораторная работа № 12

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

Теоретические сведения:

Функции, это такие подпрограммы, результатом которых обязательно является некоторое зна­чение. Описание функции во многом совпадает с описанием процедуры. Но если имя процедуры ис­пользуется только для её вызова, то с именем функции, кроме того, связывается её результат. В описании функции заголовок выглядит следующим образом:

Fипсtiоп<имя>(<Параметры>): <Тип_возвращаемого_значения>;

<описания_переменных>;

Begin

<Тело подпрограммы>;

End;

Как и у процедуры, заголовок функции обязателен.

Функция предполагает обязательную передачу информации из подпрограммы в программу через имя функции. Поэтому раздел операторов обязательно должен содержать хотя бы один оператор, в котором имени функции присваивается значение результата. В противном случае функция не возв­ратит результат (вернее возвратит произвольный результат).

 

Порядок выполнения работы:

 

1) Запустите программу Turbo Pascal.

 

2) Определить значение выражения т (а,b, с) +т (b, с, d) +m (с, d, а) для ве­щественных а,b,с,d, где m(x,y,z) - функция определения минимального из трёх чисел.
Откомпилируйте программу. Проверьте правильность решения задачи.

3) Составить программу нахождения выражения х10 +2х9 -5х7 +4, используя функцию.
Откомпилируйте программу. Проверьте правильность решения задачи на любом примере.

4) Даны три квадратных уравнения ах2 +bx+c, dx2 +ex+f, px2 +qx+s. Сколько из них
имеют вещественные корни?

Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

 

5) Вычислить периметр треугольника по его координатам.
Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

6) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.

 

7) Выйдите из программы Turbo Pascal.


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

Теоретические сведения:

Рекурсия - это способ описания функции или процессов через самих себя (когда процедура или функция сама себя вызывает). В Паскале можно пользоваться именами лишь тогда, когда в тексте программы этому предшествует их описание. Рекурсия является единственным исключением из этого правила. Имя рекурсивной функции можно использовать сразу же, не закончив его описания.

В Паскале возможно применения рекурсии в процедурах и функциях.

Порядок выполнения работы:

1) Запустите программу Turbo Pascal.

 

2) Составить программу нахождения факториала, используя рекурсивную функцию.
Откомпилируйте программу. Проверьте правильность решения задачи. { Подсказка: Факториал an=n! означает n!=1*2*3*4*5*б*...*n. а)а1=1; б) аn=n*аn-1}

3) Написать программу вычисления членов геометрической прогрессии.

Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

{ Подсказка: Геометрическая прогрессия: а) а10; б) аnn-1*q. При а0=2, q=2 имеем степенной ряд 2,4,8,16,32,...; }

 

4) Написать программу вычисления членов арифметической прогрессии.

Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.

{ Подсказка: Арифметическая прогрессия: а)а10; б) аnn-1+d. При а0=1, d=1 имеем натуральный ряд 1,2,3,... }

5) Составить программу вычисления всех чисел Фибоначчи, используя рекурсивную функцию.
Откомпилируйте программу. Проверьте правильность решения задачи на любом примере.

{ Подсказка: Числа Фибоначчи. Один из наиболее ярких примеров применения рекурсии дают числа Фибоначчи. Они определяются следующим образом: x1=x2=1, xn=xn-1+xn-2 при n > 2

Каждый элемент ряда Фибоначчи является суммой двух предшествующих элементов, т.е.

1, 1, 2, 3, 5, 8, 13, 21, 34, 55,… }

8) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.

 

9) Выйдите из программы Turbo Pascal.

 





Поделиться с друзьями:


Дата добавления: 2015-06-26; Просмотров: 484; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.