Тема 8: Руководство и лидерство

Вызов

Аргументы

Описание

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

 

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

 

В разделе 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.

План:

1. Влияние и власть в организациях.

2. Специфика феномена лидерства.

3. Лидерство и руководство.

4. Стили лидерства и руководства.