✅Чим процедура відрізняється від функції в програмуванні

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

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

Що таке функція в програмуванні

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

Що таке процедура в програмуванні

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

Порівняння функції та процедури

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

Функція повертає значення, процедура в більшості мов програмування – ні, або (у Сі, наприклад) повертає порожнє значення. В останньому випадку (у Сі) процедура вважається підпорядкованим різновидом функції.

Заголовок функції містить слово “function”, ідентифікатор (власне ім’я функції), варіативно список параметрів і обов’язково – тип результату. У тілі функції обов’язково прописується оператор, що присвоює значення імені функції, яке вона поверне як результат.

Заголовок процедури містить слово “procedure”, ідентифікатор (ім’я процедури) і варіативно список параметрів. Виклик функції здійснюється у складі виразів там, де ці вирази застосовуються, виклик процедури вимагає окремого оператора.

Виклик процедури здійснюється тільки по імені, ім’я функції ж пов’язано з її значенням. На схемах алгоритмів виклик функції зображується в блоці виведення або в блоці процесу, виклик процедури – в спеціальному блоці “зумовлений процес”.

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

  • Функція повертає значення, процедура – ні.
  • Заголовок функції обов’язково містить тип результату.
  • У тілі функції обов’язково наявність оператора, привласнюючого значення імені функції.
  • Виклик процедури вимагає окремого оператора, виклик функції можливий у складі виразів.
  • Ім’я процедури необхідно для виклику, ім’я функції – для присвоєння значення.
  • На схемах алгоритмів виклик процедури зображується в окремому блоці, виклик функції – в блоці процесу або виведення.
Посилання на основну публікацію