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

вопрос по Turbo Pascal

нужно решить одну задачу с помощью процедур, а другую через функции
вопрос>>> А ЧЕМ ОТЛИЧАЮТСЯ ПРОЦЕДУРЫ ОТ ФУНКЦИЙ?
Доброго времени суток.

И процедура и функция являются логически законченными частями программы (подпрограммами) , выполняющими некоторые действия. Но.. . Если процедура может просто сделать что-то и все, то функция просто обязана вернуть результат, а следовательно она имеет некоторый тип. Например, процедура очистки экрана ClrScr; и функция получения абсолютной величины числа Abs. Данные передаются и в процедуру, и в функцию при помощи параметров. При необходимости процедура также может возвращать какие-то значения, но делает это она посредством параметров. Для этого перед именем этого параметра ставится служебное слово var, говорящее о том, что данный параметр передается по ссылке и в теле подпрограммы возможно его изменение. Вышесказанное в отношении параметров, справедливо и для функций.

Вот пример реализации сложения двух чисел с помощью процедуры и функции.

procedure AddP(a,b: Integer; var c: Integer);
begin
с := a + b;
end;

function AddF(a,b: Integer): Integer;
begin
AddF := a + b;
end;

Разницу видите? Использование в программе таким образом.

AddP(4,5,N); {в N будет результат 9}

N := AddF(4,5); {в N тоже 9}

А вообще, почитайте книги.

Удачи!
VJ
Vadim Jarina
59 612
Лучший ответ
Традиционно, процедура не возвращает значения, а функция возвращает.
Однако и процедуры, и функции могут изменять значения входных переменных, формально описанных
с использованием ключевого слова var.
Функция в отличие от процедуры может принимать значение. Это если кратко, подробнее можно прочитать здесь: http://www.intuit.ru/department/pl/plpascal/8/