Блок схема для кубического уравнения

Методы решения кубических уравнений

В области комплексных чисел, согласно основной теореме алгебры, кубическое уравнение всегда имеет 3 корня (с учётом кратности). Так как каждый вещественный многочлен нечётной степени имеет хотя бы один вещественный корень, все возможные случаи состава корней кубического уравнения исчерпывается тремя, которые легко различаются с помощью дискриминанта [2]:

· Если Δ > 0, тогда уравнение имеет три различных вещественных корня.

· Если Δ = 0, тогда хотя бы два корня совпадают. Это может быть, когда уравнение имеет двойной вещественный корень и ещё один отличный от них вещественный корень; либо, все три корня совпадают, образуя корень кратности 3.

Корни кубического уравнения связаны с коэффициентами следующим образом:

Исходя из основных свойств решения кубических уравнений, необходимо дать определение понятию «комплексное число». Комплексные числа — числа вида x + y , где x и y – вещественные числа, i – мнимая единица , то есть: i 2 = –1. Числа x = Â (z) ( или Re z ) и y = Á (z) ( или Im z ) называются соответственно вещественной и мнимой частями z . Множество всех комплексных чисел обозначается . Если комплексное число z = x + iy , то число называется сопряжённым к z . [1]

Наиболее распространенный метод решения кубических уравнений – метод перебора. [2] Сначала путём перебора находится один из корней уравнения (например, x 1 ). Вторая стадия решения – это деление многочлена ax 3 + bx 2 + cx + d на двучлен x – x 1 и решение полученного квадратного уравнения.

Алгоритм решения кубических уравнений с использованием формулы Кардано

В данном разделе статьи приведен подробный алгоритм решения уравнений третьей степени с помощи формулы Кардано. Данный алгоритм состоит из двух этапов. На первом этапе кубические уравнения приводятся к форме, в которой отсутствует член со второй степенью неизвестного. Такие кубические уравнения называют трёхчленными кубическими уравнениями. На втором этапе трёхчленные кубические уравнения решаются при помощи сведения их к квадратным уравнениям . [3]

Рассмотрим алгоритм нахождения всех корней кубического уравнения на основе описанной выше формулы, а также ее тригонометрической интерпретации. [3,4] Приведем исходное уравнение к каноническому виду. Для этого с делаем замену переменного по формуле : . Раскрыв скобки в левой части уравнения, получим: . Уравнение приведено к каноническому виду:

Дискриминантом уравнения называется число . Найдем решение полученного уравнения в виде:



Число удовлетворяет этому равенству, если числа m и n удовлетворяют системе из двух уравнений:

Находим числа m и n:

Дальнейшее решение зависит от знака дискриминанта S.

1. Пусть дискриминант меньше нуля. Тогда уравнение имеет три различных корня.

Найдём модуль комплексных чисел :

Аргумент числа равен (в зависимости от знака q):

· Если , то

· Если , то

· Если , то

Для k=0, k=1, k=2 получаем решение:

Итак, если дискриминант меньше нуля, то уравнение имеет три различных действительных корня:

2. Пусть дискриминант больше нуля. Тогда уравнение имеет один действительный корень и два комплексно-сопряжённых.

При этом для любых комплексных значений корней необходимо выполнение условия: .

Примем аргумент F действительных чисел, стоящих под знаком кубического корня, равным нулю. При этом модули этих чисел могут принимать отрицательное значение. Аргумент кубического корня будет принимать 3 значения: 0, 2*π/3, 4*π/3. Каждое решение y=y1, y=y2, y=y3 будет состоять из суммы двух комплексных чисел .

Число z1 находится в группе из трёх чисел:

Число z2 находится в группе из трёх чисел:

Для действительных значений кубических корней выполняется обозначенное выше условие. Поэтому действительный корень уравнения . Учитывая равенство , получим два комплексно сопряжённых корня: , .

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


3. Дискриминант равен нулю. В этом случае уравнение имеет три действительных корня, и два корня из трёх обязательно совпадают друг с другом. Рассуждая точно так же, как в случае с положительным дискриминантом, учитывая равенство , из формул корней уравнения с положительным дискриминантом получим:

Итак, если дискриминант равен нулю, то уравнение имеет три действительных корня, и два корня из трёх обязательно совпадают друг с другом: .

Теперь получим решение исходного кубического уравнения . Дискриминант этого уравнения равен:

В зависимости от знака дискриминанта S возможны три случая:

