нужно решить одну задачу с помощью процедур, а другую через функции
вопрос>>> А ЧЕМ ОТЛИЧАЮТСЯ ПРОЦЕДУРЫ ОТ ФУНКЦИЙ?
Другие языки программирования и технологии
вопрос по 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}
А вообще, почитайте книги.
Удачи!
И процедура и функция являются логически законченными частями программы (подпрограммами) , выполняющими некоторые действия. Но.. . Если процедура может просто сделать что-то и все, то функция просто обязана вернуть результат, а следовательно она имеет некоторый тип. Например, процедура очистки экрана 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}
А вообще, почитайте книги.
Удачи!
Традиционно, процедура не возвращает значения, а функция возвращает.
Однако и процедуры, и функции могут изменять значения входных переменных, формально описанных
с использованием ключевого слова var.
Однако и процедуры, и функции могут изменять значения входных переменных, формально описанных
с использованием ключевого слова var.
Функция в отличие от процедуры может принимать значение. Это если кратко, подробнее можно прочитать здесь: http://www.intuit.ru/department/pl/plpascal/8/
Похожие вопросы
- Вопрос по Turbo Pascal
- Вопрос по Turbo Pascal
- Люди помогите пожалуйста....Кто понимает TURBO PASCAL
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Как вставить текст в Turbo Pascal 7.1???
- Turbo Pascal
- Объясните смысл прогаммы в Turbo Pascal
- Я в коледже Turbo Pascal прохожу. Скажите он вообще где нибудь нужен? Может Turbo Pascal морально устарел?
- DOS OC или создание ОС на Turbo Pascal
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!