Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO PASCAL.doc
Скачиваний:
41
Добавлен:
09.06.2015
Размер:
948.74 Кб
Скачать

Список_переменных: тип

В этой конструкции имеются некоторые особенности, которые я перечислю:

  1. Список переменных-параметров может отсутствовать - в том случае, если подпрограмме они не требуется:

Procedure Add;

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

Procedure Add(A,B: Integer; C: Word; B: Boolean; S: String);

После того, как вы описали имя процедуры и список ее параметров, можно начинать создание самой процедуры. При этом не забывайте - процедура это маленькая программа, по своим свойствам не отличающаяся от основной. В приведенном примере вы видите, что она имеет свой раздел var, свою конструкцию begin - end. Итак, подведя итоги составим шаблон оформления процедуры, которым вы можете пользоваться, пока не запомните ее синтаксис.

Оформление процедуры

Procedure имя_процедуры (список_параметров: тип);

const

список_констант_процедуры;

var

список_переменных_процедуры: тип;

begin

... тело_процедуры ...

end;

Как видите, все очень просто. Теперь давайте посмортим, как можно написать функцию. Для этого модифицируем нашу программу и поставим задачу следующим образом:

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

Составление функций

При написании функции прежде всего стоит вспомнить ее назначение - возвращение от своей работы каких-либо значений. В наше случае - это будет сумма двух чисел, передаваемых как параметры. Что касается параметров - здесь все свойства те же, что и у процедур. Основное отличие функций от процедур - это служебное слово Function, которое идет вместо слова Procedure и возвращение функцией значения.

Последнее реализуется путем простого присваивания какого-нибудь значения самому имени функции. Модифицируем написанную выше программу:

Program P2;

uses Crt;

Function Add(a, b: Integer): Integer;

var

C: Integer;

begin

Add := A + B;

end;

var

N1, N2: Integer;

C: Char;

begin

repeat

{ Очищаем экран }

ClrScr;

{ Читаем переменные }

Write('Введите число N1: ');

Readln(N1);

Write('Введите число N2: ');

Readln(N2);

Writeln;

{ Вызываем нашу процедуру }

Write(Add(N1, N2));

{ Спрашиваем - Выйти? }

Writeln;

Write('Выйти? (Y/N): ');

Readln(C);

until UpCase(C) = 'Y';

end.

Обратите внимание на три главных момента в использовании функций.

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

2. Возвращаемое значение задается простым присваиванием значения имени функции внутри ее.

3. Как и стандартные функции Паскаля, собственные могут быть использованы внутри процедур:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]