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.


 

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

54410. Материки Південної півкулі Австралія, Південна Америка і Антарктида 73.5 KB
  Мета: Дати учням установку на вивчення нової теми, познайомити з структурною моделлю модуля, з самостійною роботою по вивченню нового матеріалу,сприяти розвитку комунікативної компетентності. Дати учням загальну уяву про природу материків Південної півкулі: Австралія, Південна Америка, Антарктида.
54411. Підсумкова контрольна робота з математики тестового характеру 168 KB
  Мета оцінювання: Встановити відповідність рівня навчальних досягнень учнів 1 класу з математики за навчальний рік Програмовим вимогам.
54412. Основні закономірності спадковості та мінливості 274 KB
  Менделя виступаючи в ролі біографа. Але промова Менделя пролунала для сучасників як промова інопланетного прибульця. Лише в 1900 році знову відкрили закони Менделя. Менделя через 35 років після їі появи на світ та відкрив самого г.
54413. Лікарські рослини у житті людини. Збирання і заготівля лікарських рослин 79.5 KB
  Мета: розширити знання учнів про лікарські рослини їх значення в житті людини формувати в учнів вміння і навички збору лікарських рослин їх зберігання. Обладнання: таблиці; гербарні екземпляри різних лікарських рослин дидактичний матеріал книги: Травы дарующие здоровье лікарські трави. Основні терміни і поняття: лікарські рослини фармакологія хімікофармацевтична промисловість.
54414. ВИКОРИСТАННЯ МУЛЬТИМЕДІЙНИХ ЗАСОБІВ НАВЧАННЯ НА УРОКАХ ФІЗИКИ 946 KB
  Мета: навчити використанню операторів циклу при опрацюванні результатів лабораторної роботи Визначення модуля пружності гуми; розвити навики роботи у середовищі Turbo Pscl; виробляти вміння узагальнювати вивчений матеріал; виховувати в учнів уважність та відповідальність при виконанні завдань. Організаційний момент Викреслення мети основних завдань уроку ознайомлення з обладнанням необхідним для проведення лабораторної роботи та опрацювання результатів вимірювань. Виконання лабораторної роботи. Для виконання лабораторної...
54415. Модульное обучение на уроках химии 38.5 KB
  Она позволяет одновременно оптимизировать учебный процесс обеспечить его целостность в реализации целей обучения развития познавательной и личностной сферы учащихся. Данная технология основывается на самостоятельном добывании школьниками знаний в процессе работы с учебной научнопопулярной и справочной литературой в результате обучения. Важным достоинством данной технологии обучения является ее интеграционное качество ибо модуль как целостное единство содержания и технологии его изучения реализуется через комплекс технологий...
54416. Мохоподібні: будова, різноманітність, значення в природі та житті людини 1.32 MB
  Навчальна: ознайомити учнів з характерними рисами мохоподібних, особливостями розмноження, їхнім значенням у природі та господарстві людини. Розвиваюча: розвивати логічне та біологічне мислення, вміння працювати з дидактичним матеріалом, малюнками, схемами, таблицями, аналізувати спостереження та робити висновки. Виховна: сприяти формуванню основних уявлень про наукове пізнання світу, розвитку інтересу до вивчення природи; виховувати в учнів уміння слухати, культуру мови та спілкування.
54417. Молодь за здорове майбутнє. Виховний захід 41 KB
  Епіграф: Немає друга рівного здоровю; Немає ворога рівного хворобі Давньоіндійське прислівя Обладнання: компютер мультимедійний проектор екран плакати з написами Хід заходу Вихователь. Люди кажуть один одному при зустрічі: Доброго Вам здоровя. Вони бажають один одному здоровя.
54418. ІННОВАЦІЙНІ ТЕХНОЛОГІЇ ВИЯВЛЕННЯ, НАВЧАННЯ І ПІДТРИМКИ РОЗВИТКУ ОБДАРОВАНОЇ МОЛОДІ 367 KB
  Профільне навчання в сучасній школі як технологічне рішення по створенню розвивального середовища для обдарованої молоді. Теоретичний аналіз світового досвіду профільної диференціації навчання.Сутність мета і принципи профільного навчання.