Задание нужно выполнить в Паскале используя оператор цикла с параметром (for). Даны...

0 голосов
55 просмотров

Задание нужно выполнить в Паскале используя оператор цикла с параметром (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.


Информатика (985 баллов) | 55 просмотров
Дан 1 ответ
0 голосов

Возможно я не понял условие. Посмотри такое:

//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.


image
(9.4k баллов)