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.


 

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

36988. Розрахунок струмів КЗ в низьковольтній розподільній мережі 90 KB
  7 Розрахункова схема низьковольтної електричної мережі Початкове без врахування нагріву провідників значення періодичної складової струму КЗ 1.8 Схема заміщення для розрахунку струмів КЗ в низьковольтній мережі Активний опір кабельної лінії з врахуванням нагріву провідників при КЗ 1.
36989. Понятие и правовое значение принципов международного права 137.5 KB
  Основные принципы международного права являются универсальными и не включают отраслевых принципов; основные принципы международного права имеют характер общепризнанных; основные принципы международного права являются принципами jus cogens.
36990. Дослідження особливостей побудови діаграми класів 15.18 KB
  Завдання: Створити модель класів для описання неорієнтованих графів. Розширте діаграму класів з попереднього завдання додавши до неї відомості про розміщення вершин графу товщину та колір дуг. Створіть модель класів для опису орієнтованих графів.
36991. Основи роботи в середовищі MATLAB 255 KB
  Важливу роль у MTLB відіграють спеціалізовані групи програм пакети так звані Toolbox в яких зібрані функції для розвязування окремих класів задач наприклад PDE Toolbox Spline Toolbox та інші. Введення кожної команди виразу або функції повинно завершуватись натисненням клавіші Enter в результаті чого в командному вікні нижче введеної команди виводиться результат її виконання або інші повідомлення системи наприклад повідомлення про помилку. Вбудовані елементарні математичні функції В середовищі MTLB існує досить велика кількість...
36992. Знайомство з основними пристроями Photoshop 1.07 MB
  Створіть новий слой ShiftCtrlN. Примітка: для того щоб бачити координати курсору в області зображення у пікселях на панелі Info викликайте контекстне меню натиснувши на кнопку оберіть пункт меню Plette Options та в діалоговому меню Info Options змініть значення Rule Units на Pixels Продублюйте цей слой два рази. Для цього на панелі Lyers натисніть правою кнопкою миші по вашому слою та оберіть пункт контекстного меню Duplicte Lyer або перетягніть слой на значок Crete New Lyer. Виділіть слой натисніть CtrlT та вкажіть необхідний...
36993. Віддалена робота (OC Windows 2003 Server, OC Linux) 608.5 KB
  Rdmin одна з найкращих програм віддаленого адміністрування для платформи Windows яка дозволяє повноцінно працювати одразу на кількох віддалених компютерах за допомогою звичайного графічного інтерфейсу. Віддалене адміністрування Загальні завдання Підключення до іншого компютера за допомогою підключення до віддаленого робочого стола Підключення до робочого стола при ввімкнутому брандмауері Windows Використання служби Віддаленої допомоги Windows для надання допомоги в разі виникнення неполадок з компютером Надання службі...
36994. Методи видалення з води дисперсних біологічних домішок 131 KB
  Звичайно на руйнування бактеріальних клітин витрачається лише незначна частина хлору що вводиться в воду. Велика частина його йде на реакції з різними органічними і мінеральними домішками води що протікають з різною швидкістю. У залежності від концентрації хлору рН температури води й інших факторів вони можуть зупинятися на тій чи іншій стадії.
36995. Чисельне диференціювання 25.5 KB
  Чисельне диференціювання Задані похідна шуканої функції Fx та значення шуканої функції у певній точці F=x0. Необхідно побудувати графік функції Fx.2= Тестування бажано провести на: Fx = 2Fx x Fx = 2x Fx = sinx Метод РунгеКутта Аналогічно до попереднього методу задані похідна від шуканої функції y=Fx y та значення шуканої функції у початковій точці yx0=y0 Тоді обчислюємо за наступними формулами: k1=hFxn yn k2=hFxn2h 3 yn2h k1 yn1=ynk13k2 4.
36996. Приріст/ відємний приріст 186 KB
  На виконання цих команд витрачається один машинній цикл. Результат виконання операції записується в акумулятор. Завдання N Задача Дані 1 Написати програму виконання виразу над однобайтовими числами. b7EH Результат занести в ОЗУ за адресою [1b] =29 b=D 2 Написати програму виконання виразу над однобайтовими числами 2Hb результат занести у стек =43 b=F 3 Написати програму виконання виразу над однобайтовими числами.