Підпрограми (процедури і функції)
Завантажити презентаціюПрезентація по слайдам:
Підпрограмою – називається найменована логічно закінчена група вказівок, яку можна викликати для виконання довільну кількість раз з різних місць програми. Процедура – це незалежна найменована частина програми, призначена для виконання конкретних дій. Процедура складається із заголовка і тіла. Формат запису процедури: Procedure
Так, наприклад, програма знаходження об'єму конуса може містити декілька процедур: procedure InputDate; procedure Vkazivka; procedure OutputDate; procedure InputDate виконує введення даних в програму. procedure Vkazivka виконує вказівки для знаходження об'єму конуса. procedure OutputDate виконує виведення даних на дисплей. Наприклад. Задача. Скласти програму знаходження об'єму конуса. Program Vkonus; Const p=3.14; Var R,H,V:real; procedure InputDate; Begin write(‘r=’); Readln (R); write(‘h=’); Readln (H); end; procedure Vkazivka; Begin V:=p*sqr(R)*H/3; end; procedure OutputDate; Begin writeln (‘V=’,V); end; Begin {Основна програма} InputDate; Vkazivka; OutputDate; End.
У процедурі можна оголошувати константи, змінні, інші процедури та функції. Розділ опису в процедурах має таку саму структуру, як і в основній програмі. Оголошенні всередині процедури змінні називаються локальними по відношенню до даної процедури. Локальні змінні не можуть бути доступні поза межами даної процедури. Змінні, які використовуються в процедурі, але описанні поза нею, називаються глобальними по відношенню до даної процедури. Будь-які зміни глобальних змінних всередині процедури змінюють значення цих змінних поза процедурою. Program Lokalizacia; Var A,B:real; procedure Lokal; Var A,X:char; Begin A:=‘:’; X:=‘?’; B:=B+1; end; Begin {Основна програма} A:=0; B:=100; Lokal; Writeln (‘a=‘,A,’b+’,B); End.
Після заголовка процедури в круглих дужках можуть вказуватись змінні (з допомогою яких в процедуру передаються дані) і їх типи, які називаються параметрами-значеннями. Змінні, які описанні в заголовку процедури є формальними параметрами. Змінні або константи, які описанні у вказівці процедури є фактичними параметрами. Program Perrymetr; Var C,D:integer; procedure PARAM(A,B:integer); Var S:integer; Begin S:=0; S:=A+B; Writeln (‘s=’,S); end; Begin {Основна програма} C:=10; {1-й спосіб} D:=100; PARAM(C,D); PARAM(100,100); {2-й спосіб} End.
Для того, щоб процедура змогла змінювати значення фактичних параметрів, потрібно змінити спосіб передачі параметрів в процедуру. Цей спосіб називається передачею по імені (змінні називаються параметрами-змінними). Задача. Дано дві трійки чисел:A1,B1,C1,A2,B2,C2. Знайти значення сум: S1=min(A1,B1,C1)+min(A2,B2,C2) S2=max(A1,B1,C1)+max(A2,B2,C2) Program Priklad; Var A1,B1,C1,A2,B2,C2,MIN1,MAX1,MIN2,MAX2,S1,S2:real; Procedure MinMax(A,B,C:real; var MIN,MAX:real); Begin MAX:=A; If MAX
Якщо результатом виконання деякої процедури є одне скалярне значення, то цю процедуру бажано оформити як функцію. Формат опису функції: Function
Схожі презентації
Категорії