Если что, программы проверял в PascalABC.NET 3.4.2, сборка 1837 от 12.10.2018
Первая программа (запрашивает значение икс, и в ответ выводит соответствующее значение зет):
var
x, Z: real;
begin
writeln('Введите исходные данные:');
write('x= ');
read(x);
if (x < -1) or (x > 1) then Z := 0
else Z := 1 - Abs(x);
writeln('ответ: Z= ', Z);
end.
Вторая программа (выводит значения икс в указанном диапазоне и с указанным шагом, и рядом с ними- соответствующие значения зет):
writeln(' x Z');
x := -1.5;
while x <= 1.5 do
writeln(x:4:1, Z:6:1);
x := x + 0.5;
end;
Будет выведено примерно так (только там одинаковая ширина символов, поэтому всё ровненько выглядит):
x Z
-1.5 0.0
-1.0 0.0
-0.5 0.5
0.0 1.0
0.5 0.5
1.0 0.0
1.5 0.0
Если что, программы проверял в PascalABC.NET 3.4.2, сборка 1837 от 12.10.2018
Первая программа (запрашивает значение икс, и в ответ выводит соответствующее значение зет):
var
x, Z: real;
begin
writeln('Введите исходные данные:');
write('x= ');
read(x);
if (x < -1) or (x > 1) then Z := 0
else Z := 1 - Abs(x);
writeln('ответ: Z= ', Z);
end.
Вторая программа (выводит значения икс в указанном диапазоне и с указанным шагом, и рядом с ними- соответствующие значения зет):
var
x, Z: real;
begin
writeln(' x Z');
x := -1.5;
while x <= 1.5 do
begin
if (x < -1) or (x > 1) then Z := 0
else Z := 1 - Abs(x);
writeln(x:4:1, Z:6:1);
x := x + 0.5;
end;
end.
Будет выведено примерно так (только там одинаковая ширина символов, поэтому всё ровненько выглядит):
x Z
-1.5 0.0
-1.0 0.0
-0.5 0.5
0.0 1.0
0.5 0.5
1.0 0.0
1.5 0.0