ТОП 10:

Опис процедур та функцій процедурною мовою програмування



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

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

1. Локальні змінні недоступні поза процедурою чи функцією.

2. Зміни, що відбуваються із змінними у процедурі, не впливають на значення змінних з тими ж іменами, але які описані поза даною процедурою

Глобальні змінні – це змінні, описані в розділі описів головної програми.

1. Глобальні змінні доступні поза процедурою чи функцією.

2. Будь-яка зміна глобальної змінної у процедурі змінює її значення поза процедурою.

Процедури:

1. Стандартні (є частиною ТУРБО-системи і можуть бути викликані без оголошення): процедури для роботи з рядками; процедури для роботи з файлами; процедури розміщення динамічних параметрів; процедури введння-виведення; процедури завершення

2. Які визначаються користувачем (оголошуються у розділі описів)

Для використання процедур у програмі широко розповсюдженою мовою програмування Паскаль їх необхідно описати в розділі описів головної програми. Опис міститься в програмі після розділу опису змінних і складається і з заголовка і тіла процедури. Заголовок процедури складається із службового слова procedure, ідентифікатора процедури і списку формальних параметрів, взятого в круглі дужки. Елементи списку параметрів відокремлюються один від одного комами:

procedure <ім’я процедури> (<параметри>);

Тіло процедури за структурою аналогічне програмі, тобто містить описи об’єктів: міток, констант, типів, змінних, а також розділ операторів. Розглянемо як приклад процедуру обчислення дискримінанта квадратного рівняння:

procedure Discr (A, B, C, D: real);

begin

D:=B*B-4*A*C;

end;

У цій процедурі використано змінні A, B, C, D типу real, що виступають як формальні параметри

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

Для використання функції в програмі мовою Паскаль її необхідно описати в розділі головної програми. Опис функції починається з заголовка function і закінчується типом даних значення, що повертається:

function <ім’я функції> (<параметри>): <тип даних>;

Складений оператор, що розташовується в описі функцій після заголовка і, можливо, після опису локальних міток і змінних, повинен обов’язково містити у собі оператор присвоювання, у якому ліворуч від := розміщене ім’я функції.

Розглянемо як приклад функцію обчислення площі трикутника за формулою Герона:

function Geron (a,b,c: real): real;

var p: real;

begin

p:=(a+b+c)/2;

Geron:=Sqrt(p*(p-a)*(p-b)*(p-c))

end;







Последнее изменение этой страницы: 2016-12-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.29.190 (0.003 с.)