Поняття функції в мовах програмування. Фактичні та формальні параметри

Поняття функції в мовах програмування. Фактичні та формальні параметри.

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

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

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

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

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

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

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

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

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

За заголовком функції випливають розділи оголошення констант, типів і змінних.

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

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

Фактичні та формальні параметри

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

Параметри, що вказуються при виклику

1 2 3 4 5 6 7

Схожі роботи

Реферати

Курсові

Дипломні