Процедурный тип данных

Имена подпрограмм могут выступать в роли аргументов для других подпрограмм.

Описание

В разделе type процедурный тип данных задается одним из следующих способов:

<имя_типа> = function[(<список_параметров>)]:<тип_результата>;

или

<имя_типа> = procedure[(<список_параметров>)];

Например:

type func = function(a,b:integer):integer;

Аргументы

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

Например, для параметра, имеющего описанный выше тип func, аргументами могут послужить такие функции:

function min(a,b: integer): integer; far; begin if a>b then min:= b else min:= a end;

и

function max(a,b: integer): integer; far; begin if a<b then max:= b else max:= a end;

Вызов

Приведем пример подпрограммы, имеющей параметр процедурного типа:

procedure count(i,j:integer; f:func);var c: integer;begin... c:= f(i,j);...end;

Теперь, если будет осуществлен вызов count(x,y,min), то в локальную переменную с запишется минимум из x и y. Если же вызвана будет count(x,y,max), то в локальную переменную с запишется максимум из x и y.


Варианты заданий

Необходимо разработать алгоритм решения задачи согласно варианта, создать его блок-схему и реализовать разработанный алгоритм на языке Turbo Pascal 7.0.

1. Составить программу для определения пройдёт ли кирпич с рёбрами a,b,c в прямоугольное отверстие со сторонами x,y.

2. Даны вершины треугольника. Определить можно ли разместить этот треугольник в круге радиуса r.

3. Дано предложение. Расположить слова в нём в порядке возрастания числа букв в словах.

4. Дано предложение. Определить кол-во слов в нём.

5. Заполнить элементами таблицу, располагая их по спирали.

6. Данные контрольной работы учащихся по информатике представлены следующим образом:

"отлично" - кол-во учащихся a

"хорошо" - кол-во учащихся b

"удовлетворительно" - кол-во учащихся c

"неудовлетворительно" - кол-во учащихся d.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: