Страница 1 из 1

Обьясните

Добавлено: 03 июн 2007, 23:54
PoTaP
доброго времени суток.
обьясните процедуры и функции в паскале, желательно на простеньких примерах.
ну не понимаю я их, а в особенности как и что прописыватьв них самих

Re: Обьясните

Добавлено: 04 июн 2007, 11:08
Лелик_1044
function Sum(x,y:integer):integer;
begin
result:=x+y;
// тут пардон не помню точно или result или return
end;

в любом месте программы вызыыаешь функцию
типо

Otvet:=Sum(5,3);

В результате чего Otvet будет равняться 8;

А вообще книги есть это ж азы программирования.

Re: Обьясните

Добавлено: 04 июн 2007, 17:23
BBB
Лелик писал(а):function Sum(x,y:integer):integer;
begin
result:=x+y;
// тут пардон не помню точно или result или return
end;
result - это дельфийная штучка. В ПАскале результат надо присваивать "псевдо-переменной" с именем самой функции:

Код: Выделить всё

function Sum(x,y:integer):integer;
begin
 Sum:=x+y;
end;

Re: Обьясните

Добавлено: 04 июн 2007, 22:28
Лелик_1044
давно на паскале не работал может быть и так
спорить не буду

Re: Обьясните

Добавлено: 06 июн 2007, 00:49
Колядин Максим
PoTaP писал(а):обьясните процедуры и функции в паскале, желательно на простеньких примерах.
В общем, процедура и функция - вещи почти одинаковые, только у функции есть результатирующее значение. Вот простенькие примеры использования.
1)Без функций:

Код: Выделить всё

var a,b: integer]
2)[I]C функцией:[/I]
[code]
var a,b: integer;

{после объявления переменных объявим функцию}

function sum(var x,y: integer)[b]:integer;[/B] 
{выделенный жирным шрифтом код означает,}
{что результат будет типом integer (целым числом)} 
sum:=x+y;
end;

{начало программы}

begin
write('Введите 2 числа: '); 
readln(a,b);
writeln('Cумма этих чисел = ',sum(a,b)); {здесь мы использовали функцию}
end.

Re: Обьясните

Добавлено: 06 июн 2007, 12:57
PoTaP
всем спасибо вроде начал понимать