Скласти програму для обчислення значення функції, використовуючи функцію:

Var x,y,z,w:real;
function f(a,b:real):real;
begin
f:=sqrt(a+b*b*b)
end;
begin
write('Введіть значення х,y,z:');
readln(x,у,z);
w:=f(x,y)+f(y,z)+f(z,x);
writeln('w=',w:2:8);
readln
end.
Приклад № 2Розрахувати заданий вираз, який приймає ціле значення для даних a, b в форматі INTEGER, використав оператор IF. Результат Х – теж ціле число (INTEGERабо LONGINT).
В програмі повинна бути як мінімум одна процедура або функція. Вихідні дані та результат повинні перевірятися на область допустимих значень
: a*b/4, если b > a
X = -55, если b = a
(b - 5)/a, если b < a
Uses CRT;
Const
inv1='Повторить введення';
inv2='Дылення на нуль!!!!!!! ';
inv3='Результат ';
inv4='виходить за діиапазон [-32768..32767]!!!!';
inv5='Значення яке вводиться ';
invA='A';
invB='B';
Label L1;
Var
a,b,x : Integer;
ch : Char;
{Розрахунок значення Xс перевіркою на припустимий діапазон для змінної типу INTEGER}
function F (a,b:Integer; Var x:Integer) : Boolean;
Var x1 : Real;
s1 : String;
Begin
F:=True;
if b>a then x1:=b/4.0*a {Тільки так інакше буде помилка !!!!}
else if b=a then x1:=-55
else if a=0 then
Begin
s1:=inv2+inv1;
Writeln(s1);
F:=False;
Exit;
End
else x1:=(b-5.0)/a;
{------ Перевірка результату на припустимий діапазон ------}
if (x1>=-32768)and(x1<=32767) then x:=trunc(x1)
else
Begin
s1:=inv3+inv4;
Writeln(s1);
Writeln(x1);
Writeln(inv1);
F:=False;
Exit;
End
End;
{Процедура введення вихідного значення змінної А з перевіркою на область припустимих значень }
Procedure Input(Var A:integer; inv:String);
Label L;
Var aL :Real;
s1 : String;
Begin
L:
Write('Введите значення '+inv,'===>');
Readln(aL);
if (aL>=-32768)and(aL<=32767) then A:=trunc(aL)
else
Begin
s1:=inv5+inv4;
Writeln(s1);
Writeln(inv1);
goto L;
End
End;
{Головна програма}
Begin
Repeat
ClrScr;
Writeln(' Варіант 30');
Writeln(' a*b/4, если b > a');
Writeln(' X = -55, если b = a');
Writeln(' (b - 5)/a, если b < a');
Writeln;
L1:
Input(b,invB);
Input(a,invA);
if F(a,b,x) then Writeln ('x=',x)
else goto L1;
Writeln('Опять? (y/n)');
ch:=ReadKey;
Until (ch='n') or (ch='N');
End.