Підпрограма: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
WikitanvirBot (обговорення | внесок)
м r2.7.1) (робот додав: sh:Функција (програмирање)
Немає опису редагування
Рядок 1:
{{Об'єднати|підпрограма}}
'''Підпрограма''' (''subroutine'') - частина [[Програма|програми]], яка реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної (головної) програми. В термінах мов програмування: функції ([[Мова програмування C|С]]), процедури ([[Pascal]]), методи ([[Java]]).
{{TOCright}}
'''Процедура''' (в програмуванні) — поняття, яке використовується в більшості [[Мова програмування|мов програмування]] високого рівня, і відповідає значенню [[Підпрограма|підпрограма]].
 
== Використання процедур ==
Підпрограма часто використовується для скорочення розмірів програм в тих задачах, в процесі розв'язання яких необхідно виконати декілька разів однаковий [[алгоритм]] при різних значеннях параметрів. [[Інструкція (програмування)|Інструкції]] (оператори, команди), які реалізують відповідну підпрограму, записують один раз, а в необхідних місцях розміщують інструкцію виклику підпрограми.
Використання кожної процедури пов'язане з її описанням та викликом. Описання процедури складається, як правило із заголовка процедури, та тіла процедури. Заголовок містить [[ідентифікатор]] процедури, та сукупність [[Параметр формальний|формальних параметрів]], і, можливо, деякі їхні характеристики. Тіло процедури складається з деякої послідовності операторів. Виклик процедури відбувається із відповідних точок програми вказанням ідентифікатора процедури, її [[Параметр фактичний|фактичних параметрів]], і, можливо, входу в її тіло.
 
== Типи процедур ==
Набір найвживаніших підпрограм утворює [[бібліотека стандартних підпрограм|бібліотеку стандартних підпрограм]].
=== Процедури та функції ===
Розрізняють два способи використання процедур в програмах: в якості процедур-операторів, виклик яких представляє завершену одиницю дій мови програмування, та процедур-функцій, виклик яких здійснюється через відповідні вказівники функцій, які використовуються лише в якості складових елементів виразів мови програмування. Завжди, при виклику процедури, формальні параметри в тілі цієї процедури замінюються на фактичні (передача параметрів за посиланням), або їхніми значеннями (передача параметрів по значенню) і виконується перетворене таким чином тіло процедури.
 
=== Відкриті та замкнені процедури ===
В більшості [[Мова програмування|мов програмування]] високого рівня, підпрограми називаються [[Процедура (програмування)|процедурами]] та [[Функція (програмування)|функціями]]. В залежності від мови програмування, терміни «процедура» та «функція» можуть розрізнятися (як правило, процедурою називають підпрограму, що не повертає результату, тоді як функція має результат і може використовуватись як частина виразу) чи розглядатись як синоніми (зокрема, в [[Мова програмування C|мові C]], де в початковому варіанті всі підпрограми могли повертати результат, їх здебільшого називають функціями).
Відповідно до способу зв'язування з основною [[Програма|програмою]] процедури ділять на ''відкриті'' та ''замкнені''.
 
Відкриті процедури складаються з малої кількості команд, їх вставляють в тіло програми кожен раз, коли зустрічається їхній виклик.
 
Замкнені процедури розміщуються окремо від основної програми, при кожному виклику замкненої процедури, організовується відповідна передача управління та повертання в точку виклику. Як правило, стандартні процедури замкнені.
 
Особливий випадок представляє [[Процедура рекурсивна|рекурсивна процедура]] та процедура без параметрів, виклик якої містить лише її ідентифікатор.
 
== Джерела інформації ==
* [[Енциклопедія кібернетики]], [[ЛяшенкоХолілов ВА. ФИ.]], т. '''2''', с. 177251.
 
== Дивіться також ==
* [[Підпрограма]]
* [[Процедура (програмування)|Процедура]]
* [[Процедура рекурсивна]]
* [[Програма]]
* [[ЗамиканняМова (програмування)|Замикання]] — один із різновидів підпрограм.
 
{{Compu-stub}}
 
[[Категорія:Програмування]]
 
[[bs:Podrutina]]
[[cs:Funkce (programování)]]
[[da:Funktion (programmering)]]
[[de:Funktion (Programmierung)]]
[[el:Διαδικασία (υπολογιστές)]]
[[en:Subroutine]]
[[es:Subrutina]]
[[et:Alamprogramm]]
[[fa:رویه]]
[[fi:Aliohjelma]]
[[fr:Fonction informatique]]
[[he:שגרה (תכנות)]]
[[hu:Függvény (programozás)]]
[[is:Undirforrit]]
[[it:Funzione (informatica)]]
[[ja:サブルーチン]]
[[kk:Көмекші бағдарлама]]
[[ko:함수 (프로그래밍)]]
[[mhr:Функций]]
[[nl:Subprogramma]]
[[no:Funksjon (programmering)]]
[[pl:Podprogram]]
[[pt:Sub-rotina]]
[[ru:Функция (программирование)]]
[[sh:Функција (програмирање)]]
[[sk:Podprogram]]
[[sr:Функција (програмирање)]]
[[sv:Funktion (programmering)]]
[[vi:Chương trình con]]
[[zh:子程序]]