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.


 

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

307. Значение Киевской Руси 91 KB
  Становление древнерусской духовной культуры отличалось значительным своеобразием. Она формировалась в результате синтеза славянской языческой культуры с культурой, доступ к которой открылся Руси с принятием христианства.
308. Положительные и отрицательные стороны клонирования 106.5 KB
  Разработанные методы клонирования животных пока еще далеко не совершенны. В процессе экспериментов наблюдается высокая смертность плодов и новорожденных. Идея клонирования Homo sapiens ставит перед человечеством такие проблемы, с какими оно прежде не сталкивалось.
309. Использование программы Поиск решения для решения транспортной задачи 89.5 KB
  Определить план транспортных перевозок так, чтобы стоимость перевозок была минимальной и при этом удовлетворялись все потребности пунктов потребления за счет запасов пунктов отправления.
310. Оценка экологической обстановки в городе Южный 48 KB
  Решающими факторами для построения порта Южный стали глубокая вода (поэтому море почти никогда не замерзает), а также наличие рядом железной дороги, через которую уголь поступает из Кузбасса в Европу.
311. Особливості видавничої діяльності 130 KB
  Видавнича діяльність та структура видавництва. Видавництво в умовах ринкової економіки. Штат та посадові обов’язки працівників. Робота коректора в процесі підготовки видавничого оригіналу. Редагування та підготовка статей до виходу.
312. Особенности теории права. Подзаконные НПА субъектов Федерации 135 KB
  Подзаконные НПА субъектов Федерации. Постановления главы субъекта. Удовлетворение интересов управомоченного лица путем непосредственного воздействия на вещь. Срок испытания при приеме на работу.
313. Проповедование евангельского учения 83.5 KB
  Внимание проповедника к собственным действиям. Притчи призваны были предостерегать учеников от разочарования и одновременно показать им, что их ожидает на поприще благовестия. что Бог ненавидит грех и карает его вечными муками.
314. Анальгетики 41.5 KB
  Общая характеристика анальгетиков. Наркотические анальгетики, их классификация. Отравление морфином и помощь при отравлении. Анальгезирующая активность при определенных видах болей.
315. Імітаційне моделювання використання УСІМ 44 KB
  Використання УСІМ клітчатого автомату мовою matlab. Концепція універсальної системи імітаційного моделювання. Даною УСІМ можливо реалізовувати моделі хвороб, розповсюдження слухів, і реалізовувати все що розповсюджується за допомогою спілкування.