Різниця між процедурами і функціями - студопедія

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

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

a, b, SumNumbers. integer;

Procedure Summa1 (Var Sum: integer; a, b. Integer);

Function Sum (a, b. Integer). integer;

Summa1 (SumNumbers, a, b);

writeln ( 'За допомогою процедури сума чисел дорівнює', SumNumbers);

writeln ( 'За допомогою функції сума чисел дорівнює', Sum (a, b));

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

Function Sum (a, b. Integer). integer;

Процедури і функції в Турбо Паскалі відрізняються не тільки описом, а й способом їх виклику. Так виклик функції Sum можна зробити в наступній формі

Якщо не звертати уваги на наявність списку параметрів, то цей оператор виглядає як привласнення змінної SumNumbers значення змінної Sum. Компілятор, Кончно ж, знає, що Sum - це ім'я функції (тому що визначення передує використанню) і організовує обчислення відповідним чином. Точно так же, як константа або змінна, виклик функцій може використовуватися в списках параметрів оператора write (див. Програму), що для процедур неможливо.

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

Отже, з вищесказаного візьміть на замітку наступне.

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

Схожі статті

  • Покажчики на функції як параметри - студопедія

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

  • Що таке bde - студопедія

    Що таке BDE BDE (Borland Database Engine) - універсальний механізм доступу до даних, застосовуваний в засобах розробки фірми Borland (а саме - Delphi і C ++ Builder), а також в деяких

  • Умови відбору записів - студопедія

    Умови відбору записів Умови відбору записів можуть задаватися для одного або декількох полів в рядку «Условие отбора» бланка запиту. Умовою відбору є вираз, який складається