Приближенное решение уравнений методом половинного деления - 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.
Объяснение кода листинга программы
- Написан функцию f(x: real): real; для вычисления значения функции sin(x - 0.5) - 2*x + 0.5
- Объявлены константы eps = 0.5e-4 и hor = '+-----+-----------+-----------+-----------+'
- Объявлены переменные an, bn, cn, en: real; для хранения значений a, b, c и e на каждой итерации
- Объявлена переменная n: integer; для отслеживания номера итерации
- Переменные an и bn инициализированы значениями -0.25 и 0.75 соответственно
- Переменная n устанавливается равной 1
- Выводится таблица с названиями и значениями переменных
- Запускается цикл while, который выполняется до тех пор, пока значение переменной en меньше eps
- Внутри цикла вычисляется значение переменной en как разность bn и an
- Выводится значение переменной n и значения переменных an, bn и en в формате с плавающей точкой
- Вычисляется значение переменной cn как среднее арифметическое an и bn
- Проверяется, является ли значение функции f(cn) положительным. Если это так, то bn присваивается значение cn, иначе an присваивается значение cn
- Увеличивается значение переменной n
- Цикл повторяется до тех пор, пока условие не будет выполнено
- После завершения цикла выводится таблица с названиями и значениями переменных
- Выводится значение переменной an, которое является приближенным решением уравнения
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д