· Если , то:

· Если , то:

· Если , то:

При этом: . Аргумент F вычисляется по формулам, рассмотренным выше, исходя из знака q.

Реализация алгоритма в объектно-ориентированной среде программирования Delphi

Авторами статьи была создана программа в среде Delphi для решения кубических уравнений с использованием формулы Кардано по разработанному алгоритму, описанному выше.

Рис. 1 . Интерфейс программы для решения кубических уравнений.

Для решения уравнения пользователю необходимо ввести коэффициенты уравнения. Результат работы программы – коэффициенты уравнения в канонической форме (p и q), дискриминант (Q) и корни уравнения. Для создания интерфейса использовались следующие компоненты среды Delphi [5]:

· Label – для информирования пользователя о назначении программы, обозначения предназначения полей ввода – вывода;

· Button – для реализации основных действий программы (решения уравнения, очистки полей ввода-вывода, закрытия программы);

· Edit – для организации ввода-вывода данных;

· Panel и GroupBox – для группировки элементов на форме программы.

Рассмотрим код основных процедур программы.

Для решения уравнения необходимо объявить следующие переменные:

· A,B,C,D – коэффициенты исходного уравнения;

· p,q – коэффициенты преобразованного уравнения;

· F – аргумент комплексного корня;

· Re, Im – действительная и мнимая части комплексного корня;

· x1,x2,x3,y1,y2 – корни уравнения.

В программе предусмотрен контроль корректности ввода данных:

if (edit1.Text=») or (edit2.Text=») or (edit3.Text=») or (edit4.Text=») then

Showmessage(‘Введите все коэффициенты уравнения’);

Процедуры Clear_Koeffs и Clear_Results осуществляют очистку полей ввода-вывода.

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

edit5.Text := FloatToStr(p); edit6.Text := FloatToStr(q);

Вычисление корней уравнения происходит в зависимости от знака дискриминанта:

· Если дискриминант меньше нуля:

if q>0 then F:=Arctan(-2*Sqrt(-QQ)/q)+Pi;

if q=0 then F:=Pi/2;

if q=0 then x3:=-B/A/3;

Edit8.Text := FloatToStr(x1); Edit9.Text := FloatToStr(x2);

· Если дискриминант больше нуля:

if QQ>0 then begin

if -q/2+Sqrt(QQ)>0 then y1:=exp(ln(abs(-q/2+Sqrt(QQ)))/3);

if -q/2+Sqrt(QQ)=0 then y1:=0;

if -q/2-Sqrt(QQ)>0 then y2:=exp(ln(abs(-q/2-Sqrt(QQ)))/3);

if -q/2-Sqrt(QQ)=0 then y2:=0;

x1:=y1+y2-B/A/3; Re:=-(y1+y2)/2-B/A/3; Im:=(y1-y2)*Sqrt(3)/2;

Edit9.Text := FloatToStr(Re)+’ + i * ‘+FloatToStr(Im);

Edit10.Text:= FloatToStr(Re)+’ — i * ‘+FloatToStr(Im);

· Если дискриминант равен нулю:

if QQ=0 then begin

if q>0 then y1:=-exp(ln(abs(-q/2))/3);

Edit8.Text := FloatToStr(x1); Edit9.Text := FloatToStr(x2);

В программе также организован программный контроль ввода коэффициентов. Для этого создан обработчик события KeyPress для соответствующих элементов типа Edit [6]:

