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

Помогите с прогой на Паскале. Тема- Табулирование функции. Вводится 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)=...
Гость
Ответ(ы) на вопрос:
Гость
// 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы