36567

Параметры-процедуры и параметры-функции. Процедурный тип

Контрольная

Информатика, кибернетика и программирование

Описание процедурных типов имеет форму заголовка процедуры или функции с опущенным её именем: type имя процедурытипа = procedure список формальных параметров ; type имя функциитипа = function список формальных параметров : тип ; Например: type fun =function x:rel:rel; При описании подпрограммы с процедурными параметрами такие параметры указываются формальным именем и соответствующим процедурным типом. Пример процедуры использующей описанный выше процедурный тип fun: procedure print_f n:byte; f:fun; const count = 20; vr X:rel;...

Русский

2013-09-22

30.5 KB

4 чел.

Параметры-процедуры и параметры-функции. Процедурный тип.

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

Процедурный тип - тип, представляющий семейство процедур или функций для их использования в программе. Как и любой тип Турбо Паскаля, процедурный тип должен быть описан, а затем может быть использован для работы с переменными процедурного типа (или константами). Описание процедурных типов имеет форму заголовка процедуры (или функции) с опущенным её именем:

type < имя процедуры-типа> = procedure ( <список формальных параметров>);

type < имя функции-типа> = function( <список формальных параметров>):<тип>;

Например: type fun =function (x:real):real;

При описании подпрограммы с процедурными параметрами такие параметры указываются формальным именем и соответствующим процедурным типом.

Пример процедуры, использующей описанный выше процедурный тип fun:

procedure print_f (n:byte; f:fun);

const count = 20;

var X:real; j:integer;

begin window(n, 1, n+20, 25);

for j:=1 to count do begin X:=j*(2*pi/count);writeln(X:5:3, f(x):5:5) end

end {print_f};

В программе, где описаны процедурные типы, могут быть объявлены переменные этих типов, которым можно присваивать имена соответствующих подпрограмм, описанных в данной программе, либо эти имена можно использовать как константы при вызове подпрограмм с процедурными параметрами. Стандартные процедуры и функции нельзя непосредственно передавать таким способом, но их можно "подменить" подпрограммами с другими именами, как показано в следующем примере программы на Турбо Паскале:

program grid_functions; { Печать таблицы значений 2-х функций }

uses CRT;

type fun =function (x:real):real;

function sint(x:real):real; {функция sin(x) }

begin sint:=sin(x)

end {sint};

function expcos(x:real); {функция (cos(x)+1)*exp(-x)}

begin expcos:= (cos(x)+1)*exp(-x)

end {expcos};

procedure print_f (n:byte; f:fun); { печать значений функции f}

const count = 20;

var X:real; j:integer;

begin window(n, 1, n+20, 25);

for j:=1 to count do begin X:=j*(2*pi/count);writeln(X:5:3, f(x):5:5) end

end {print_f};

BEGIN { Основная программа } ClrScr;

print_f(1, sint); writeln;

print_f(30, expcos);writeln

END { grid_functions}.

Задача 4.2.6(5)

program alex5;

const n=4;

type mas=array[1..n,1..n]of integer;

var a:mas;

i,j,m:integer;

procedure proc(x:mas;k:integer;var l:integer);

var i:integer;

begin

l:=0;

for i:=1 to n do

if x[i,k]=0 then l:=l+1;

end;

begin

for i:=1 to n do

for j:=1 to n do

read(a[i,j]);

for j:=1 to n do

begin

proc(a,j,m);

if m>0 then for i:=1 to n do

writeln(a[i,j]);

end;

if m=0 then writeln('net stolbcov s nulami');

readln;

readln;

readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

38863. Влияние протравителя, систем обработки почвы и видов пара в севооборотах на пораженность зерновых культур болезнями 1014.5 KB
  Экологические требования к основной обработке почвы. В связи с этим целью научных исследований явилось изучение эффективности протравителя систем обработки почвы и видов пара в севооборотах в защите озимой ржи и яровой пшеницы от болезней вызываемых почвенными патогенами. Определить влияние протравителя систем обработки почвы и видов пара в севооборотах на урожайность и элементы ее структуры; 3. Наибольшие урожаи зерна получают на черноземах малопригодны заболоченные и тяжелые глинистые почвы Посыпанов Г.
38864. Гипсовые пазогребневые плиты 81.5 KB
  Плиты из неводостойкого гипсового вяжущего предназначены для устройства перегородок в зданиях различного назначения с сухим и нормальным режимом помещений по СНиП П379 а плиты из водостойких гипсовых вяжущих и с влажным режимом помещений. Плиты относятся к группе трудносгораемых материалов.
38867. Совершенствование управлением постоянными и переменными затратами при формировании финансовых результатов на предприятии СПК «Куяштыр» Аскинского района 1.04 MB
  Понятие затрат предприятия существенно различается в зависимости от их экономического назначения. Четкое разграничение затрат по их роли в процессе воспроизводства является определяющим моментом в теории и практической деятельности. Переменные и постоянные затраты это два основных типа издержек.
38868. Призначення, будова і принцип роботи приладу типу МТМ-РЭ-160 366 KB
  Управління технологічними процесами з використанням автоматичних засобів включає в себе виконання наступних основних задач: контроль параметрів процесів (температури, тиску в апаратах, складу і якості рідин і газів і т. д.); регулювання параметрів (підтримання їх у заданих значеннях)
38869. Изучение системно-характерологических отношений личности с разным уровнем готовности к риску 247 KB
  Техногенные прорывы плотин дамб шлюзов перемычек аварии на коммунальных системах жизнеобеспечения и предприятиях внезапное обрушение зданий сооружений аварии на энергетических системах пожары взрывы транспортные аварии аварии с выбросом радиоактивных химических и биологических веществ; 3 экологическиеизменение состояния суши атмосферы гидросферы и биосферы; 4 биологические инфекционные заболевания эпидемии нашествия насекомых и животных и 5 социального характеравойны революции региональные конфликты и т. По...
38870. Разработка однолинейной схемы электрической подстанции 561.5 KB
  Расчет параметров короткого замыкания. Расчет параметров цепи короткого замыкания необходим для дальнейшей проверки выбранных токоведущих частей и оборудования подстанции по режиму короткого замыкания на термическую и электродинамическую стойкость и для проверки чувствительности релейной защиты. Последствиями термического и электродинамического воздействия токов короткого замыкания могут быть: механическое разрушение сборных шин частей аппаратуры токоведущих частей генераторов и трансформаторов; перегрев и расплавление...