В чем разница между функцией и подпрограммой?
В чем разница между функцией и подпрограммой? Мне сказали, что разница между функцией и подпрограммой выглядит следующим образом:
Функция принимает параметры, работает локально и не изменяет никакого значения или не работает с любым значением вне его объема (высокая степень сцепления). Он также возвращает некоторую ценность. Подпрограмма работает непосредственно со значениями вызывающего или сегмента кода, которые вызывали его, и не возвращают значения (низкая когезия), то есть разветвление какого-либо кода на какой-либо другой код, чтобы выполнить некоторую обработку и вернуться.
Это правда? Или нет никакой разницы, только два члена для обозначения одного?
Ответы
Ответ 1
Я не согласен. Если вы передадите параметр по ссылке на функцию, вы сможете изменить это значение вне области действия функции. Кроме того, функции не должны возвращать значение. Рассмотрим void some_func()
в C. Таким образом, помещения в OP недействительны.
В моем разуме, разница между функцией и подпрограммой является семантической. То есть некоторые языки используют разные термины.
Ответ 2
Функция возвращает значение, тогда как подпрограмма не работает. Функция не должна изменять значения фактических аргументов, тогда как подпрограмма может их изменить.
Это мое определение их; -)
Ответ 3
Если мы говорим на языках C, С++, Java и других языках высокого уровня:
а. Подпрограмма - это логическая конструкция, используемая при написании алгоритмов (или блок-схем) для обозначения функций обработки в одном месте. Подпрограмма обеспечивает некоторый вывод на основе ввода, где обработка может оставаться неизменной.
б. Функция представляет собой реализацию концепции подпрограммы на языке программирования
Ответ 4
Как функция, так и подпрограмма возвращают значение, но пока функция не может изменить значение аргументов, поступающих в IN на своем пути OUT, может быть подпрограмма. Кроме того, вам нужно определить имя переменной для исходящего значения, где для функции вам нужно только определить входящие переменные. Например, для функции:
double multi(double x, double y)
{
double result;
result = x*y;
return(result)
}
будет иметь только входные аргументы и не будет нужна переменная вывода для возвращаемого значения. С другой стороны, такая же операция, выполняемая с помощью подпрограммы, будет выглядеть так:
double mult(double x, double y, double result)
{
result = x*y;
x=20;
y = 2;
return()
}
Это будет делать то же, что и функция, которая возвращает произведение x и y, но в этом случае вы (1) должны определить результат как переменную и (2) вы можете изменить значения x и y на обратном пути.
Ответ 5
Подпрограмма - это набор инструкций, которые выполняют четко определенную задачу. Инструкции размещаются в инструкциях Sub и EndSub.
Функции похожи на подпрограммы, за исключением того, что функции возвращают значение. Подпрограммы выполняют задачу, но ничего не сообщают вызывающей программе. Функция обычно выполняет некоторые вычисления и сообщает результат вызывающему.
надеюсь, что у вас есть фактическая зависимость между подпрограммами и функциями.:)
Ответ 6
Я пишу этот ответ из VBA для перспективы Excel. Если вы пишете функцию, вы можете использовать ее как выражение i. е. вы можете вызвать его из любой ячейки в excel.
например: нормальная функция vlookup в excel не может искать значения > 256 символов. Поэтому я использовал эту функцию:
*
Function MyVlookup(Lval As Range, c As Range, oset As Long) As Variant
Dim cl As Range
For Each cl In c.Columns(1).Cells
If UCase(Lval) = UCase(cl) Then
MyVlookup = cl.Offset(, oset - 1)
Exit Function
End If
Next
End Function
*
Это не мой код. Получил это из другого интернет-сообщения. Он отлично работает.
Но реальное преимущество - теперь я могу назвать его из любой ячейки в excel. Если бы я написал подпрограмму, я бы не смог этого сделать.
Ответ 7
Процедура функции возвращает значение после выполнения назначенной задачи, тогда как процедура Sub не возвращает значение.
Ответ 8
Одно из различий может быть от источника, откуда исходит терминология.
Подпрограмма больше относится к компьютерной архитектуре/терминологии организации, что означает многократно используемую группу инструкций, которая выполняет одну задачу. Он хранится в памяти один раз, но используется как можно чаще.
Функция получила свое начало от математической функции, где основная идея отображает набор входов на набор допустимых выходов с тем свойством, что каждый вход связан с одним выходом.
Ответ 9
Каждая подпрограмма выполняет определенную задачу. Для некоторых подпрограмм эта задача состоит в вычислении или извлечении некоторого значения данных. Подпрограммы этого типа называются функциями. Мы говорим, что функция возвращает значение. Как правило, возвращаемое значение должно использоваться как-то в программе, вызывающей функцию.