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.


 

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

32859. РУССКАЯ ФИЛОСОФИЯ: КИРЕЕВСКИЙ, ХОМЯКОВ, ГЕРЦЕН, ЧЕРНЫШЕВСКИЙ, ЛЕОНТЬЕВ, ДАНИЛЕВСКИЙ, ЛЕНИН, ФЛОРЕНСКИЙ 45.31 KB
  Ее феноменальность заключается в том что русская философия развивалась исключительно автономно самостоятельно независимо от европейской и мировой философии не находилась под влиянием многочисленных философских направлений Запада эмпиризма рационализма идеализма и др. Характерными чертами русской философии являются: сильная подверженность религиозному влиянию особенно православию и язычеству; специфическая форма выражения философских мыслей художественное творчество литературная критика публицистика искусство эзопов язык что...
32860. МАТЕРИАЛИЗМ И ИДЕАЛИЗМ. АГНОСТИЦИЗМ. МАТЕРИЯ И ДВИЖЕНИЕ. ИЗМЕНЕНИЕ И ПОКОЙ. (ОПРЕДЕЛЕНИЯ.) ФОРМАЛЬНАЯ ЛОГИКА. ДИАЛЕКТИКА И МЕТАФИЗИКА 35.77 KB
  В истории философии М. появляются вместе с возникновением философии в рабовладельческих обвах древн. Выступая в качестве идеологов прогрессивной в то время буржуазии материалисты вели борьбу со средневековой схоластикой и церковными авторитетами обращались к опыту как учителю и к природе как объекту философии. этой эпохи было стремление к анализу к разделению природы на более или менее обособленные не связанные друг с другом области и объекты исследования и рассмотрение их вне развития среди представителей материалистической философии...
32861. ПРОБЛЕМА ПОЗНАНИЯ. СТУПЕНИ ПОЗНАНИЯ: ЧУВСТВЕННОЕ И РАЦИОНАЛЬНОЕ, ЭМПИРИЧЕСКОЕ И ТЕОРЕТИЧЕСКОЕ. СЕНСУАЛИЗМ И РАЦИОНАЛИЗМ. ПРОБЛЕМА ИСТИНЫ. АГНОСТИЦИЗМ 23.5 KB
  ПРОБЛЕМА ИСТИНЫ. Таким образом лишь в единстве чувственного отражения и рационального познания эмпирического и теоретического познания реальный путь к постижению истины. Проблема истины в познании Следующая важнейшая проблема в познании это проблема истины. Такое понимание истины было продолжено и материалистами Нового времени.
32862. СОЗНАНИЕ И ЧЕЛОВЕК. ГИЛОЗОИЗМ, ПАНПСИХИЗМ. РЕДУКЦИОНИЗМ, ФИЗИКАЛИЗМ, МЕХАНИЦИЗМ 23.23 KB
  Проблема сознания в философии Признание в материализме материи в качестве субстанции сразу же ставит проблему объяснения сознания его происхождения и сущности. Но в дальнейшем было осознано качественное отличие явлений сознания от материальных вещей. Это отличие состоит в невещественности идеальности сознания. Как же решается проблема сознания Уже в древности существовало представление о самостоятельном существовании души.
32863. ГЕОГРАФИЧЕСКАЯ СРЕДА В РАЗВИТИИ ОБЩЕСТВА. ГЕОГРАФИЧЕСКОЕ НАПРАВЛЕНИЕ В ОБЩЕСТВОВЕДЕНИИ 48.5 KB
  Это положение правильно до возникновения экологического кризиса: в нем противопоставление природы и общества превращающее общественный организм только в социальный. Биосфера это часть природы оболочка Земли в которую входят живые организмы жизнь и неживое вещество преобразуемое потребляемое и охватываемое жизнью. Географическая среда обществ это часть природы с которой данное общество взаимодействует. Единство и борьба природы и человечества сопровождается с одной стороны воздействием природы на общество а с другой стороны ...
32864. МАТЕРИАЛЬНОЕ ПРОИЗВОДСТВО. ТРУД. ПРОИЗВОДИТЕЛЬНЫЕ СИЛЫ. ТЕХНОЛОГИЧЕСКИЙ СПОСОБ ТРУДА. ТЕХНОЛОГИЧЕСКОЕ НАПРАВЛЕНИЕ В ОБЩЕСТВОВЕДЕНИИ 81 KB
  Ключевым при изучении экономической жизни общества является анализ материального производства ибо общество не может существовать без производства необходимых для жизни людей материальных благ. Говоря о материальном производстве необходимо учитывать следующие моменты: Нередко в философской и экономической литературе понятие материального производства отождествляется с понятием общественного производства. Поскольку материальное производство является не только важнейшей но и определяющей сферой совокупного общественного производства то в...
32865. ПРОИЗВОДСТВЕННЫЕ ОТНОШЕНИЯ. СОЦИАЛЬНАЯ ЗАКОНОМЕРНОСТЬ. ФАТАЛИЗМ И ВОЛЮНТАРИЗМ 51.5 KB
  ПРОИЗВОДСТВЕННЫЕ ОТНОШЕНИЯ. Производственные отношения совокупность материальных экономических отношений между людьми в процессе общественного производства и движения общественного продукта от производства до потребления. Производственные отношения являются необходимой стороной общественного производства. В производстве люди вступают в отношения не только к природе.
32866. ОБЩЕСТВЕННО-ЭКОНОМИЧЕСКАЯ ФОРМАЦИЯ И ЦИВИЛИЗАЦИЯ 46.5 KB
  Такое понимание цивилизации мы встречаем у Л. В этом смысле говорят об античной цивилизации цивилизации инков и т. Для того чтобы определиться с понятием цивилизации необходимо очевидно предварительно проанализировать ее наиболее существенные черты. Разумеется речь идет не об инфраструктуре свойственной современной волне цивилизации но к концу варварства прыжок от родоплеменной изолированности уже был совершен.
32867. СОЦИАЛЬНАЯ СТРУКТУРА. КЛАССЫ И КЛАССОВАЯ БОРЬБА. ИНТЕЛЛИГЕНЦИЯ 58.5 KB
  Есть два различных подхода к определению интеллигенции. Но есть и иной подход наиболее популярный в русской социальной философии согласно которому к интеллигенции причисляют тех кого можно считать нравственным эталоном общества. Предпосылкой появления Интеллигенции в её первичных формах было отделение умственного труда от физического когда рядом с огромным большинством занятым исключительно физической работой образовались социальные группы освобожденные от прямого производительного труда и руководящие общественными делами в том числе...