Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Помогите разобраться.

Автор: AnTiDoD 3.12.2006 18:31

Начал программировать на Pascal'е и сталкнулся с одной проблемой: не могу понять чем различаются процедыру и функции (назначения их я вроде бы понял). Приведите простой пример их различия...

Заранее спасибо.

Автор: volvo 3.12.2006 18:34

Function F;
begin
F := Sqrt(10);
end;

...
writeln(F); { <--- Результат функции можно непосредственно использовать в выражениях }
...

Попробуй теперь то же самое сделать с процедурой...

Автор: AnTiDoD 3.12.2006 19:00

Твой код отказался работать nea.gif
вот вроде так работает


program FunProc;
Function F:real;
var
F:real;
begin
F := sqrt(10);
end;
Begin
writeln('Функция и процедура');
writeln(F);
readln;
end.

.
А процедура вообще отказывается так компилироваться))
Теперь более менее понятно... еще бы пример с процедурой.

Автор: Vardes 4.12.2006 3:22

Код

Procedure Sum(A,B:real);
var Y:real;
begin
Y:=A+B;
end;
var
K,L:real;
Begin
K:=10;
L:=5;
Sum(K,L);
end.

Здесь значения K и L войдут в процедуру как значения A и B.Для того,чтоб разъяснить в чём разница,процедура не имеет значения,а функция имеет(ну как в математике).Если бы мы использовали функцию,то мы записали бы так
Цитата

......
Function Y(A,B:real):real;
begin
Y:=A+B:
end;

Автор: volvo 4.12.2006 3:28

Vardes, и что? Где результат работы процедуры?

Автор: Vardes 4.12.2006 22:13

Volvo,смотри наверх....ты всё поймёшь,я верю в тебя))))