36568

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

Контрольная

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

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

Русский

2013-09-22

30 KB

5 чел.

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

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

Параметры-массивы. При использовании массивов в качестве параметров необходимо учитывать одно ограничение при описании формальных параметров: типом любого формального параметра может быть только либо стандартный тип, либо тип, который объявлен ранее в вызывающей подпрограмме. Это означает, что нельзя использовать описание типа 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.


 

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

7156. Дисперсия в волоконных световодах 295 KB
  Дисперсия в волоконных световодах. В световодах при передачи импульсных сигналов после прохождения некоторого расстояния импульсы искажаются, расширяются и наступает момент, когда соседние импульсы перекрывают друг друга. Данное явление в теории све...
7157. Автоматизированные системы научных исследований 1015.5 KB
  Автоматизированные системы научных исследований. Некоторые сведения из математического анализа. Геометрический смысл производной...
7158. Отечественная история от возникновения Древнерусского государства до первой русской революции 187 KB
  Возникновение Древнерусского государства Нет точных сведений, когда было образовано Древнерусское государство. Источников информации не сохранилось. Единственный источник, который нам дает хоть какое-то представление о тех временах - Повесть...
7159. Тепловой расчёт парового котла ДЕ-25-14 ГМО 487.5 KB
  Общие сведения о котлах ДЕ 1..25. Газомазутные котлы ДЕ конструкции котельного завода г. Бийска и ЦКТИ предназначены для выработки насыщенного или слабо перегретого пара с абсолютным давлением 14 кгс/см2 или 24 кгс/см2, паропроизводительностью 1 4...
7160. Формы и виды инфляции, причины ее возникновения 172.43 KB
  Введение Деньги - один из основных феноменов экономической жизни выступают в качестве реальной связи хозяйствующих субъектов государства. Нет ничего удивительного в том, что теории денежного обращения посвящали свои труды, выдающиеся мыслители...
7161. Разработка цифровой интегральной микросхемы по заданным параметрам 476.5 KB
  Разработка цифровой интегральной микросхемы, 10-й вариант. Рисунок 1 Раздел 1. Электрический расчет цифровой схемы. При выполнении расчетов принимаем:  U0 = 0,1 B, U1 > 3 В, падение напряжения на д...
7162. Комплексная оценка состояния и уровня содержания автомобильной дороги 214.5 KB
  Комплексная оценка состояния и уровня содержания автомобильной дороги Вопросы оценки качества и уровня содержания автомобильных дорог играют решающее значение в области технической эксплуатации автомагистралей. Результаты такой оценки служа...
7163. Мехатронная система регулирования положения стрелы, которая должна обеспечить заданную точность угла регулирования 371 KB
  Введение Целью курсового проекта является расширение, углубление и закрепление знаний, полученных на лекциях и лабораторных занятиях по проектированию мехатронных систем, а результатом должна стать система регулирования положения заданного объекта....
7164. Изучение магнитного поля кругового тока 96.5 KB
  Изучение магнитного поля кругового тока 1. ЦЕЛЬ РАБОТЫ Целью данной работы является изучение магнитного поля на оси витка с током и экспериментальная проверка закона Био–Савара–Лапласа. 2. ОПИСАНИЕ УСТАНОВКИ И МЕТОДИКИ ЭКСПЕРИМЕНТА Экспери...