Как построить алгоритм решения квадратного уравнения

Квадратные уравнения

Квадратное уравнение – уравнение вида a x 2 + b x + c = 0, где x – переменная, a , b и c – некоторые числа, причем a ≠ 0 .

Алгоритм решения квадратного уравнения:

  1. Раскрыть скобки, перенести все слагаемые в левую часть, чтобы уравнение приобрело вид: a x 2 + b x + c = 0
  2. Выписать, чему равны в числах коэффициенты: a = … b = … c = …
  3. Вычислить дискриминант по формуле: D = b 2 − 4 a c
  4. Если D > 0 , будет два различных корня, которые находятся по формуле: x 1,2 = − b ± D 2 a
  5. Если D = 0, будет один корень, который находится по формуле: x = − b 2 a
  6. Если D 0, решений нет: x ∈ ∅

Примеры решения квадратного уравнения:

  1. − x 2 + 6 x + 7 = 0

a = − 1, b = 6, c = 7

D = b 2 − 4 a c = 6 2 − 4 ⋅ ( − 1 ) ⋅ 7 = 36 + 28 = 64

D > 0 – будет два различных корня:

x 1,2 = − b ± D 2 a = − 6 ± 64 2 ⋅ ( − 1 ) = − 6 ± 8 − 2 = [ − 6 + 8 − 2 = 2 − 2 = − 1 − 6 − 8 − 2 = − 14 − 2 = 7

Ответ: x 1 = − 1, x 2 = 7

a = − 1, b = 4, c = − 4

D = b 2 − 4 a c = 4 2 − 4 ⋅ ( − 1 ) ⋅ ( − 4 ) = 16 − 16 = 0

D = 0 – будет один корень:

x = − b 2 a = − 4 2 ⋅ ( − 1 ) = − 4 − 2 = 2

a = 2, b = − 7, c = 10

D = b 2 − 4 a c = ( − 7 ) 2 − 4 ⋅ 2 ⋅ 10 = 49 − 80 = − 31

D 0 – решений нет.

Также существуют неполные квадратные уравнения (это квадратные уравнения, у которых либо b = 0, либо c = 0, либо b = c = 0 ). Смотрите видео, как решать такие квадратные уравнения!

Один из методов решения квадратных уравнений

Алгоритм решения данной задачи сначала должен быть представлен в виде словесного описания или графически в виде блок-схемы. Алгоритм вычисления корней квадратного уравнения может быть представлен в виде блок-схем, изображенных на рисунках, отображающих основные элементы блок-схем и алгоритм вычисления корней квадратного уравнения:

Изображение алгоритма в виде блок-схемы позволяет наглядно представить последовательность действий, необходимых для решения поставленной задачи, убедиться самому программисту в правильности понимания поставленной задачи.

После разработки алгоритма решения задачи и представления его в виде блок-схемы можно перейти к написанию программы – последовательности инструкций на выбранном языке программирования, соответствующей разработанному алгоритму. Например, ниже приведен фрагмент программы решения квадратного уравнения, соответствующий приведенному выше алгоритму, составленному на языке Visual Basic.

procedure SqRoot(Editi,Edit2,Edit3:tEdit;Label2:tLabel);
var
a,b,c:real;
d:real;
xl,x2:real;
begin
<Ввод исходных данных>a:=StrToFloat(Editl.text);
b:=StrToFloat(Edit2.text);
с:=StrToFloat(Edj.t3.text);
< Вычисление дискриминанта >d:=Sqr(b)-4*a*c;
if d=0 then begin
Label2.color:=clRed;
Label2.font.color:=clRed;
Label2.caption:=’Дискриминант меньше нуля.’+#13+
‘Уравнение не имеет корней.’ end else
begin

х1:=(-b+Sqrt(d))/(2*a);
x2:=(-b-Sqrt(d))/(2*а);

Label2.font.color:=clBlack;
Label 2.caption=’Корни уравнения:’ +#13+’xl=1+FloatToStr(xl)
+#13+’x2=’+FloatToStr(x2);
end;
end.

Но программа, написанная на языке программирования, состоит из инструкций, понятных человеку, но не понятных процессору компьютера. Поэтому чтобы процессор смог выполнить работу в соответствии с инструкциями исходной программы, она должна быть переведена на язык команд процессора, то есть машинный язык. Задачу преобразования исходной программы в машинный код выполняет специальная программа — компилятор. Помимо преобразования исходной программы в машинную, компилятор выполняет проверку правильности записи инструкций исходной программы, т. е. осуществляет синтаксический анализ.

Компилятор создает исполняемую программу только в том случае, если в тексте исходной программы нет синтаксических ошибок. Однако генерация исполняемой программы машинного кода свидетельствует только об отсутствии в тексте программы синтаксических ошибок. Убедиться в правильности работы программы можно только во время ее тестирования – пробных запусках программы и при анализе полученных результатов. Например, если в программе нахождения корней квадратного уравнения допущена ошибка в записи выражения вычисления дискриминанта, то даже если это выражение будет синтаксически верно, программа выдаст неверные значения корней.

Решение квадратных уравнений средствами Visual Basic

Задача: Дано квадратное уравнение общего вида: ax 2 +bx+c=0. Ввести в память компьютера числовые коэффициенты: a, b, c, выполнить необходимый анализ введенной информации согласно известному из курса средней школы алгоритму решения квадратного уравнения: найти дискриминант d=b 2 -4ac и, проанализировав его знак, найти все действительные корни, если знак дискриминанта положительный, или сообщить о том, что действительных корней нет, если знак дискриминанта отрицательный.

Начать составление проекта решения данной задачи необходимо с ответа на вопрос: что нужно поместить на форму Form1?

Поместим на форму две кнопки: CommandButton1 и CommandButton2.

Для этого нужно воспользоваться Панелью элементов (объектов) управления General, которая расположена в левой части основного окна компилятора Visual Basic.

Первая кнопка CommandButton1 предназначается для начала работы программы согласно следующему алгоритму:

  1. ввод коэффициентов исходного уравнения a, b, c;
  2. расчет дискриминанта d=b 2 — 4ac;
  3. анализ знака дискриминанта, вычисление корней уравнения и вывод их на форму, если знак дискриминанта d>0 (положительный);
  4. вывод сообщения: «Решений нет», если знак дискриминанта d 2 -5x+6=0.

Далее рассмотрим процесс решения второго квадратного уравнения: 10x 2 +5x+200=0.

В окне InputBox вводим значение первого коэффициента уравнения a=10.

Ввод первого коэффициента a завершается нажатием кнопки Ok.

Аналогично в окне InputBox вводим значение второго коэффициента уравнения b=5.

Ввод второго коэффициента b так же завершается нажатием соответствующей кнопки Ok.

Наконец, в окне InputBox вводим значение третьего коэффициента нового уравнения c=200.

Ввод третьего коэффициента c так же завершается нажатием соответствующей кнопки Ok.

После этого программа, проанализировав полученную информацию, должна выдать в окне формы соответствующее сообщение о том, что данное уравнение не имеет решений.

И, наконец, рассмотрим процесс решения третьего квадратного уравнения: x 2 -8x+16=0.

Это уравнение имеет двукратный корень, так как его дискриминант d=0. Как и в двух предыдущих случаях, вводим коэффициенты квадратного уравнения. Первым вводим коэффициент a=1.

Далее вводим второй коэффициент уравнения b= –8.

Третий коэффициент уравнения c=16 вводим в последнюю очередь.

В итоге мы должны увидеть правильное решение третьего квадратного уравнения. Действительно последнее уравнение имеет два одинаковых корня.

Ветвящийся алгоритм решения квадратного уравнения

Задание. Необходимо решить квадратное уравнение:

где a=2; b=-5; c=2. Решение. Представим алгоритм решения квадратного уравнения в словесной форме.
1. Вычислить дискриминант квадратного уравнения:

2. Если D 0, то уравнение имеет два корня:


Таким образом, для решения квадратного уравнения необходимо использовать разветвляющийся алгоритм.
Для ввода исходных данных и вывода результатов вычисления можно использовать пользовательскую форму, например, как показано на рис. 1.


Рисунок 1


Рисунок 2

Программа вычисления корней квадратного уравнения запускается нажатием на кнопку «Решить».
Эта программа имеет следующий вид:

Private Sub CommandButton1_Click()
a = TextBox1
b = TextBox2
c = TextBox3
d = (b ^ 2) — (4 * a * c) ‘ дискриминант
If d

источники:

http://urok.1sept.ru/articles/522622

http://it-inform.narod.ru/index/vetvjashhijsja_algoritm_reshenija_kvadratnogo_uravnenija/0-42