Разве процедура и подпрограмма не одно и тоже?

Аватар пользователя pjlol
Не в сети
Последнее посещение: 2 года 33 недели назад
Зарегистрирован: 2014-07-04
Сообщения:

Я как следует еще не разобралась в визуальном программировании, но уже наткнулась на некоторые сложности. Я один раз спросила на этом же форуме что-то про процедуры, и в описании проблемы решила воспользоваться синонимом, как мне казалось, и сказала подпрограмма. Меня тут же поправил один из известных пользователей. Так что это не одно и то же? А чем же они отличаются тогда? Что означает подпрограмма, и как ею пользоваться? Заранее спасибо.

Аватар пользователя tornado5
Не в сети
Последнее посещение: 4 недели 4 дня назад
Зарегистрирован: 2014-06-24
Сообщения:
Процедура - это частный

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

Аватар пользователя tivik
Не в сети
Последнее посещение: 2 года 27 недель назад
Зарегистрирован: 2014-09-25
Сообщения:
Функция

Ну, подпрограммы делят на функции и процедуры.

Подпрограммы не синоним, а в некотором роде обобщение, ведь функции от процедур отличаются лишь тем, что обязательно должны возвращать результат. К примеру, в PHP используется конструкция return.

Пример функции:

function func($a){

$a++;

return $a;

}

Вызвав ее так

$func = func(12);

Мы получим, что переменная func равна 13.

А процедура просто, сделает дело и все. К примеру:

function ff($a){

$a++;

}

А показать теперь только так:

ff(1);

echo $a;

Замечу, что я это все вам на PHP пишу, на других языках иные особенности...


Кстати, на некоторых языках можно создавать локальные функции (и процедуры), то есть, функции, объявленные только внутри другой функции.

Аватар пользователя igorstrong
Не в сети
Последнее посещение: 28 недель 4 дня назад
Зарегистрирован: 2015-04-27
Сообщения:
Процедура может являться

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