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.


 

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

58898. Океани Землі 49.5 KB
  Мета: продовжувати формувати уявлення про поверхню Землі, її зображення на карті, уміння читати карту і працювати з нею, сформувати уявлення про океани Землі; розвивати пізнавальний інтерес, висвітлити значення океанів та використання їх багатств людиною...
58899. Управление карьерой молодых специалистов на Красноярской дистанции электроснабжения 604.5 KB
  Изучить научную литературу отечественных и зарубежных авторов по проблемам управления карьерой молодых специалистов; дать общую характеристику изучаемому объекту, проследить его основные производственно-финансовые показатели; проанализировать состояние работы по управлению карьерой молодых специалистов на Красноярской дистанции электроснабжения...
58900. Зона мішаних лісів на території України 90.5 KB
  Хто здогадався чому на нас сипнув такий сніжок Це тема уроку. Щоб ви хотіли дізнатися про зону мішаних лісів Чи потрібно нам вивчати цю тему Дівчинка співає строфу пісні. А тепер детальніше зупинимось на зоні мішаних лісів.
58901. Закріплення знань про прислівник 38 KB
  Робота в групах на картках Визначити спосіб творення прислівників: забагато нещиро понашому рановранці заново Смачнесенько Отже прислівники утворюються за допомогою префіксального...
58902. Складнопідрядні речення з кількома підрядними 43 KB
  Мета: створити умови для ознайомлення із складнопідрядними реченнями з кількома підрядними; дати поняття про послідовну однорідну і неоднорідну підрядність; формувати вміння визначати вид підрядно сті; сприяти розвитку логічного мислення уваги...
58903. Оценка привлекательности новых сегментов смежной деятельности компании «Строймеханизация» и разработка стратегии конкурентоспособного выхода на них 836.5 KB
  Целью данного исследовательского проекта является создание диверсификационной стратегии развития компании «Строймеханизация» через поиск, изучение и оценку новых или смежных сегментов рынка, которые могли бы позволить Компании, оптимально используя имеющиеся административные
58904. ВИХОВНА ГОДИНА. СИМВОЛИ РІДНОЇ БАТЬКІВЩИНИ 199.5 KB
  Юнак Тризуб можна зустріти і на цеглинах підмурків Десятинної церкви у Києві і на плитах Успенської церкви у Володимир-Волинському що збудована в другій половині XI століття.