Другие языки программирования и технологии

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

приведите пару примеров. спасибо!
Функция — это подпрограмма специального вида, которая, кроме получения параметров, выполнения действий и передачи результатов работы через параметры имеет ещё одну особенность — она всегда должна возвращать результат. Вызов функции является, с точки зрения языка программирования, выражением, он может использоваться в других выражениях или в качестве правой части присваивания.
Процедура — это независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий.
_-Тимур -_
_-Тимур -_
30 477
Лучший ответ
Процедура ничего не возвращает.
Например, процедуру можно сделать для опроса клавиатуры, или построения графика.
А вот вычисление какого-нибудь синуса - функция.
С точки зрения языка Си понятие процедуры - излишне, и для функций, не возвращающих какой-либо переменной, предусмотрен тип void. Как чел, давно уже "пересевший" на Си, я сам полагаю, что понятие процедуры излишне.
Saparik/// ///
Saparik/// ///
85 268
Евгений Толокольников Важное дополнение. Процедура тоже может возвращать значение через свои параметры (объявленные как var) или изменять глобальные переменные. Функция может делать то же самое.
Процедура - это функция, которая ничего не возвращает.
Зачем её сделали отдельной сущностью - известно только Вирту, во многих языках программирования программирования нет отдельного понятия для процедур и функций, есть просто функции.
Евгений Толокольников В Паскале правильная терминология, см. https://ru.wikipedia.org/wiki/Подпрограмма . Но согласен, что на практике использовать разные слова для оформления процедур и функций неудобно. В Паскале вообще синтаксис неудобный.
функция это вроде как формула. Законченное действие с частью математических операторов. А процедура уже как часть программы. Содержит в себе несколько функций.
Чинга . Это неверно. Процедура делает то же, что и функция, только не вычисляет результат.
Евгений Толокольников Такие функции, о которых вы пишете, называются "чистыми функциями" (это понятие из функциональных языков программирования).
Вам поможет это описание процедур и функций?
http://www.win-ni.narod.ru/biblio/gl10.htm
PY
Petr Yumatov
25 487
Илья ответил верно, однако, так как ты вообще задаешься таким вопросом, полагаю, он тебе ничего не сказал.
Воспринимай функцию как математическую функцию. Не буквально, конечно же, ибо она может менять состояние программы, просто как аналогия
Например, f(x) = x*x
a := f(2)
[a = 4]
Как видишь, функция принимает в себя какие-то данные, каким-то образом обрабатывает, возможно, меняя состояние программы, и отдает ответ.
Процедура - такая же функция, она может менять состояние программы, однако ответа она не дает. Ты не можешь сделать a := f(2), в случае, если f - процедура.
Этот блядь интернет - я нихуя не понимаю
Александр ,,,
Александр ,,,
2 350
Алексус Алексус вот ещё рядом с тобой мандавошка стоит, хохочет