// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
var a,b,h,x:real;
Write('Введите a b h: '); Read(a,b,h);
if a>b then Swap(a,b); // поменять местами
if h<=0 then Writeln('Шаг h должен быть положительным')<br> else begin
x:=a;
while x<=b+h/2 do begin // +полшага на погрешность накопления <br> Writeln('x=',x:0:4,', y=',x>0?1/x-5:2*x);
x+=h
end
end
end.
Тестовое решение:
Введите a b h: -2.46 3.73 0.18
x=-2.4600, y=-4.92
x=-2.2800, y=-4.56
x=-2.1000, y=-4.2
x=-1.9200, y=-3.84
x=-1.7400, y=-3.48
x=-1.5600, y=-3.12
x=-1.3800, y=-2.76
x=-1.2000, y=-2.4
x=-1.0200, y=-2.04
x=-0.8400, y=-1.68
x=-0.6600, y=-1.32
x=-0.4800, y=-0.96
x=-0.3000, y=-0.6
x=-0.1200, y=-0.24
x=0.0600, y=11.6666666666667
x=0.2400, y=-0.83333333333333
x=0.4200, y=-2.61904761904762
x=0.6000, y=-3.33333333333333
x=0.7800, y=-3.71794871794872
x=0.9600, y=-3.95833333333333
x=1.1400, y=-4.12280701754386
x=1.3200, y=-4.24242424242424
x=1.5000, y=-4.33333333333333
x=1.6800, y=-4.4047619047619
x=1.8600, y=-4.46236559139785
x=2.0400, y=-4.50980392156863
x=2.2200, y=-4.54954954954955
x=2.4000, y=-4.58333333333333
x=2.5800, y=-4.61240310077519
x=2.7600, y=-4.63768115942029
x=2.9400, y=-4.65986394557823
x=3.1200, y=-4.67948717948718
x=3.3000, y=-4.6969696969697
x=3.4800, y=-4.71264367816092
x=3.6600, y=-4.72677595628415