if not (Key in [‘-‘, ‘1’..’9′, #8]) then Key := #0.

В рамках проведенного исследования было рассмотрено несколько способов решения кубических уравнений, в том числе, с использованием формулы Кардано. Были изучены различные нюансы применения этого метода, а также проведено исследование зависимости получаемых результатов от знака кубического дискриминанта. В статье также приведен подробный алгоритм, разработанный авторами статьи, на основе тригонометрической интерпретации формулы Кардано, а также рассмотрены основные процедуры созданного программного обеспечения в объектно-ориентированной среде Delphi.

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

1. Бронштейн И.Н., Семендяев К.А. Справочник по математике для инженеров и учащихся ВТУЗов. – М.: Наука, 1986.

2. Омельченко В.П., Э.В.Курбатова. Математика: учебное пособие. – Ростов н/Д.: Феникс, 2005.

3. Пичурин Л.Ф. За страницами учебника алгебры. – М.: Просвещение, 1990.

4. Корн Г., Корн Т. Справочник по математики для научных работников и инженеров. – М.: Наука, 1973.

5. Фленов М.Е. Библия Delphi. – С-Пб: БХВ-Петербург, 2011.

6. Архангельский А.Я. Delphi 7. Справочное пособие. – М.: Бином, 2004.

Поступила в редакцию 07.04.2014 г.

Презентация по теме: «Решение уравнений третьей степени»

НОУ. Презентация выступления ученика 11 класса Корнева Алексея по теме: «Решение уравнений третьей степени». Включает разработанную учеником компьютерную программу, для решения указанных уравнений.

Скачать:

ВложениеРазмер
Презентация по алгебре 10-11 класс. Тема «Решение уравнений третьей степени» (различными способами).1.01 МБ
Предварительный просмотр:

Подписи к слайдам:

Выполнил: ученик 11 «а» класса Корнев Алексей Владимирович научный руководитель: Пузанова Наталья Анатольевна, учитель математики «Решение уравнений третьей степени» МБОУ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №68 г. Нижний Новгород 2014 год

ЦелЬ работы: Освоить решение кубических уравнений различными способами задачи: найти исторические сведения об открытии формул для решения кубических уравнений узнать новые способы решения создать несклько компьютерных программ для решения данных уравнений

Исторические сведения Николо Тарталья (1499-1557) Джироламо Кардано (1501-1576)

Понятие кубического уравнения Кубическое уравнение — алгебраическое уравнение третьей степени, ax 3 + bx 2 +cx-d=0 где a , b,c , d — коэффициенты, а х — переменная. Число x , обращающее уравнение в тождество , называется корнем или решением уравнения График кубического уравнения Любое кубическое уравнение можно привести к более простому виду -каноническому : y 3 +py+q=0

Способы решения Кубических уравнений: с помощью вынесения общего множителя; с помощью деления на многочлен; с помощью формулы Кардано ; с помощью теоремы Виета; с помощью схемы Горнера; решение возвратных уравнений; г рафический способ. с помощью компьютерных программ

Алгоритм решения: 1. Перегруппировать члены данного уравнения 2. Вынести общий множитель за скобки 3. Получить произведение равное нулю 4. Решить полученные уравнения. Решение кубических уравнений с помощью вынесение общего множителя за скобки

Алгоритм решения: 1. Подобрать один корень из делителей свободного члена 2. Поделить многочлен на многочлен 3.Найти корни в получившемся квадратном уравнении Решение кубических уравнений с помощью д еления многочлен на многочлен

Алгоритм решения: 1. Свести уравнение к каноническому виду ( добавить кононич . вид ) 2. Расчет корней по специальной формуле (добавить формулу) Решение кубических уравнений с помощью формулы Кардано

Алгоритм решения: 1. Подобрать корни, удовлетворяющие системе a x 3 + b x 2 + c x + d = 0 x 1 +x 2 +x 3 =-b/a x 1 x 2 +x 2 x 3 +x 3 x 1 =c/a x 1 x 2 x 3 =-d/a Решение кубических уравнений с помощью теоремы Виета ,где x 1 , x 2 , x 3 – корни уравнения

Не очень хорошо стоят индексы 1,2,3

Алгоритм решения: 1. По схеме Горнера найти корень уравнения 2. Решить получившееся квадратное уравнение Решение кубических уравнений с помощью схемы Горнера

Алгоритм решения: 1. Корнем уравнения является x=-1 2. Поделить многочлен на многочлен 3. Найти корни в получившемся квадратном уравнении Решение возвратных кубических уравнений

Алгоритм решения: 1. Разбить кубическое уравнение на два уравнения 2. Построить графики функций стоящих в левой и правой частях уравнения 3. Абсциссы точек пересечения графиков – корни заданного уравнения Графический способоб решения кубических уравнений

Старинные задачи, связанные с кубическими уравнениями

Решение кубических уравнений С помощью компьютерной программы Ознакомившись с кубическими уравнениями, я написал ещё программу для быстрого их решения. Метод , который будет использоваться в программе — перебор. Программа находит целочисленные корни находящиеся в промежутки от -100 до 100. Язык программирования: Pascal .

Итог моих исследований Просмотрев множество способов решения кубических уравнений, я остался верен двум на мой взгляд самым надёжным и практичным способам — это теорема Виета и схема Горнера, они позволяют быть уверенным в своем ответе. Теперь, выбирая между ними, мне стоит лишь посмотреть на сложность коэффициента уравнения.

Изображение алгоритма в виде блок-схемы

Блок-схемой называется наглядное графическое изображение алгоритма.

В блок-схеме отдельные этапы алгоритма изображают при помощи различных геометрических фигур – блоков.

Последовательность выполнения этапов указываются при помощи стрелок, соединяющих эти фигуры. Блоки сопровождаются надписями.

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

Блок начала (конца) алгоритма

Надпись: «начало» («конец»).

Блок ввода-вывода данных

Надпись: «ввод» («вывод»)

и список переменных вводимых (выводимых).

Блок решения (арифметический)

Надпись: операция или группа операций.

Надпись: логическое условие.

2.3. Составной оператор

Это группа операторов, отделенных друг от друга точкой с запятой, начинающихся с открывающей фигурной скобки < и заканчивающихся закрывающейся фигурной скобкой >.

Транслятор воспринимает составной оператор как один оператор.

2.4. Операторы ветвления

Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.

Условный оператор, соответствующий приведенной блок-схеме, имеет вид:

if (выражение) оператор_1;

Вычисляется выражение. Если оно не равно нулю, т.е. имеет значение true, выполняется оператор_1, в противном случае (выражение равно нулю, т.е. false) – оператор_2.

Если в зависимости от некоторого условия выполняется некоторое действие, а в противном случае ничего не происходит, то алгоритм имет вид:

Условный оператор в этом случаеимет конструкцию:

if (выражение) оператор;

Эту запись можно назвать «пропуск оператора else».

Здесь оператор либо выполняется, либо пропускается, в зависимости от значения выражения.

Если в какой-либо ветви условного процесса требуется выполнить несколько операторов, следует использовать составной оператор.

2.5. Примеры программ

Задача 2. Известны коэффициенты а, b и с квадратного уравнения ax2+bx+c=0. Вычислить корни квадратного уравнения.

Входные данные: a, b, c.

Выходные данные: х1, х2.

printf(\n vvedite a \n);

printf(\n vvedite b \n);

printf(\n vvedite c \n);

Задача 2. Решить ax4+bx2+c=0 биквадратное уравнение (y=x2).

Найти: х1, х2, х3, х4.

1. Вычисление дискриминанта уравнения d.

2. Если d ³ 0, определяются y1 и y2, а иначе корней нет.

3. Если y1, y20 , то корней нет.

4. Если y1, y2 ³0 , то вычисляются четыре корня по формулам и выводятся значения корней.

5. Если условия 3) и 4) не выполняются, то необходимо проверить знак y1. Если y1³0, то вычисляются два корня по формуле . Если же y2³0, то вычисляются два корня по формуле . Вычисленные значения корней выводятся.

