1. Процедури з параметрами-змінними Procedure < ІМЯ > ( Список параметрів ); Procedure Ploshad3 (var a, b, c, s: real); В основній програмі процедура визивається також з вказанням параметрів : < ІМЯ > ( Список параметрів ); Ploshad3 (AB, BC, AC, S);
2. Формальні параметри – це параметри, які вказані в дужках після імені процедури в розділі опису процедури і служать для опису порядку дій у процедурі. Фактичні параметри - це параметри, які вказуються в дужках при виклику процедури. Вони замінюють формальні параметри при виконанні програми.
3. program Prog3; uses CRT; var AB, BC, CD, DA, AC, S1, S2: real; Procedure Ploshad3(var a, b, c, s :real); var p:real; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Writeln('Задайте сторони 4-кутника ABCD і його діагональ AC'); readln (AB, BC, CD, DA, AC); Ploshad3(AB , BC , AC , S1); Ploshad3(DA, AC, CD, S2); Writeln ('Площа ABCD= ', S1+S2:8:2); readln; end. Формальні параметри Фактичні параметри
4. Процедури з параметрами-значеннями Procedure < ИМЯ > ( Список параметров ); Procedure Ploshad3 ( a, b, c: real; var s:real ); В основній програмі процедура викликається аналогічно: Ploshad3 (AB, BC, AC, S); Параметри-значення Параметри-змінні Параметри-значення використовуються для задання початкових параметрів значень в процедурі, Параметри-змінні для виводу результата.
5. program Prog4; uses CRT; var AB, BC, CD, DA, AC, S1, S2: real; Procedure Ploshad4( a, b, c: real; var s:real ); var p:real; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Clrscr; Writeln('Задайте сторони 4-х кутника ABCD і його діагональ AC'); readln (AB, BC, CD, DA, AC); Ploshad4(AB,BC,AC,S1); Ploshad4(DA,AC,CD,S2); Writeln ('Площа ABCD= ', S1+S2:8:2); readln; end.
6. Правила виклику процедур з параметрами Відповідність між параметрами команди виклику процедури і параметрами опису процедури встановлюється не за іменами параметрів, а по порядку прямування: Перший параметр в команді виклику відповідає першому параметру в описі процедури, другий - другим і т.д. число фактичних параметрів має відповідати числу формальних параметрів. Procedure Ploshad3(var a, b, c, s :real); Ploshad3(AB , BC , AC , S1);