36568

Особенности использования параметров в процедурах и функциях

Контрольная

Информатика, кибернетика и программирование

Это означает что нельзя использовать описание типа rry непосредственно в списке формальных параметров. Например: procedure sttem:rry [1.8] of byte; {Неправильное описание параметра m} type byte_st = rry [1. type rry10 = rry[0.

Русский

2013-09-22

30 KB

4 чел.

Особенности использования параметров в процедурах и функциях.

Параметры являются основным механизмом связи процедур и функций с вызывающей подпрограммой, поэтому важно иметь возможность использовать в качестве параметров широкий класс конструкций программы. Рассмотрим характерные особенности использования параметров в подпрограммах Турбо Паскаля, о которых полезно знать.

Параметры-массивы. При использовании массивов в качестве параметров необходимо учитывать одно ограничение при описании формальных параметров: типом любого формального параметра может быть только либо стандартный тип, либо тип, который объявлен ранее в вызывающей подпрограмме. Это означает, что нельзя использовать описание типа array непосредственно в списке формальных параметров. Например:

procedure state(m:array [1..8] of byte); {Неправильное описание параметра m}

type byte_st = array [1..8] of byte;

. . . .

procedure state(m:byte_st); {Правильное описание параметра m}

Это ограничение, конечно, справедливо и для строк. Для строк также важно, что объявленные длины формального и фактического строкового параметра-переменной должны совпадать (это ограничение, правда, можно обойти, если отключить контроль совпадения длин строк с помощью опции компилятора {$V-}).

Нетипизированные параметры-переменные. Формальный параметр-переменная может быть описан без указания типа. Такой параметр называется нетипизированным. Соответствующий ему фактический параметр может быть переменной любого типа.

Этот случай полезен, если тип данных несущественен, например, при копировании данных из одной области памяти в другую. Нетипизированные параметры можно использовать также для передачи в подпрограммы одномерных массивов переменной длины (до 64 КБайт).

Параметры - открытые массивы. В качестве параметров подпрограмм можно использовать открытые массивы, т.е. одномерные массивы, указываемые без описания их размера (а только с указанием типа элементов). Открытые массивы позволяют передавать как параметры статические массивы любого размера.

Пример: program ............

type array10 = array[0..9] of integer;

var vect:array10; res0,res:real;

.........

 procedure compute(x:array of real; var r:real);

begin { тело процедуры compute } ..... end;

BEGIN {раздел операторов основной программы}

.......................

compute( [1.0, 2.0, 4.0, 8.0, 16.0], res0);...... compute(vect, res);

................

END .

Задача 4.2.6(6)

program alex6;

type mas=array[1..4,1..5]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 4 do

if x[k,i]=0 then l:=l+1;

end;

begin

for i:=1 to 4 do

for j:=1 to 5 do

read(a[i,j]);

for i:=1 to 4 do

begin

proc(a,i,m);

if m>0 then for j:=1 to 5 do

write(a[i,j],' ');

end;

if m=0 then writeln('net stroki s nulami');

readln;

readln;

readln;

 end.


 

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

7580. Парламент - национальное собрание республики Беларусь 119 KB
  Парламент - национальное собрание республики Беларусь. Парламент в системе органов государственной власти Республики Беларусь. Структура и порядок формирования Национального собрания Республики Беларусь. Внутренняя организаци...
7581. Правительство - совет министров республики Беларусь 49 KB
  ТЕМА 11. Правительство - совет министров республики Беларусь. Правительство Республики Беларусь в системе органов государственной власти. Состав и порядок формирования Правительства Республики Беларусь. Компетенция Правительства ...
7582. Судебная власть в республике Беларусь 47.5 KB
  Судебная власть в республике Беларусь Понятие и природа судебной власти Конституционные принципы правосудия Состав и порядок формирования Конституционного Суда Республики Беларусь. Компетенция Конституционного Суда Ре...
7583. Местное управление и самоуправление в республике Беларусь 151.5 KB
  Местное управление и самоуправление в республике Беларусь. Понятие и принципы местного управления и самоуправления в Республике Беларусь. Органы местного управления: система, функции. Полномочия органов местного управления...
7584. Конституционно-правовые основы органов контроля и надзора в республике Беларусь 42 KB
  ТЕМА 14. Конституционно-правовые основы органов контроля и надзора в республике Беларусь. Конституционно-правовой статус прокуратуры Республики Беларусь. Конституционно-правовой статус Комитета государственного контроля Республики Беларусь...
7585. Конституционные основы финансово-кредитной системы республики Беларусь 25.5 KB
  ТЕМА 15. Конституционные основы финансово-кредитной системы республики Беларусь Раздел VII Конституции Республики Беларусь Финансово-кредитная система Республики Беларусь содержит нормы, относящиеся к бюджетной и банковской системе Республики Бела...
7586. Становлення та розвиток фінансової науки 78.5 KB
  Тема 3: Становлення та розвиток фінансової науки. Теорії державних фінансів англійської класичної політекономії. Концепція державних фінансів Дж.М. Кейнса. Теорії суспільного товару, суспільних благ...
7587. Предмет фінансової науки як пізнання сутності фінансів 119 KB
  Предмет фінансової науки як пізнання сутності фінансів Лекція 1. 1.Історична, економічна та вартісна сутність фінансів. Термін фінанси походить від латинського фінансіа, що перекладається як дохід, платіж. На думку одних вчених цей термін вини...
7588. Генезис і еволюція фінансів. 143 KB
  Тема: Генезис і еволюція фінансів. План: Зародження фінансових відносин у стародавньому світі. Фінанси феодальної держави. Фінанси феодального міста та їх вплив на формування і розвиток державних фінансів. Роль державних фіна...