Задание нужно выполнить в Паскале используя оператор цикла с параметром (for).
Даны действительные a, b и натуральное n. Вывести таблицу значений функции f(x). Таблица имеет две колонки, в i-ю строку таблицы заносятся значения xi и yi, где xi=a+ih, h=(b-a)/n, yi=f(xi)(i=0,1...,n).
f(x)=(x2+1)cos(x)
Вычислить f(a)+f(a+h)+...+f(a+nh)
Делал сам, но вышло криво:
var a, b, h, x, f, xi, yi: real;
n, i: integer;
Begin
write('a=');
read(a);
write('b=');
read(b);
write('n=');
read(n);
for var i := 1 to 10 do
writeln(i);
h:=(b-a)/n;
writeln('h=', h);
f:=(sqr(x)+1)*cos(x);
xi:=a+i*h;
writeln('xi=',xi);
yi:=xi;
writeln('yi=',yi);
writeln('f=', f);
End.
Answers & Comments
//Pascal
var
a, b, h, f, xi, yi: real;
n, i: integer;
begin
write('a = '); readln(a);
write('b = '); readln(b);
write('n = '); readln(n);
writeln;
writeln(' xi yi');
f := (a * 2 + 1 * cos(a));
h := (b - a) / n;
for i := 0 to n do
begin
xi := a + i * h;
yi := xi * 2 + 1 * cos(xi);
f := f + (((a+h) * 2 + 1 * cos(a+h)));
writeln(xi:4, ' ', yi:4);
end;
writeln;
writeln('f = ', f);
end.