Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Просто мне кажется, что функция - это та же процедура, но с возможностью возвращения значения. То есть она может не возвращать (быть как процедура), а может и возвращать. Хочется узнать, какие особенности есть процедуры.
Процедура по сути та же функция, только для случая, когда через ее имя не надо возвращать значение. В принципе, отдельное название при этом совсем не обязательно, но автор Паскаля Вирт решил сделать так для большей понятности. В С и C++, например, процедур нет, в них только функции, которые могут и не возвращать значение через свое имя. если это не нужно.
Функция в паскале по своему предназначению соответствует математической функции - отображает множества значений аргументов на некое новое множество. Процедура же - это просто поименованная подпрограмма. Но! Из-за некоторых ограничений на возвращаемые типы функций в классическом паскале процедуры иногда используются в качестве функций. Тот же прием иногда используется для всяческих оптимизаций быстродействия. Также паскаль позволяет вызывать функции на манер процедур - без обязательного возврата результата. Отсюда вся твоя путаница.
Нормальная функция в надёжном коде должна быть "чистой", т. е. не иметь побочных эффектов (не менять никаких значений, находящихся вне тела функции). Тогда как процедура - это всегда побочные эффекты. Другое дело, что PascalABC - это не Pascal, а загримированный C#. И авторы PascalABC сознательно нарушили практически все принципы, на которых построен оригинальный Pascal.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.