Студопедия — PROGRAM PG9_9;
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

PROGRAM PG9_9;






VAR А, В: INTEGER;

FUNCTION BILL(Y, X: INTEGER): INTEGER;

VAR К: INTEGER;

BEGIN

К:=0;

WHILE Y MOD X <> 0 DO

BEGIN

К:= K+Y DIV X+2;

Y:= A-X+Y MOD X;

END;

BILL:= K+Y DIV X

END;

BEGIN

REPEAT

WRITE('BBEДИTE ДВА НАТУРАЛЬНЫХ ЧИСЛА А>В');

READLN(A, В);

UNTIL A> = B;

WRITELN('КОЛИЧЕCTBO ОТРЕЗКОВ В ТРАЕКТОРИИ:', BILL(A, В))

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем описание функции BILL;

- вводим два натуральных числа А и В;

- вызываем функцию BILL для определения количества отрежов;

- завершаем работу программы.

Переменные:

в функции BILL:

X, Y - два натуральных числа (формальные параметры);

К - вспомогательная переменная (локальная переменная);

А - длинная сторона стола (глобальная переменная);

в основной программе:

А, В - два натуральных числа (глобальные переменные).

 

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

Формально рекурсию для функции F(X) можно описать сле­дующим образом:

IF X = <начальное значение> THEN

F:= <начальное значение функции>;

ELSE

F:= W(F);

где конструкция F:= <начальное значение функции>; называется глубиной рекурсии, a F:= W (F) определяет способ обращения функции в точке Хп к своим значениям для меньших значений аргумента Хп - 1, Хп - 2 и т. д.

Классическим примером простейшей рекурсии (линейной) может служить функция вычисления факториала натурального числа N FACT(N).

IF N = 0 THEN

FACT:= 1

ELSE

FACT:= N * FACT(N - 1);

Например, при N = 4 к функции FACT происходит обращение 5 раз (для N = 4, N = 3, N = 2, N = 1, N = 0), каждое из которых, кроме последнего, заносится в стек. При 5-м обращении вычисля­ется FACT(O) = 1, и затем последовательно, извлекая обращения из стека, вычисляются

FACT(1) = 1* FACT(O) = 1,

FACT(2) = 2*FACT(1) = 2,

FACT(3) = 3* FACT(2) = 6,

FACT(4) = 4*FACT(3) = 12.

Рассмотрим несколько примеров построения рекурсии. При использовании рекурсий следует помнить, что размеры стека не бесконечны и переполнение его возникает довольно быстро.

Задача 9.10 Вычислить I-е число Фибоначчи.

Известно, что каждое последующее число Фибоначчи равняет­ся сумме двух предыдущих:

F i:= F i-1 + F i-2;а нулевое число равно нулю, первое - единице.

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







Дата добавления: 2015-09-07; просмотров: 424. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Йодометрия. Характеристика метода Метод йодометрии основан на ОВ-реакциях, связанных с превращением I2 в ионы I- и обратно...

Броматометрия и бромометрия Броматометрический метод основан на окислении вос­становителей броматом калия в кислой среде...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия