Составьте программу вычисления значений функции f(x), номер которой соответствует вашему номеру по журналу, на интервале (a; b) с шагом h=0,1. 25. f(x)= 5sinx+cosx2.
// PascalABC.Net var a,b,h,x,F:double; begin h:=0.1; Write('Введите через пробел границы интервала табудяции: '); Read(a,b); x:=a; while x<=b+(h/2) do begin F:=5*sin(x)+cos(sqr(x)); Writeln(x:8:5, F:10:5); x:=x+h end; end.
Замечание: В цикле while x<=b+(h/2) do прибавление половины шага гарантирует, что несмотря на погрешности представления чисел в компьютере, цикл будет выполнен и для конечной точки интервала.
var
a,b,h,x,F:double;
begin
h:=0.1;
Write('Введите через пробел границы интервала табудяции: ');
Read(a,b);
x:=a;
while x<=b+(h/2) do begin
F:=5*sin(x)+cos(sqr(x));
Writeln(x:8:5, F:10:5);
x:=x+h
end;
end.
Тестовое решение
Введите через пробел границы интервала табудяции: -2 3
-2.00000 -5.20013
-1.90000 -5.62379
-1.80000 -5.86440
-1.70000 -5.92684
-1.60000 -5.83346
-1.50000 -5.61565
-1.40000 -5.30670
-1.30000 -4.93671
-1.20000 -4.52977
-1.10000 -4.10302
-1.00000 -3.66705
-0.90000 -3.22714
-0.80000 -2.78468
-0.70000 -2.33876
-0.60000 -1.88732
-0.50000 -1.42822
-0.40000 -0.95986
-0.30000 -0.48165
-0.20000 0.00585
-0.10000 0.50078
0.00000 1.00000
0.10000 1.49912
0.20000 1.99255
0.30000 2.47355
0.40000 2.93432
0.50000 3.36604
0.60000 3.75911
0.70000 4.10342
0.80000 4.38888
0.90000 4.60613
1.00000 4.74766
1.10000 4.80906
1.20000 4.79062
1.30000 4.69887
1.40000 4.54780
1.50000 4.35930
1.60000 4.16228
1.70000 3.98981
1.80000 3.87408
1.90000 3.83921
2.00000 3.89284
2.10000 4.01825
2.20000 4.16975
2.30000 4.27455
2.40000 4.24355
2.50000 3.99181
2.60000 3.46597
2.70000 2.67145
2.80000 1.68892
2.90000 0.66844
3.00000 -0.20553
Замечание: В цикле while x<=b+(h/2) do прибавление половины шага гарантирует, что несмотря на погрешности представления чисел в компьютере, цикл будет выполнен и для конечной точки интервала.