Вычисление конечных сумм - Free Pascal (786)

Узнай цену своей работы

Формулировка задачи:

компилируется и запускается, но почему то не считает,
program hhhj ;
 const n=30;
var k:longint;
x,z,sum,h,a,y,b:real;
BEGIN
a:=0.1;b:=1;
sum:=1;h:=0.1;
x:=a;
while x<=b+h/2 do
begin
y:=((x*x)/4+x/2+1)*exp(x/2);
z:=1;
for k:=1 to n do
begin
z:= ((2*n+1)/(n+1))*(x/2);
sum:=sum+z;
end; end;
writeln(x:5:2,',,,',sum:9:5,',,,,',y:13:5);readln();
END.

Решение задачи: «Вычисление конечных сумм»

textual
Листинг программы
program hhhj ;
const n=30;
      a=0.1;
      b=1;
      h=0.1;
function f(x:real):real;
begin
f:=(x*x/4+x/2+1)*exp(x/2)
end;
function s(x:real):real;
var i:integer;
    sm,t:real;
begin
t:=1;
sm:=t;
for i:=1 to n do
 begin
  t:=t*(x/2)/i;
  sm:=sm+t*(i*i+1);
 end;
s:=sm
end;
 
var x:real;
begin
x:=a;
while x<=b+h/2 do
 begin
  writeln('x=',x:4:1,' y=',f(x):6:3,' s=',s(x):6:3);
  x:=x+h
 end;
readln
end.

Объяснение кода листинга программы

В данном коде решается задача вычисления конечных сумм.

  1. Объявлены константы: n = 30 (количество точек для вычисления суммы), a = 0.1 (начальное значение переменной x), b = 1 (конечное значение переменной x), h = 0.1 (шаг изменения переменной x).
  2. Определены функции: f(x: real): real, s(x: real): real. Функция f(x) вычисляет значение функции y = (xx/4 + x/2 + 1) exp(x/2). Функция s(x) вычисляет сумму sm,t, используя формулу суммы ряда.
  3. Создана переменная x со значением a.
  4. Запускается цикл while, выполняющийся до тех пор, пока x <= b + h/2. Выполняется: — Вывод на экран значений x, y, s. — Увеличение x на h.
  5. В конце программы ожидается ввод пользователя с помощью readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы