§20 ГДЗ Семакин 10 класс (Информатика)
2. Проанализируйте задачу решения биквадратного уравнения, составьте алгоритм и напишите программу на Паскале.
1. Основные этапы алгоритмического решения задачи:
- постановка задачи;
- формализация;
- анализ математической модели задачи;
- построение алгоритма;
- составление программы;
- тестирование.
2. Биквадратное уравнение имеет вид $$ax^4+bx^2+c=0.$$
Сделаем замену $$y=x^2.$$ Тогда получим квадратное уравнение
$$ay^2+by+c=0.$$
Далее находим дискриминант:
$$D=b^2-4ac.$$
Если $$D<0,$$ то действительных корней нет. Если $$D\ge 0,$$ находим корни уравнения относительно $$y$$:
$$y_1=\frac{-b-\sqrt{D}}{2a}, \qquad y_2=\frac{-b+\sqrt{D}}{2a}.$$
Затем для каждого найденного значения $$y$$ решаем уравнение $$x^2=y.$$
Если $$y<0,$$ действительных корней нет. Если $$y\ge 0,$$ то
$$x=\pm\sqrt{y}.$$
Program bisquare;
var
a,b,c,d,z1,z2: real;
begin
Writeln(‘Введите коэффициенты биквадратного уравнения по убыванию степеней’);
Read(a,b,c);
d:=b*b-4*a*c;
if d<0 then Writeln(‘Нет корней’)
else begin
d:=sqrt(d);
z1:=(-b-d)/(2*a);
z2:=(-b+d)/(2*a);
if z1<0 then begin
z1:=z2;
if z1<0 then Writeln(‘Нет корней’)
else Writeln(-sqrt(z1),’ ‘,sqrt(z1))
end
else begin
Write(-sqrt(z1),’ ‘,sqrt(z1),’ ‘);
if z2>=0 then Writeln(-sqrt(z2),’ ‘,sqrt(z2));
end;
end;
end.
Ответ
Основные этапы: постановка задачи, формализация, анализ математической задачи, построение алгоритма, составление программы, тестирование.
Для биквадратного уравнения используется замена $$y=x^2,$$ после чего решается квадратное уравнение относительно $$y$$ и находятся действительные значения $$x$$ по формуле $$x=\pm\sqrt{y}.$$