Відмінності функції від процедур

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

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

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

У заголовку функції визначається її ім'я, параметри (якщо вони име-ються) і тип результату.

Для виклику функції необхідно вказати її ім'я і параметри (якщо вони є). Ім'я може використовуватися у виразах. При обчисленні виразу ім'я функції замішаний обчисленим значенням.

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

function Func: Real;

WriteLn ( 'Квадрат синуса цього числа дорівнює', Rez); end.

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

for i: = 1 to 20 do

for j: = 1 to 20 do

На відміну від імені процедури, ім'я функції може використовуватися у виразах.

Більш того, функцію можна викликати, тільки використовуючи се ім'я в ка-кого-небудь вираженні. В останньому прикладі ім'я функції SR присут-ствовало в вираженні S: = S + SR (i, j); Значення SR (i, j) автоматично підраховується кожен раз і використовувалося при обчисленні правій частині.

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

Підпрограма є основою модульного програмування. Розбиваючи завдання на частини і формуючи логічно відокремлені модулі підпрограми (процедури і функції), програміст реалізує основні принципи широко пользуемя в практиці системного підходу і методів спадного програмування.

Ось як виглядає в загальному вигляді структура процедури:

Схожі статті