Задача 3.Решить кубическое уравнение:

(1)

После деления на a уравнение (1) принимает канонический вид:

(2)

где , , .

В уравнении (2) сделаем замену и получим приведенное уравнение (3)

, (3)

Где , .

Число действительных корней приведенного уравнения (3) зависит от знака дискриминанта :

Количество корней кубического уравнения

ДискриминантКол-во действительных корней
D?0
D

При положительном дискриминанте кубического уравнения (3) действительный корень вычисляется по формулам:

(4)

где .

При отрицательном дискриминанте уравнение (3) имеет 3 действительных корня:

, (5)

Где , .

После расчета корней приведенного уравнения (3) по формулам (4) или (5) необходимо перейти к корням заданного кубического уравнения (1):

[1] Текстовые файлы, в которых содержится описание используемых в программе элементов.

[2] Служат для уточнения внутреннего представления и диапазона значений стандартных типов

[3] Поток – виртуальный канал связи, создаваемый в программе для передачи данных

Статьи к прочтению:

КИНОШНОЕ ИЗОБРАЖЕНИЕ — БЕЗ БЮДЖЕТА!

Похожие статьи:

Разработка алгоритмов для структурного программирования и их реализация ВВЕДЕНИЕ Современным пользователям и профессиональным программистам приходится…

Наименование Обозначение Функция Блок начало-конец(пуск-остановка) Элементотображает вход из внешней среды или выход из неё (наиболее частое применение?…


источники:

http://nsportal.ru/ap/library/drugoe/2014/11/29/prezentatsiya-po-teme-reshenie-uravneniy-tretey-stepeni

http://csaa.ru/izobrazhenie-algoritma-v-vide-blok-shemy/