Как вычислить квадратный корень на языке Pascal без использования процедур и функций? - Pascal ABC

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

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

Нужно найти квадратный корень без использования sqrt, ln и и т.д. Есть формула Лагранжа yn+1*[(1 + 1/k) - y4/(k*x)] Или формула Ньютона yn+1= 1/k*[(k - 1)*yn+x/(yk-1n)] где k = 2, x = число под корнем

Решение задачи: «Как вычислить квадратный корень на языке Pascal без использования процедур и функций?»

textual
Листинг программы
  1. var x,x0,x1,e:real;
  2. begin
  3. repeat
  4. write('Введите значение x>=0  x=');
  5. readln(x);
  6. until x>=0;
  7. repeat
  8. write('Введите точность  e>0  e=');
  9. readln(e);
  10. until e>0;
  11. x0:=1;
  12. x1:=0.5*(x0+x/x0);
  13. while abs(x0-x1)>e do
  14.  begin
  15.   x0:=x1;
  16.   x1:=0.5*(x0+x/x0);
  17.  end;
  18. writeln('Квадратный корень=',x1:0:5);
  19. end.

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

  1. Создаются переменные x, x0, x1, e типа real.
  2. В цикле повторяется запрос значения переменной x, пока x>=0.
  3. В цикле повторяется запрос точности e, пока e>0.
  4. Инициализируется x0=1 и x1=0.5*(x0+x/x0).
  5. Запускается цикл while, который выполняется до тех пор, пока abs(x0-x1)>e.
  6. Внутри цикла while значения x0 и x1 обновляются: x0 становится x1, а x1 становится 0.5*(x0+x/x0).
  7. Выводится значение x1 с точностью до 5 знаков после запятой.

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


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

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

7   голосов , оценка 4.571 из 5

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

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

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