Приближенное решение уравнений методом половинного деления - Pascal ABC

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

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

Всем привет. Нужно создать программу в Pascal для решения вот этого уравнения: sin(x-0.5)-2x+0.5=0. Помогите, пожалуйста!

Решение задачи: «Приближенное решение уравнений методом половинного деления»

textual
Листинг программы
function f(x: real): real;
begin
  f := sin(x - 0.5) - 2 * x + 0.5
end;
 
const
  eps = 0.5e-4;
  hor = '+-----+-----------+-----------+-----------+';
 
var
  an, bn, cn, en: real;
  n: integer;
 
begin
  an := -0.25;
  bn := 0.75;
  n := 1;
  writeln(hor);
  writeln('|  n  |     an    |     bn    |     en    |');
  writeln(hor);
  repeat
    en := bn - an;
    writeln('|', n:4, ' |', an:10:6, ' |', bn:10:6, ' |', en:10:6, ' |');
    cn := (an + bn) / 2;
    if f(cn) * f(bn) > 0
      then bn := cn
      else an := cn;
    inc(n)
  until en < eps;
  writeln(hor);
  write('x = ', an:0:5)
end.

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

  1. Написан функцию f(x: real): real; для вычисления значения функции sin(x - 0.5) - 2*x + 0.5
  2. Объявлены константы eps = 0.5e-4 и hor = '+-----+-----------+-----------+-----------+'
  3. Объявлены переменные an, bn, cn, en: real; для хранения значений a, b, c и e на каждой итерации
  4. Объявлена переменная n: integer; для отслеживания номера итерации
  5. Переменные an и bn инициализированы значениями -0.25 и 0.75 соответственно
  6. Переменная n устанавливается равной 1
  7. Выводится таблица с названиями и значениями переменных
  8. Запускается цикл while, который выполняется до тех пор, пока значение переменной en меньше eps
  9. Внутри цикла вычисляется значение переменной en как разность bn и an
  10. Выводится значение переменной n и значения переменных an, bn и en в формате с плавающей точкой
  11. Вычисляется значение переменной cn как среднее арифметическое an и bn
  12. Проверяется, является ли значение функции f(cn) положительным. Если это так, то bn присваивается значение cn, иначе an присваивается значение cn
  13. Увеличивается значение переменной n
  14. Цикл повторяется до тех пор, пока условие не будет выполнено
  15. После завершения цикла выводится таблица с названиями и значениями переменных
  16. Выводится значение переменной an, которое является приближенным решением уравнения

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


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

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

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