Вычислить и напечатать значения кусочно-непрерывной функции. Варьируя значением одной из переменных, обеспечить выполнение по всем ветвям алгоритма
Code
program N3;
uses crt;
var a, x, y, step: real; {переменные вещественного типа}
v1, v2, v3: boolean; {переменные логического типа}
i: integer; {переменные целочисленного типа}
begin
clrscr;
a := 0.1;
step := 0.15;
i := 0;
while i < 3 do {цикл пока i<3}
begin
x := (sin(a)/cos(a))/sqrt(a); {определяем х}
if (x <= 0) and (v1 = false) then {если условие верно, и эта ветвь еще не выполнялась, то}
begin {выполняем}
y := 0;
i := i + 1;
v1 := true; {отмечаем, что эта ветвь была выполнена}
writeln ('a = ', a:5:2, '; x =', x:5:2, '; y = ', y:5:2); {вывод на экран}
end {конец выполнения}
else if (x > 0) and (x < 10) and (v2 = false) then {иначе}
begin {выполняем}
y := ln(x)/sqrt(sin(a*a*x));
i := i + 1;
v2 := true;
writeln ('a = ', a:5:2, '; x =', x:5:2, '; y = ', y:5:2); {вывод на экран}
end
else if (x >= 10) and (v3 = false) then begin
y := x;
i := i + 1;
v3 := true;
writeln ('a = ', a:5:2, '; x =', x:5:2, '; y = ', y:5:2); {вывод на экран}
end;
a := a + step; {увеличиваем а на величину шага}
end;
readkey; {ожидаем нажатия клавиши}
end.