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.


 

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

41842. Основные характеристики и испытание интегральных преобразователей кодов (дешифратора, шифратора, демультиплексора и мультиплексора) 457.22 KB
  На одном из m выходов дешифратора появляется логическая 1 а именно на том номер которого соответствует поданному на вход двоичному коду. На всех остальных выходах дешифратора выходные сигналы равны нулю. Условное изображение дешифратора 4х16 читаемого четыре в шестнадцать на схемах дано на рис.
41843. Изучение и анализ конструкций коробок передач транспортных автомобилей 81.94 KB
  Контрольные вопросы дайте классификацию коробкам передач назначение устройство и принцип работы двух и трехвальной механической коробки передач устройство и работа гидромеханической коробки передач конструктивные особенности различных видов коробок передач их преимущества и недостатки применяемые материалы для изготовления элементов и узлов коробок передач назначение устройство и работа синхронизаторов автомобилей ВАЗ и ЗиЛ каким образом предотвращают произвольное выключение передач каким образом предотвращают...
41845. Назначение и устройство узлов и агрегатов 209.85 KB
  Назначение и устройство узлов и агрегатов Топливный насос высокого давления предназначен для подачи к форсункам двигателя порций топлива под высоким давлением в определенной последовательности. На передней части топливного насоса высокого давления установлен всережимный регулятор который изменяя количество подаваемого топлива в зависимости от нагрузки поддерживает заданную водителем частоту вращения коленчатого вала двигателя. На заднем конце кулачкового вала насоса расположена муфта впрыска топлива...
41846. Поиск информации на государственных образовательных порталах 144.88 KB
  Поиск информации на государственных образовательных порталах Лит. Листов 8 Тема: Поиск информации на государственных образовательных порталах Цель: изучение информационной технологии организации поиска информации на государственных образовательных порталах. В таких службах используется обычный принцип поиска в неструктурированных документах по ключевым словам. Поисковая система это комплекс программ и мощных компьютеров способные принимать анализировать и обслуживать запросы пользователей по...
41847. ИССЛЕДОВАНИЕ ОПЕРАЦИОННЫХ УСИЛИТЕЛЕЙ И СХЕМ НА ЕГО ОСНОВЕ 119.73 KB
  Изучение принципов построения схем сумматора вычитающего устройства дифференцирующего устройства с использованием операционного усилителя. Рисунок 1 Схема электрическая принципиальная усилителя Рисунок 2 Осциллограмма суммирующего устройства. Uвх t Uвх t Рисунок 3 Осциллограмма вычитающего устройства. Uвх t Рисунок 4 Осциллограмма интегрирующего устройства.
41849. Основные характеристики и испытание интегрального цифрового компаратора 195.54 KB
  Для построения компаратора только на элементах ИНЕ запишем её в другой форме воспользовавшись формулой де Моргана Схема реализующая это выражение приведена на рис. Если необходимо чтобы при равенстве кодов на выходе компаратора была логическая 1 то к выходу схемы рис.ms10 или собрать на рабочем поле среды MS10 схему для испытания цифрового компаратора рис.
41850. Создание компьютерных публикаций на основе использования готовых шаблонов 711.14 KB
  Ход работы Publisher упрощает процесс создания публикаций предоставляя сотни профессиональных макетов для начала работы. Документ Publisher называется публикацией расширение в файловой системе . Запуск Publisher осуществляется по команде Пуск Программы Microsoft Office Microsoft Publisher 2007 щелчком мыши. Запустить программу Publisher После запуска приложения на экране появляется следующее окно.