Ця стаття не містить . (грудень 2019) |
Підпрограма (англ. subroutine) — частина програми, яка реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної (головної) програми. В термінах мов програмування: функції (С), процедури (Pascal), методи (в термінології об'єктно-орієнтованого програмування в мовах , Java, С# та ін.).
Підпрограма часто використовується для скорочення розмірів програм в тих задачах, в процесі розв'язання яких необхідно виконати декілька разів однаковий алгоритм при різних значеннях параметрів. Інструкції (оператори, команди), які реалізують відповідну підпрограму, записують один раз, а в необхідних місцях розміщують інструкцію виклику підпрограми.
Набір найвживаніших підпрограм утворює бібліотеку стандартних підпрограм.
В більшості мов програмування високого рівня, підпрограми називаються процедурами та функціями. В залежності від мови програмування, терміни «процедура» та «функція» можуть розрізнятися (як правило, процедурою називають підпрограму, що не повертає результату, тоді як функція має результат і може використовуватись як частина виразу) чи розглядатись як синоніми (зокрема, в мові C, де в початковому варіанті всі підпрограми могли повертати результат, їх здебільшого називають функціями). У об'єктно-орієнтованому програмуванні функції-члени класів називають методами.
Використання процедур
Використання кожної процедури пов'язане з її описанням та викликом. Описання процедури складається, як правило із заголовка процедури, та тіла процедури. Заголовок містить ідентифікатор процедури, та сукупність формальних параметрів, і, можливо, деякі їхні характеристики. Тіло процедури складається з деякої послідовності операторів. Виклик процедури відбувається із відповідних точок програми вказанням ідентифікатора процедури, її фактичних параметрів, і, можливо, входу в її тіло.
Типи процедур
Процедури та функції
Розрізняють два способи використання процедур в програмах: як процедур-операторів, виклик яких представляє завершену одиницю дій мови програмування, та процедур-функцій, виклик яких здійснюється через відповідні вказівники функцій, які використовуються лише як складові елементи виразів мови програмування. Завжди, при виклику процедури, формальні параметри в тілі цієї процедури замінюються на фактичні (передача параметрів за посиланням), або їхніми значеннями (передача параметрів по значенню) і виконується перетворене таким чином тіло процедури.
Відкриті та замкнені процедури
Відповідно до способу зв'язування з основною програмою процедури ділять на відкриті та замкнені.
Відкриті процедури складаються з малої кількості команд, їх вставляють в тіло програми кожен раз, коли зустрічається їхній виклик.[]
Замкнені процедури розміщуються окремо від основної програми, при кожному виклику замкненої процедури, організовується відповідна передача управління та повертання в точку виклику. Як правило, стандартні процедури замкнені.
Особливий випадок представляє (рекурсивна процедура) та процедура без параметрів, виклик якої містить лише її ідентифікатор.
Приклади підпрограм (функцій)
JavaScript
function name(text, element) { document.getElementById(element).innerHTML = text; }
ActionScript
public function name(text: string) { var textfield: TextField = new TextField(); textfield.text = text; }
С++
void name(string text) { cout << text; }
C#
public void name(string text) { System.Console.WriteLine(text); }
Pascal
procedure name(var text: string) begin write(text); end;
PHP
function name($text) { echo $text; }
Standard ML
fun name t = print t
або, теж саме (див. (Функція першого класу) и ):
val name = fn t => print t
Visual Basic
Sub Name(text) Console.WriteLine(text) End Sub
PureBasic
Procedure.l Name(text.s) PrintN(text) EndProcedure
Python
def func(text): print(text)
Див. також
- Комп'ютерна програма
- Рекурсія (програмування)
- (Співпрограма)
- Замикання — один із різновидів підпрограм.
Джерела
- Енциклопедія кібернетики, , т. 2, с. 177, 251.
![]() | Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
![]() | Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
![]() | Це незавершена стаття про мови програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет