Програмування допоміжних алгоритмів, Детальна інформація

Програмування допоміжних алгоритмів
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 9.9
Скачувань: 981
Оголошення, що випереджає, і визначальне оголошення складають повне оголошення процедури. Вважається, що процедура задана в оголошенні, що випереджає.

ПРИКЛАД оголошення, що випереджає:

procedure first(k: integer; var p: integer): forward;

{випереджальне оголошення}

procedure second(var n: integer; var s:real);

{дана процедура використовує процедуру first,тіло якої буде задано далі}

begin

 ...

 first(n,m); { виклик процедури, що ще не оголошена }

...

end;

procedure first;

begin 

 …

 second(k,p); {виклик процедури, тіло якої описано вище}

 …

end;

 

 

2.     Процедури-функції.

Функції, оголошені користувачем, також складаються із заголовка, блока оголошень та тіла функції.

Заголовок функції починається стандартним ідентифікатором function, містить ім’я для функції, формальні параметри (якщо вони присутні) і тип результату функції. Тип результату може бути будь-яким скалярним або рядковим типом. Тіло функції являє собою локальний блок операторів, аналогічний блокові для процедури. Відмінність полягає в тому, що хоча б один раз в тілі функції повинен зустрітись оператор присвоювання, який містить її ім’я в лівій частині.

Функція активізується за допомогою виклику функції або обчислення. Виклик функції містить ідентифікатор функції і необхідні фактичні параметри. Функція виконується при обчисленні виразу, а значення операнду стає значенням, що повертається функцією. Результатом виконання функції буде останнє присвоєне її імені значення. Якщо такого оператора присвоювання немає або він не виконується, те що повертається функцією значення буде невизначеним.

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

ПРИКЛАД: розглянемо опис функції для обчислення добутку перших k натуральних чисел (k!).

function fact(k: integer) : integer;

{ в заголовку процедури міститься параметр k – він є параметром-значенням і являє собою вихідні дані; сама функція оголошена також цілочисельною }

 

var

 i: integer;

The online video editor trusted by teams to make professional video in minutes