Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сравнение синтаксиса команд Pascal и С.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
899 Кб
Скачать
☆

1.5 Пользовательские процедуры и функции

Часто в программе приходится повторять одни и те же действия. Или же для облегчения восприятия и отладки программы есть необходимость структурировать программу, оформив какую-нибудь часть, выполняющую конкретное законченное действие, в виде отдельной подпрограммы.

В языке Pascal существуют понятия процедур и функций. Они отличаются друг от друга тем, что функция возвращает какое-либо значение, а процедура нет. На языке C++ процедур нет – только функции. Однако функция может и не возвращать значение, тем самым она выполняет роль процедуры.

Объявление на языке Pascal процедур:

procedure <Имя функции> (передаваемые параметры);

begin

// тело процедуры

end;

Или с объявлением локальных переменных и констант

procedure <Имя функции> (передаваемые параметры);

const

// объявление локальных констант

var

// объявление локальных переменных

begin

// тело процедуры

end;

Необходимо отметить, что объявленные переменные в скобках в качестве передаваемых параметров сами по себе являются локальными относительно данной процедуры.

Объявление функции:

function <Имя функции> (передаваемые параметры):<тип возвращаемых данных>;

begin

// тело функции

<имя функции> := <что возвращать>;

end;

Или с объявлением локальных переменных и констант

function <Имя функции> (передаваемые параметры):<тип возвращаемых данных>;

const

// объявление локальных констант

var

// объявление локальных переменных

begin

// тело функции

<имя функции> := <что возвращать>;

end;

На языке С++ объявление функций:

<тип возвращаемых данных> <имя функции> (передаваемые параметры)

{

// тело функции

return <что возвращать>;

};

Если отсутствуют возвращаемые данные, то впереди имени функции следует поставить слово void. Аналогично, если передаваемые данные отсутствуют, то необходимо в скобках указать (void).

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

Пример:

Разработать функцию, которая бы делала арифметические действия над тремя числами, два из которых являются целыми, одно – десятичной дробью.

На языке Pascal:

function MyFun (A:integer; B:integer; C:real):real;

begin

MyFun := (A+B)*C;

end;

Пример вызова функции из обработчика события OnClick:

procedure TForm1.Button1Click(Sender: TObject);

var

N1:Integer; // объявление локальной переменной

N2:Integer; // объявление локальной переменной

N3:Real; // объявление локальной переменной

begin

N1:=StrToInt(Edit1.Text); // определение значения N1

N2:=StrToInt(Edit2.Text); // определение значения N2

N3:=StrToFloat(Edit3.Text); // определение значения N3

// вызов функции MyFun и вывод результата в Edit3

Edit3.Text := FloatToStr(MyFun(N1,N2,N3));

end;

На языке C++

float MyFun (int A, int B, float C)

{

return (A+B)*C;

};

Пример вызова: