Чем процедура отличается от функции в программировании

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

Что означают  понятия функция и процедура

  • Функция в программировании — подпрограмма, вызываемая из других подпрограмм необходимое число раз.
  • Процедура — поименованная часть программы (подпрограмма), многократно вызываемая из последующих частей программы необходимое число раз.

Сравнение функции и процедуры

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

Заголовок функции содержит слово “function”, идентификатор (собственное имя функции), вариативно список параметров и обязательно — тип результата. В теле функции обязательно прописывается оператор, присваивающий значение имени функции, которое она вернет в качестве результата. Заголовок процедуры содержит слово “procedure”, идентификатор (имя процедуры) и вариативно список параметров.

Вызов функции осуществляется в составе выражений там, где эти выражения применяются, вызов процедуры требует отдельного оператора.

Читайте также:  Чем отличается «в отличие» от «в отличии»

Вызов процедуры осуществляется только по имени, имя функции же связано с ее значением. На схемах алгоритмов вызов функции изображается в блоке вывода или в блоке процесса, вызов процедуры — в специальном блоке “предопределенный процесс”.

Отличие функции от процедуры в программировании заключается в следующем:

  • Функция возвращает значение, процедура — нет.
  • Заголовок функции обязательно содержит тип результата.
  • В теле функции обязательно наличие оператора, присваивающего значение имени функции.
  • Вызов процедуры требует отдельного оператора, вызов функции возможен в составе выражений.
  • Имя процедуры необходимо для вызова, имя функции — для присвоения значения.
  • На схемах алгоритмов вызов процедуры изображается в отдельном блоке, вызов функции — в блоке процесса или вывода.

Оставить комментарий

Ваш email нигде не будет показанОбязательные для заполнения поля помечены *

*