Теперь по задаче.
Прежде всего - мною обнаружена ошибка в условии. Рассмотрим, например, значения функций при х=2.5:
у1=0.9748
у2=-1.0024
Таким образом, при вычислении функции z, подкоренное выражение есть
у1*у1+у2=-0.0523, т.е. оно ОТРИЦАТЕЛЬНО, а значит при выполнении программы неизбежно возникнет ошибка.
Как я предполагаю, скорее всего там опечатка, и под корнем стоит, например, сумма квадратов у1 и у2. Если так, то:
Код:
VAR
Xmin,Xmax,Dx,x:Real;
i,N:Integer;
Function Y1(x1:Real):Real;
begin
if x1<=5 then Y1:=(x1*x1*3+x1*2)/2/Exp(x1)
else Y1:=x1*5+x1*x1*Cos(x1);
end;
Function Y2(x2:Real):Real;
begin
Y2:=Y1(x2)*2*Cos(x2)*Cos(x2)*Cos(x2);
end;
Function Z(x3:Real):Real;
begin
Z:=SQRT(SQR(Y1(x3))+SQR(Y2(x3)));
end;
BEGIN
Write('Xmin (>=0) = ');
ReadLn(Xmin);
Write('Xmax (>5) = ');
ReadLn(Xmax);
Write('Dx = ');
ReadLn(Dx);
N:=ROUND((Xmax-Xmin)/Dx);
For i:=0 to N do
begin
x:=Xmin+Dx*i;
WriteLn(x:5:2, Z(x):12:3);
end;
ReadLn;
END.