Здесь параметр1, параметр2, ... — фактические параметры.
Фактические параметры — это наименования переменных, значения которых при обращении к процедуре присваиваются соответствующим формальным параметрам.
При вызове процедуры происходят следующие действия. Устанавливается взаимно однозначное соответствие между фактическими и формальными параметрами (формальным параметрам присваивается значение фактических параметров). Реализуются операторы, составляющие тело процедуры. После окончания работы процедуры управление передается вызывающей программе на оператор, следующий за оператором вызова процедуры.
Между фактическими и формальными параметрами должно быть взаимно однозначное соответствие по количеству, порядку следования и типу.
Экспериментальный раздел работы:
Пример:
Составить программу для решения квадратного уравнения ау2+ by + с = 0 в предположении, что дискриминант больше или равен нулю. Для вычисления корней квадратного уравнения использовать процедуру: Program Kvad;
Var yl,y2 :real;
Procedure Sq (a,b,c: real; Var xl,x2:real);
Var d: real;
Begin
d:=b*b - 4*a*c;
xl: = (-b+Sqrt(d))/(2*a) ;
x2:=(-b-Sqrt(d))/(2*a);
End;
Begin
Sq (4.2, -0.5, -1.3, yl, y2);
WriteLn('yl=', yl : 5: 3,' y2=', y2 : 5 : 3) ;
End.
В этой программе первым выполняется оператор обращения к процедуре Sq (4.2, -0.5, -1.3, yl, y2);
Задания для самостоятельной работы:
Упражнение 1:
Составьте программу решения квадратного уравнения в предположении, что дискриминант больше или равен нулю. Для вычисления корней использовать процедуру.
Упражнение 2:
Составьте программу, в которой происходит подсчет суммы десяти целых положительных чисел: если введено отрицательное число, прервать выполнение.
Упражнение 3:
Напишите процедуру – заставку к программе вычисления математических функций в виде:
**************************************
* Программа *
* вычисления математических функций *
* Автор: Смирнов А.А. *
**************************************
Контрольные вопросы:
1. Что называется подпрограммой?
2. В чем состоит сходство и различие подпрограмм-процедур и подпрограмм-функций в языке Pascal?
3. Опишите последовательность событий при вызове процедуры?
4. Что такое параметр?
5. Что называют фактическим и формальным параметром?
6. Каково отличие параметров-значений и параметров-переменных?