КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Процедура впорядкування
Приклад 15.1. Приклад Приклади виклику процедури Контроль правил виклику Заголовок процедури Заголовок процедури має вигляд Procedure Імя (формальні параметри); Наприклад, Procedure Power (х,y: real); Параметр-значення та параметр-змінна Будь-який з формальних параметрів може бути або параметром-значенням, або параметром-змінною. Якщо будь-які параметри визначаються як параметри-змінні, перед ними необхідно ставити зарезервоване слово VAR, наприклад: тут параметр x - параметр-змінна, a y - параметр-значення. Відмінності використання параметра-змінної від параметра-значення Якщо формальний параметр оголо-шений як параметр-змінна, то при виклику підпрограми йому повинен відповідати фактичний параметр у вигляді змінної потрібного типу. Відмінності використання параметра-змінної від параметра-значення Якщо формальний параметр оголошений як параметр-значення, то при виклику підпрограми йому може відповідати вираз типу однакового з типом формального параметра. Контроль за неухильним дотри-манням правил виклику параметра-змінної та параметра-значення, здійснюється компілятором Турбо-Паскаля. Procedure Power (var х: real; y: real); Power (d,5.6); вірно Power (d,z); вірно Power (187,5.6); невірно при третьому зверненні до процедури компілятор вказав би на невідповідність типу фактичних і формальних параметрів (параметр- х є вираз, в той час як відповідний йому формальний параметр описаний як параметр-змінна). У програмі задаються два цілих числа 5 та 7 і ці числа передаються у процедуру DOD2, в якій вони подвоюються. Один з параметрів передається як параметр-змінна, інший – як параметр-значення. Значення параметрів до і після виклику процедури,а також результат їх подвоєння виводяться на екран. PROGRAM Test_Of_Parameters; Const a: integer = 5; b: integer =7; PROCEDURE DOD2 (var a: integer;b: integer); begin {IDOD2} a:= a + a; b:= b + b; writeln('Double:', a:5, b:5); end { DOD2}; BEGIN {main} writeln('Digit:', a:5, b:5); DOD2 (a,b); write1n('Result:', a:5, b:5); END {main}. На екран буде виведений такий результат Digit: 5 7 Double: 10 14 Result: 10 7 Задано одновимірний масив, що складається з 10 елементів. Впорядкувати елементи масиву по зростанню значень його елементів.
Розділ об’яв програми program vporjadkuvannja_massivu; const n=10; type vect=array [1..10] of integer; var: a,c:vect; d,r:integer; S,T:text; procedure par2(var b:vect;n:integer); var t1, i, j, p: integer; begin writeln(t); writeln (t,'print parameter procedure'); for i:=1 to n do begin t1:=b[i]; for j:=i to n do if t1>=b[j] then begin t1:=b[j]; p:=j; end; b[p]:=b[i]; b[i]:=t1; Write (t,' b[',i,']=',b[i]);end; writeln(t); end;{end of procedure} Розділ інструкцій begin assign(S,'upordat.pas');reset(S); assign(T,'uporrez.pas');rewrite(T); writeln(t,'main program mas_a'); for r:=1 to n do begin read (s,a[r]);write(t,' a[',r,']=',a[r]:2);end; par2(a,n); writeln(t); writeln(t,'Print in program1'); for r:=1 to n do write(t,' a[',r,']=',a[r]:3);writeln(t); writeln(t,'main program mas_c'); for r:=1 to n do begin read (s,c[r]); write(t,' c[',r,']=',c[r]:3); end; par2(c,n); writeln(t); writeln(t,'Print in program2'); for r:=1 to n do write(t,' c[',r,']=',c[r]:3); close(t); end. Результат: main program mas_a a[1]= 1 a[2]= 4 a[3]= 7 a[4]= 5 a[5]= 9 a[6]= 8 a[7]=10 a[8]=11 a[9]= 3 a[10]= 2 print parameter procedure b[1]=1 b[2]=2 b[3]=3 b[4]=4 b[5]=5 b[6]=7 b[7]=8 b[8]=9 b[9]=10 b[10]=11 Print in program1 а[1]= 1 a[2]= 2 a[3]= 3 a[4]= 4 a[5]= 5 a[6]= 7 a[7]= 8 a[8]= 9 a[9]= 10 a[10]= 11 main program mas_c c[1]= 12 c[2]= 17 c[3]= 19 c[4]= 13 c[5]= 15 c[6]= 14 c[7]= 18 c[8]= 20 c[9]= 21 c[10]= 22 print parameter procedure b[1]=12 b[2]=13 b[3]=14 b[4]=15 b[5]=17 b[6]=18 b[7]=19 b[8]=20 b[9]=21 b[10]=22 Print in program2 c[1]=12 c[2]=13 c[3]=14 c[4]=15 c[5]=17 c[6]=18 c[7]=19 c[8]=20 c[9]=21 c[10]=22
Дата добавления: 2014-01-07; Просмотров: 256; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |