Вычислить значение выражения - Free Pascal (190)

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

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

Листинг программы
  1. program test;
  2. var u, s :real;
  3. n :integer;
  4. const e=1e-3; x=0.58;
  5. begin
  6. s:=0;
  7. n:=1;
  8. u:=-exp(ln(x)*((2*n)+1))/((4*sqr(n))-1);
  9. while abs(u)>e do
  10. begin
  11. u:=-u;
  12. s:=s+u;
  13. n:=n+1;
  14. u:=-u*(exp(ln(x)*((2*n)+1))/((4*sqr(n))-1));
  15. end;
  16. writeln('s=', s:7:2);
  17. end.
Где-то накосячил, и теперь выводит неправильный ответ. Как правильно написать эту формулу?

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
  1. program test;
  2. var u1,u2, s,t :real;
  3. n :integer;
  4. const e=1e-3; x=0.58;
  5. begin
  6. n:=1;
  7. t:=1;
  8. u1:=exp(ln(x)*((2*n)+1))/((4*sqr(n))-1);
  9. u2:=0;
  10. s:=u1;
  11. while abs(u1-u2)>e do begin
  12.   u2:=u1;
  13.   n:=n+1;
  14.   t:=-t;
  15.   u1:=t*exp(ln(x)*(2*n+1))/(4*n*n-1);
  16.   s:=s+u1;
  17. end;
  18. writeln('s=', s:7:3);
  19. end.

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

В данном коде происходит вычисление значения выражения с помощью метода Ньютона для нахождения корня квадратного уравнения.

  1. Объявлены переменные: u1, u2, s, t — вещественные числа; n — целое число; const e=1e-3; x=0.58; — константы.
  2. Задаются начальные значения переменных: n := 1; t := 1;
  3. Вычисляется первое приближение корня u1 с помощью формулы: u1 := exp(ln(x) ((2 n) + 1)) / ((4 * sqr(n)) — 1).
  4. Задается начальное значение корня u2 равное нулю.
  5. Вычисляется значение переменной s равное u1.
  6. Запускается цикл while, который выполняется до тех пор, пока разница между текущим значением корня u1 и предыдущим значением u2 не станет меньше заданной точности e.
  7. Внутри цикла изменяются значения переменных: n увеличивается на единицу; t меняется на противоположное; u2 принимается равным текущему значению u1; s принимает значение суммы u1 и u2.
  8. Вычисляется новое значение корня u1 с помощью формулы: u1 := -t exp(ln(x) (2 n) + 1) / (4 n * n — 1).
  9. Цикл while выполняется до тех пор, пока не будет выполнено условие остановки.
  10. Выводится значение переменной s с точностью до 7 знаков после запятой.

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


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

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

10   голосов , оценка 3.8 из 5

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

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

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