Вычислить сумму ряда путем цикла с предусловием (while) - Turbo Pascal

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

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

Листинг программы
  1. Program Summer2;
  2. uses Crt;
  3. var Eps: real;
  4. S, Y: real;
  5. i: integer;
  6. begin
  7. ClrScr;
  8. write(‘ Ввести Epsilon: ‘);
  9. readln(Eps);
  10. Y: = 1; {Первое слагаемое}
  11. S: = y;
  12. i: = 0; {Обнуление счётчика}
  13. while abs(Y) > = Eps do
  14. begin
  15. i: = 1 + (2*i); (Номер текущего шага}
  16. Y: = 1 / Sqr(i);
  17. S: = S + Y;
  18. end;
  19. write(‘Кол. слагаемых = , i + 1);
  20. writekn;
  21. writeln(‘ Сумма чисел = , S:6:4);
  22. readln
  23. end.
Листинг программы
  1. Ввести Epsilon: 0.007
  2. Кол. слагаемых = 16
  3. Сумма чисел = 2.136
Программа определила количество слагаемых 16. А ведь задано в программе 6 слагаемых (число определилось Eps = 0.007). Что – то здесь не так. А что?

Решение задачи: «Вычислить сумму ряда путем цикла с предусловием (while)»

textual
Листинг программы
  1. var n,i:integer;
  2.     e,t,s:real;
  3. begin
  4. write('e=');
  5. readln(e);
  6. write('n=');
  7. readln(n);
  8. s:=0;
  9. for i:=1 to n do
  10.  begin
  11.   t:=1/sqr(2*i-1);
  12.   writeln('i=',i,' t=',t:10:6);
  13.   s:=s+t;
  14.  end;
  15. writeln('Summa=',s:0:6);
  16. n:=1;
  17. t:=1;
  18.  writeln('n=',n,' t=',t:10:6);
  19. s:=t;
  20. while t>e do
  21.  begin
  22.   n:=n+1;
  23.   t:=1/sqr(2*n-1);
  24.   writeln('n=',n,' t=',t:10:6);
  25.   s:=s+t;
  26.  end;
  27. writeln('Summa=',s:0:6);
  28. end.

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

  1. Создаются переменные n, i, e, t, s, которые будут использоваться в коде.
  2. Вводится значение переменной e и n с помощью функции readln().
  3. Создается переменная s и присваивается ей значение 0.
  4. Запускается цикл for, который будет выполняться от 1 до n.
  5. Внутри цикла вычисляется значение переменной t как 1/sqrt(2*(i-1)).
  6. Выводится значение переменной i, t на экран.
  7. Переменная s увеличивается на значение t.
  8. После завершения внутреннего цикла выводится значение переменной s.
  9. Запускается внешний цикл while.
  10. Внутри внешнего цикла увеличивается значение переменной n на 1.
  11. Вычисляется значение переменной t как 1/sqrt(2*(n-1)).
  12. Выводится значение переменной n, t на экран.
  13. Переменная s увеличивается на значение t.
  14. Цикл while продолжается до тех пор, пока значение переменной t больше значения переменной e.
  15. После завершения внешнего цикла выводится значение переменной s.
  16. Код завершается.

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


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

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

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут