Назад Домой! Дальше Лекция 8. Процедурный тип.

Иногда возникает необходимость, чтобы подпрограмма выполняла разные, но однотипные, действия над данными. Пусть, например, нужно напечатать таблицу результатов одного из 4-х арифметических действий (+ - * /) над числами от 2 до 9 (таблица умножения, сложения, деления, вычитания). Для этого можно сочинить подпрограмму, которая имеет своими параметрами эти 2 числа и функцию от 2-х параметров. В зависимости от выбора пользователя эта подпрограмма выдаст любую из этих 4-х таблиц. Если мы научимся использовать и применим ПРОЦЕДУРНЫЙ тип.

Объявление подпрограммы совпадает с заголовком продпрограммы, за исключением того, что в объявлении (естественно) отсутствует имя подпрограммы. Это - объявление типа.

Примеры описания процедурных типов:

type
  Proc1 = procedure; {процедура без параметров}
  Proc2 = procedure (var x,y: Integer); {процедура с 2
            параметрами-переменными типа Integer}
  func1 = function (X:Real):Real; {функция с параметром-значением
        типа Real, возвращающая значение типа Real}
       { Далее можно объявить переменные такого типа: }

var P1: Proc1; P2,P4: Proc2; F1: func1;
  (* Далее можно описать конкретные подпрограммы
  (обязательно используя директиву far или {$F+}
   - применять дальние адреса) и присваисать их имена
  переменным процедурного типа. *)
Пример: Посмотрите: Программа использует процедуру с параметром процедурного типа, которая печатает таблицу тангенсов, затем - таблицу синусов от 0 до 90 град с шагом 15 град.

Назад Дальше
Rambler's Top100
Hosted by uCoz