68981

Рекурсивні функції і процедури, параметри-процедури

Лекция

Информатика, кибернетика и программирование

Тобто це є визначенням функції через цю саму функцію, У мові Паскаль рекурсивний опис функції полягає в тому, що в тілі такої функції міститься звертання до цієї ж функції. Наведемо рекурсивний опис функції п...

Украинкский

2014-09-28

30 KB

6 чел.

Лекція №10

Тема: Рекурсивні функції і процедури, параметри-процедури

План заняття:

1. Рекурсивні функції і процедури

2. Параметри процедури

Рекурсивні функції і процедури

Деякі функції можна визначати рекурсивно. Наприклад, f(n)=n! можна визначити так:

n!=

Тобто це є визначенням функції через цю саму функцію, У мові Паскаль рекурсивний опис функції полягає в тому, що в тілі такої функції міститься звертання до цієї ж функції. Наведемо рекурсивний опис функції п!:

function FACT2(n: integer): integer;

 begin

if n=0

then FACT2:=1

else FACT2:=n*FACT2(n-1)

end;

Зазначимо, що в лівій частині оператора присвоєння FACT2 не означає рекурсивності. Рекурсія є в правій частині, де наявне звертання до функції FACT2 з параметром п-1.

Під час обчислення FACT2(3), наприклад, відбувається послідовне вираження FАСТ3(3) через FACT2(2). FACT2(2) через FACT2(1), FACT2(1) через FACT2(0)=1. Тоді FACT2(1)=1; FACT2(2)=2*1=2; FACT2(3)=3*2=6;

У цьому випадку неявно вводяться додаткові змінні. Використання рекурсії робить програму компактнішою, однак потребує додаткового машинного часу і пам'яті.

Як і функції, рекурсивними можуть бути процедури. Ім'я рекурсивної процедури міститься в її тексті. Тобто процедура є рекурсивною, якщо вона викликає саму себе. Такий виклик процедур і функцій може виникнути внаслідок або рекурсивного опису, або рекурсивного звертання.

Рекурсивний опис полягає в тому, що у виконуваній частині процедури або функції міститься звертання до неї самої. Прикладом рекурсивного опису є розглянута функція обчислення факторіала. У випадку рекурсивного опису потрібна наявність базової частини опису, яка забезпечувала б завершення рекурсивних викликів функції або процедури. В наведеному прикладі такою базовою частиною, що забезпечує досягнення ситуації, коли FACT(n) не залежить від FACT(n-1), є визначення функції FACT(0)=1 при n=0.

Прикладом рекурсивного звертання може бути такий оператор:

J:=TR(N1 ,А1, B1,TR(N2, А2, В2, FN));

Тут ім'я функції TR використано як операнд в операторі присвоєння, а також як фактичний параметр цієї функції. Застосування рекурсивних процедур і функцій робить програму в цілому гнучкішою і наочнішою, однак часто менш ефективною.

Параметри-процедури

Як формальні параметри в мові Паскаль, крім параметрів-значень і параметрів-змінних, використовують також імена процедур і функцій.

Параметри-процедури в списку формальних параметрів в авторській версії Паскаль зазначають після службового слова procedure. Наприклад

procedure PR(i, j: integer; varz: real; procedure P);

Приклад використання параметрів-процедур (схематично)

program R;

var ar, br, cr: real;

procedure P(x, y: real);

begin

……

end; {P}

procedure Q(k, g: real);

begin 

……

end; {Q}

Тут результат від процедур Р і Q повинен передаватися через глобальні змінні:

procedure T(procedure S(p, g: real); var a, b: real);

var c,d: real

begin

……

S(c+1,d/2)

……

end {T}

begin {R}

……

T(P, ar, br);

……

T(Q, br, cr);

……

end.{R}

У Турбо Паскалі використання параметрів-процедур дещо інше, зокрема, потрібно попередньо визначити процедурний тип:

type

Proc=procedure(T: real);


 

А также другие работы, которые могут Вас заинтересовать

14095. Наша Земля - наш дім. План-конспект уроку з англійської мови для учнів 11-х класів 16.31 KB
  Планконспект уроку з англійської мови для учнів 11х класів Урок 118 Тема: Природа й людина Підтема: Наша Земля наш дім. Мета: Закріпляти та розвивати мовні навички. Підкреслити необхідність захисту оточуючого середовища. Обладнання: підручник плакати малюнки за...
14096. Оценка анализа и конкуренции на примере ООО «Уралпромсрой» за период 2007-2008 годов 133.96 KB
  Стратегический менеджмент как концепция управления фирмой позволяет взглянуть на организацию как на единое целое, объяснить с общесистемных позиций, почему происходит постоянное перераспределение ролей основных участников рынка.
14097. Роль массажа в комплексной реабилитации больных бронхиальной астмой 48.78 KB
  Астма - это хроническое воспалительное заболевание дыхательных путей. При наличии предрасположенности это воспаление вызывает повторяющиеся приступы кашля, хрипов, возникает чувство сдавления в груди, дыхание затруднено
14098. Форматування диска. Діагностика та дефрагментація дисків. Відновлення інформації на диску. Правила записування та зчитування інформації з дискет 218.5 KB
  Тема: Форматування диска. Діагностика та дефрагментація дисків. Відновлення інформації на диску. Правила записування та зчитування інформації з дискет. Мета: Охарактеризувати нову тему висвітлити її роль в курсі інформатики. Ввести поняття форматування діагностики
14099. Розпис тарелі «Летіла зозуля з яру в долину» та Ліплення з пластиліну на тему «Красивий кіт» 1.47 MB
  Конспект залікового уроку з Образотворчого мистецтва проведеного в 2А класі ЗОШ ІІІІ ступенів № 2 Тема уроку: Розпис тарелі Летіла зозуля з яру в долину. Мета. Ознайомити учнів із традиційним видом українського декоративноприкладного мистецтва – петриківським ...
14100. Конструювання моделей із сірникових коробок та Аплікація. Види аплікацій. Естетика і культура 5.11 MB
  Конспект залікового уроку з трудового навчання проведеного в 2А класі ЗОШ ІІІІ ступенів № 2 Тема уроку: Конструювання моделей із сірникових коробок. Об’єкт праці. Виготовлення моделей вантажних та легкових автомобілів. Мета. Ознайомити учнів із поняттям констр
14101. Конспект уроку Я і Україна. Декларація прав дитини. Про доброту і милосердя 607.11 KB
  Конспект уроку Я і Україна 2 клас 02. 03 Тема. Декларація прав дитини. Основний Закон держави. Обов’язки батьків та дітей. Мета. Формувати в учнів уявлення про Декларацію прав людини Основний Закон нашої держави; з’ясувати обов’язки батьків і дітей; виховувати шано...
14103. Секретарська справа. Конспект уроків та лекцій 767.33 KB
  УРОК № Тема: Вимоги до приміщення де знаходиться місце секретаря. Санітарно гігієнічні вимоги. Мета уроку: ознайомити учнів з загальними та санітарногігієнічними вимогами до приміщення секретаря. Ознайомити з сучасними тенденціями у обладнанні офісів та орга