Найти корень уравнения на в заданном интервале значений аргумента - Pascal
Формулировка задачи:
Задана функция f(x)=a*x^3+b . Пользователем с клавиатуры вводятся параметры а и b и границы произвольного отрезка [a1;a2] . Вывести сообщение пользователю о том, пересекает на этом отрезке график функции ось ОХ или нет. С помощью процедур организовать проверку ввода: коэффициенты а и b не должны быть нулевыми и концы отрезка а1 и а2 не должны совпадать, причем а1 должно быть меньше а2.
Решение задачи: «Найти корень уравнения на в заданном интервале значений аргумента»
textual
Листинг программы
function f(x,a,b:real):real; begin f:=a*x*x*x+b; end; var a1,a2,a,b,x:real; k:byte; begin repeat writeln('Введите значения a,b<>0'); readln(a,b); until(a<>0)and(b<>0); repeat writeln('Ведите диапазон a1<a2'); readln(a1,a2); until a2>a1; k:=0; x:=a1; while(x<a2)and(k=0) do if f(x,a,b)*f(x+0.1,a,b)<0 then k:=1 else x:=x+0.1; if k=1 then write('График пересекает ось Х на этом интервале') else write('График не пересекает ось Х на этом интервале'); end.
Объяснение кода листинга программы
- Создается функция f, которая принимает три параметра: x, a и b, типа real. Функция вычисляет значение выражения axx*x+b и возвращает его.
- Создаются переменные a1, a2, a и b типа real.
- Создается переменная k типа byte.
- В цикле повторяется до тех пор, пока a не станет равным нулю и b не станет равным нулю.
- В цикле повторяется до тех пор, пока a2 не станет больше a1.
- Устанавливается значение переменной k в 0.
- Устанавливается значение переменной x в a1.
- В цикле while повторяется до тех пор, пока x меньше a2 и k равно 0.
- Если f(x,a,b)*f(x+0.1,a,b) меньше нуля, то устанавливается значение k в 1.
- Иначе, значение x увеличивается на 0.1.
- Если k равно 1, то выводится сообщение
График пересекает ось Х на этом интервале
. - Иначе, выводится сообщение
График не пересекает ось Х на этом интервале
. - Цикл заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д