Создать процедуру вычисления среднего арифметического и среднего квадратичного натуральных чисел a и b.
Решение:
Program pr1;
Var
a, b: integer;
SrAr, SrKv: real; {SrAr- среднее арифметическое, SrKv – среднее квадратичное}
Procedure Sredn(a,b:integer; Var SrAr, SrKv: real);
{a,b – входные данные (параметры-значения}
{SrAr, SrKv – результат выполнения процедуры (параметры-переменные)}
Begin {тело процедуры}
SrAr:=(a+b)/2;
SrKv:=SQRT(a*b);
End;
BEGIN {основная программа}
Write('a='); Readln(a); {ввод a}
Write('b='); Readln(b); {ввод b}
{вызов процедуры и передача фактических параметров a,b }
Sredn(a, b, SrAr, SrKv);
{вывод результата, полученного в процедуре}
Writeln(‘Ср. арифм.=', SrAr:6:2, ' Ср. квадр.е =', SrKv:6:2);
Readln;
END.
Результат:
a=2
b=8
Ср. арифм.= 5.00 Ср. квадр.= 4.00
Пример 2.
Создать процедуру для вычисления периметра и площади прямоугольного треугольника по его катетам a, b.
Решение:
Program pr2;
Var
a, b, p, s: real; { a, b- катеты, p - периметр, s - площадь }
Procedure Treug(a,b: real; Var p, s: real);
{a, b- входные данные(параметры-значения),} {p, s-выходные данные(параметры-переменные)}
Begin
p:= a + b + Sgrt(a*a + b*b); {периметр треугольника с катетами a, b}
|
|
s:= a*b/2; { площадь треугольника с катетами a, b }
End;
Begin {основная программа}
Write('a, b =');Readln(a, b); {ввод исходных данных}
Treug(a, b, p, s); {вызов процедуры и передача исходных данных a, b}
Writeln('p=', p:4:1, ‘ s=’, s:4:1); {вывод результата, полученного из процедуры}
Readln;
End.
Результат:
a, b= 3 4
p=12.0 s= 6.0