Студопедия — 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; просмотров: 418. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

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

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

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

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

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

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