Разликата между процедурата и функцията в програмирането

Потребителите, които по принцип са далеч от програмирането, рядко се сблъскват с понятията функция и процедура и те са свързани с нещо математическо и бюрократично-медицинско. В програмирането много езици работят върху тези понятия, но дори специалистите понякога не могат ясно да разберат разликата между функция и процедура. Както при онзи гофер: той е, но никой не го вижда. Да видим дали разликите са толкова невидими.

Съдържание на статията

  • дефиниция
  • сравнение
  • данни

дефиниция

функция в програмирането - подпрограма, извикана от други подпрограми толкова пъти, колкото е необходимо.

процедура - посочената част от програмата (подпрограма), многократно извикана от следващите части на програмата необходимия брой пъти.

към съдържание ↑

сравнение

Основната разлика между функция и процедура е връщащият резултат. Всъщност двете функции и процедури са логически неделими блокове, които съставят програмния код. Функцията връща стойност, процедурата в повечето езици на програмиране не прави, или (в С, например) връща празна стойност. В последния случай (в С) процедурата се счита за подчинен вид функция.

Заглавката на функцията съдържа думата „функция“, идентификатор (правилното име на функцията), списък на параметрите и по избор вида на резултата. В тялото на функцията трябва да бъде предписан оператор, който да присвои стойност на името на функцията, която тя ще върне в резултат. Заглавието на процедурата съдържа думата „процедура“, идентификатор (име на процедурата) и списък с параметри променливо. Функционалното обаждане се осъществява като част от изразите, където тези изрази се прилагат; процедурното обаждане изисква отделен оператор. Процедурата се извиква само по име, името на функцията е свързано с нейната стойност. На диаграмите на алгоритмите извикването на функция се показва в изходния блок или в блока на процеса, процедурното повикване в специалния блок „предварително определен процес“.

към съдържание ↑

данни

  1. Функцията връща стойност, процедурата не.
  2. Заглавката на функцията трябва да съдържа типа на резултата..
  3. В тялото на функцията се изисква оператор, който присвоява стойност на името на функцията.
  4. Обаждането за процедура изисква отделен оператор, функционално повикване е възможно като част от изразите.
  5. Името на процедурата е необходимо за извикване, името на функцията е за присвояване на стойност.
  6. На диаграмите на алгоритмите извикването на процедурата се показва в отделен блок, функционалното повикване се показва в блока на процеса или изхода.