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

Понятие процедура и понятие функция в Qbasic. Дайте определение этим понятиям пожалуйста...

Если уж говорить о Бейсике, то там изначально были понятия функции и подпрограммы. Подпрограмма - это фрагмент программы к которому можно обращаться по вызову GOSUB (изначально от слов go subroutine - подрутина или понятней для нас subprogram - подпрограмма) . Иделогия была недалека от ассемблера с его вызовами подпрограмм. Общее здесь - общее пространство под переменные. Так было пока машины не превысили 64 Кб. С появлением XT идеология началась меняться. Теперь надо было иметь локальные переменные для ускорения работы программы из-за особенностей архитектуры XT. Понятие подпрограммы в первоначальном виде не устраивало и теперь когда речь идёт о процедуре - речь идет о как бы отдельной минипрограмме со своими локальными переменными. Что же функции? Это понятие вообще математическое. Но в программировании обычно понимается как однозначная зависимость: каждому значению аргумента соответствует только одно значение функции.
Вот вкратце, я попытался рассказать предысторию и поэтому и выше сказанного можно пояснить, что то и то являются подпрограммами, но функция в программировании всегда однозначна, а процедура - все остальные варианты, включая и однозначность функции. Ну и соответственно у них разная форма записи!
СФ
Сергей Филатов
76 473
Лучший ответ
По последнему пункту - процедура не возращает ничего. . Так вроде еще проще)

з/ы/ поставил бы +20, но нет такой возможности!
Андрей Данько
Андрей Данько
82 507
Ну, если своими словами, то функция задается с параметрами и на выходе получает именно те значения, которые желал пользователь. Т. е. вы пришли в магазин с банкой для меда - вам налили полбанки или целую или вообще ничего не налили, но вы ушли с этой тарой, точно зная, что внутри некое количество меда (пусть даже нулевое) . А процедура включает в себя множество параметров, т. е. вы пришли с банкой для меда, а вышли с авоськой всякой разности, чего там только нет!