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.


 

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

20574. Українські партії на початку 20 ст., їх програми, стратегія, тактика 29.5 KB
  з ініціативи групи харківських активістів культурницького і студентського руху: Д. була створена Революційна українська партія РУП. фактичним керівником РУП став М. У 1902 р від РУП відкололася Українська народна партія УНП організація націоналістичного напрямку яку очолював Махновський.
20575. Україна в роки Першої світової війни 40.5 KB
  українців було в російській армії та 250 тис. До них слід долучити 25 тис. На її заклик відгукнулося майже ЗО тис. Головна Українська Рада вирішила спиратись на ці сили.
20576. Первісний лад на території України 61 KB
  Основними заняттями людини були збиральництво і полювання. Соціальною формою існування за раннього палеоліту виступало людське стадо, оскільки лише колективне буття давало можливість вижити у складних кліматичних і природних умовах. Жили люди того часу в печерах або хижах із дерева та кісток мамонта.
20577. Зовнішня політика УНР. Берестейській договір та його наслідки. У зовнішній політиці 26.5 KB
  Зовнішня політика УНР. У зовнішній політиці Директорії вдалося розширити міжнародні зв'язки УНР її визнали Угорщина Чехословаччина Голландія Італія. Не визнали УНР країни Антанти й відроджена Польща яка претендувала на Правобережну Україну. Не визнавши гетьманської адміністрації дипломати країн Антанти не збиралися визнавати й поновлену УНР.
20578. Гетьманський переворот. Павло Скоропадський. Гетьманський уряд та його політика 39 KB
  після того як держави Антанти навіть не відповіли на пропозицію про мирні переговори Раднарком Росії розпочав їх з Німеччиною та її союзниками. був прийнятий закон Про посольства 1 місії Української Держави. Основний акцент робився на професійній підготовці фаховому рівні принциповості та патріотизмі працівників зовнішньополітичного відомства Української Держави. Міністрами закордонних справ Української Держави гетьмана П.
20579. Доба Директорії УНР: її внутрішня і зовнішня політика 39 KB
  Доба Директорії УНР: її внутрішня і зовнішня політика Політичні помилки тяжке становище трудящих залежність від окупаційної влади поразка Німеччини та її союзників у війні стали причинами падіння гетьманської влади в листопаді 1918 року. Коновальця Директорія повела наступ на Київ і захопила його 14 грудня 1918 року Прийшовши до влади вона обіцяла знищити поміщицьке землеволодіння встановити трудову владу провести вибори до Конгресу трудового народу якому й належатиме влада. Винниченко на черговому з'їзді Української...
20580. Зх. Укр. землі в 1918 р. Утворення ЗУНР. Петрушевич 32 KB
  Утворення ЗУНР. Левицьким і виданий тимчасовий закон про державну самостійність українських земель колишньої АвстроУгорської імперії за яким усі вони входили до складу Західноукраїнської Народної Республіки ЗУНР. Уряд ЗУНР переїхав до Тернополя а пізніше до Станіславова. перша сесія Української Національної Ради у Станіславові проголосила об'єднання ЗУНР з УНР в єдину державу.
20581. Відновлення радянської влади в Україні в 1919р. Селянсько-повстанський рух. 1919 р 27.5 KB
  Згідно з декретом Тимчасового робітничоселянського уряду вона дістала назву Українська Соціалістична Радянська Республіка УСРР а сам уряд з переїздом до Харкова зазнав значних змін на чолі уряду за рекомендацією В. Юридичне оформлення радянської державності на теренах України відбулося 10 березня 1919 р коли III Всеукраїнський з'їзд рад Харків прийняв першу Конституцію УСРР. Центральним завданням цієї диктатури Основний Закон УСРР визначив здійснення переходу від буржуазного ладу до соціалізму після чого диктатура а слідом за...
20582. Утворення СРСР. Статус України в складі Радянського союзу 29.5 KB
  Утворення СРСР. Повернімося однак до періоду що передував створенню СРСР. 10 грудня на VII Всеукраїнському з'їзді Рад було схвалено Декларацію про утворення СРСР і проект основ Конституції СРСР. З'їзд звернувся до з'їздів Рад інших радянських республік з пропозицією невідкладно оформити створення СРСР.