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.


 

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

2198. Основы технологии машиностроения 1.22 MB
  Характеристики машиностроительных производств. Средства выполнения технологических процессов. Требования к оформлению иллюстраций технологического процесса. Погрешность установки детали в приспособлении. Качественная оценка технологичности конструкции детали (изделия).
2199. Сравнительное изучение ВАХ полупроводникового диода и диода Шоттки 200.49 KB
  Цель работы: измерение в широком интервале токов вольтамперных характеристик полупроводникового диода и диода Шоттки и определение по ним токов насыщения и коэффициентов неидеальности.
2200. Теплопередача через многослойную цилиндрическую стенку 223.07 KB
  Конвективная теплоотдача от газов, лучистая теплоотдача от газов к стенке. Конвективная теплоотдача к воде. Теплопередача через многослойную цилиндрическую стенку.
2201. Решение задач по кузнецову 84.72 MB
  Понятия числовой последовательности и ее предела. Понятие предела функции в точке. Понятие функции, ограниченной в окрестности точки. Теорема об ограниченности функции, имеющей предел. Понятие непрерывности функции. Доказать непрерывность функции cos x. Теорема об отношении бесконечно малой функции к функции, имеющей предел, отличный от нуля. Понятие бесконечно большой функции. Теоремы о связи бесконечно больших функций с бесконечно малыми.
2202. Измерение микротвердости покрытий и тонких слоев материала 379.18 KB
  Ознакомиться с конструкцией и работой прибора ПМТ-3. Освоить методику измерения микротвердости различных объектов.
2203. Экономическая теория, ее основные показатели 2.93 MB
  Потребности общества и факторы производства. Ограниченность ресурсов. Кривая производственных возможностей. Альтернативные издержки. Закон убывающей эффективности. Развитие технологических способов производства. Исторические формы организации производства. Научно-технический потенциал. Новая техника и технология. Уровни организации экономической системы.
2204. Защита территории от затопления 541.9 KB
  Технология строительства нагорного канала механизированным способом. Закрепление откосов канала растительным грунтом. Выбор машин для вскрышных работ и разработки и транспортировки грунта. Сводный укрупненный план организации строительства. Охрана природы и окружающей среды в период проведения работ.
2205. Определение эквивалента металла объединённым методом 22.34 KB
  Определить эквивалент металла. Определить металл. Определить ошибку опыта.
2206. Управление в биомедицинских системах 831.22 KB
  Основные принципы управления. Управление по отклонению (принцип обратной связи). Характеристика компаундирования. Математическое описание систем управления. Линейные детерминированные системы. Правила преобразования структурных схем.