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.


 

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

64545. Появление евреев в России по итогам трёх разделов Польши. Курс самодержавья на разрушение их самоизоляции (1795-1855) 44.5 KB
  По поручению Павла Державин занимался изучением религиозного и общественного быта евреев. Евреи устроили в черте оседлости тайное израильское царство разделённое на кагальные округа с кагальными управлениями облечёнными деспотической властью на основе законов Талмуда.
64546. Великое княжество литовское и русское. Несостоявшийся проект объединения русских земель 18.39 KB
  Постепенно русский язык становится языком административным судебным; законодательные акты правительственные распоряжения составляются порусски; в самом Вильнюсе столице Литвы при дворе великих...
64547. Общение как вид социальных контактов 30.5 KB
  Виды общения по средствам: вербальное общение осуществляется посредством речи и является прерогативой человека. Оно предоставляет человеку широкие коммуникативные возможности и гораздо богаче всех видов и форм невербального общения хотя в жизни не может полностью его заменить...
64548. Сократ: жизнь, учение и метод 34 KB
  Жена Сократа Ксантиппа была известна своим сварливым характером; ее имя стало нарицательным для обозначения дурных сварливых жен. Поведение Сократа на суде отражено в платоновской Апологии Сократа.
64549. Искусственное и смешанное вскармливание детей первого года жизни. Методы проведения контроля и коррекции. Продукты питания 41.5 KB
  Необходимость такого докармливания возникает в случае если потребности ребенка в пищевых ингредиентах и калориях в силу тех или иных причин не могут удовлетворяться полностью только одним женским молоком а время для прикорма еще не наступило.
64550. Система национальных счетов 21.6 KB
  Система национальных счетов (СНС) — это система взаимоувязанных показателей, применяемая для описания и анализа макроэкономических процессов. Она дает сведения о всех стадиях экономического кругооборота — производстве и обмене...
64551. Дипломатические системы Древней Индии 32.5 KB
  Законы Ману были в этой редакции открыты англичанами в XVIII веке. Согласно индийскому преданию законы Ману божественного происхождения: относятся они к эпохе легендарного Ману считавшегося родоначальником арийцев.
64553. Понятие архитектуры вычислительной системы 50.86 KB
  В общем случае когда говорят об архитектуре фон Неймана подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных. В настоящее время фоннеймановской архитектурой называется организация ЭВМ при которой вычислительная машина состоит из...