Помогите с прогой на Паскале. Тема- Табулирование функции.
Вводится a,b-веществ. числа, вводится шаг h-веществ.
Надо найти f(x)={1/x-5, x>0 или 2x, x<=0. Надо проверить a<=b; h>o;
x<>0 (для первого значения функции). Заканчивать табулирование a+nh>b. Выводить значения: x=...; f(x)=...

Ответы

Ответ дал: Аноним
0
// 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 должен быть положительным')
  else begin
    x:=a;
    while x<=b+h/2 do begin // +полшага на погрешность накопления
      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
Вас заинтересует