Информатика -взгляд 2


Структурное программирование - часть 5


/p>

 

Процедуры

 

Бейсик

Паскаль

Си++

Заголовок процедуры

SUB имя (список_параметров)

procedure имя (список_параметров) ;

void имя(список_ параметров)

Тело

Последовательность операторов

begin

последовательность операторов

end;

{

последовательность операторов

};

Завершение

END SUB

нет

нет

 

Как функция возвращает значение

После того как функция рассчитала нужное значение, ей требуется явно вернуть его в вызывающую программу. Для этого может использоваться специальный оператор (return в Си++) или особая форма оператора присваивания, когда в левой части указывается имя функции, а справа — возвращаемое значение.

Далее приведены примеры функции, вычисляющей значение квадрата аргумента.

Бейсик:

FUNCTION SQR% (X AS INTEGER)

SQR% = X*X

END FUNCTION

 

Паскаль:

function SQR(X: integer): integer;

begin

SQR := X*X

end;

 

Си++:

int SQR(int x)

{

return x*x;

};

Формальные и фактические параметры

Во время создания подпрограммы заранее неизвестно, какие конкретно параметры она может и будет получать. Поэтому в качестве переменных, выступающих в роли ее аргументов в заголовке, могут использоваться произвольные допустимые названия, даже совпадающие с уже имеющимися. Компилятор все равно поймет, что это не одно и то же.

Параметры, которые указываются в заголовке подпрограммы, называются формальными. Они нужны только для описания тела подпрограммы. А параметры (конкретные значения), которые указываются в момент вызова подпрограммы, называются фактическими параметрами. При выполнении операторов подпрограммы формальные параметры как бы временно заменятся на фактические.

Пример.

int a, у;

а = 5;

у = SQR(a);

Программа вызывает функцию SQR() с одним фактическим параметром а. Внутри подпрограммы формальный параметр х получает значение переменной а и возводится в квадрат. Результат возвращается обратно в программу и присваивается переменной у.

 

Событийно-ориентированное программирование




Начало  Назад  Вперед



Книжный магазин