Создание программы решения уравнений второй и выше степени в системе Pascal ABC

V Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание программы решения уравнений второй и выше степени в системе Pascal ABC

Лагутина Е.В. 1
1Муниципальное общеобразовательное учреждение "Гимназия № 7 Красноармейского района Волгограда"
Брюхова И.А. 1
1Муниципальное общеобразовательное учреждение "Гимназия № 7 Красноармейского района Волгограда"
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

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

Объектом исследования является схема Горнера, и система программирования Pascal ABC.

Предметом исследования выступают алгоритм Горнера для решения уравнений второго порядка и выше в системе программирования Pascal ABC.

Цель исследования – реализация решения уравнений второго и выше порядка, основываясь на схеме Горнера в среде программирования Pascal ABC.

Цель и предмет исследования обусловили необходимость решения следующих задач:

Исследовать важность данной проблемы у обучающихся 9 – 11 классов и выявить эффективность взаимосвязи математического алгоритма и системы программирования Pascal ABC.

Определить эффективность создания программы решения уравнений.

Оценить перспективы от создания программы.

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

В процессе исследования использовались методы системного, математического и информационного ана­лиза. В качестве информационной базы были использованы материалы, научные труды специалистов в об­ласти программирования, и справочные материалы, концепции, пред­ставленные в современной математике.

В ходе исследования были использованы следующие группы методов:

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

эмпирические: опросно – диагностические методы (интервьюирование, беседы) и др.;

статистические: анализ статистических данных.

Научная новизна:

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

Определена эффективность создания программы решения уравнений второго и выше порядка в системе программирования Pascal ABC.

Оценены перспективы от создания программы.

Теоретическая значимость исследования состоит в разработке алгоритма решения уравнений второго и выше порядка при составлении программы на языке программирования Pascal ABC.

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

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

Этапы работы

Подготовительный (Подборка и изучение материала по данной теме, выделение проблем. Подборка вопросов для анкетирования)

Анкетирование (Анкетирование учащихся школы по разработанным анкетам)

Обработка анкет и анализ полученных результатов (Работа включает в себя выбор программного обеспечения для обработки анкет. Обработка данных и анализ результатов.)

Разработка алгоритма решения уравнений второго и выше порядка (На этом этапе на основе изученной литературы разрабатывается алгоритм решения уравнений второго и выше порядка.)

Составление и тестирование программы.

Презентация проекта (Представление итогового проекта для обсуждения и оценивания.)

Методы исследования. Анализ информационных источников, статистическая обработка результатов.

Глава 1. Теоретическая часть «Описание математических методов решения уравнений второго и выше порядка»

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

Различные уравнения решали более 25 веков назад. Множество способов решения таких уравнений были созданы в Вавилоне, Индии. Потребность в уравнениях была и будет. Нами приведены способы решения (нахождения корней) квадратных уравнений и уравнений высших степеней. Целое уравнение третьей или более высокой степени в отдельных случаях удается решить, используя точечные приемы. Один из приемов решения уравнения вида Р(х)=), где Р(х) – многочлен, степень которого больше двух, состоит в разложении многочлена на множители. Вспомним, какие способы разложения многочлена на множители мы изучали в 7 классе.

Вынесение общего множителя за скобки

Способ группировки

С помощью формул сокращенного умножения

С помощью корней квадратного трехчлена.

В основном это способы решения для уравнений частного характера, то есть в каждой группе уравнений, объединенных какими – либо общими свойствами, приведено особое правило, которое применяется только для этой группы уравнений. Этот способ (подбора к каждому уравнению собственной формулы) гораздо легче, чем нахождение корней через дискриминант. Для деления многочленов применяется правило «деления углом», или схема Горнера.

1.1. Схема Горнера. Возможности.

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

Уильям Джордж Горнер (1786 – 1837), известный по схеме Горнера. Опубликована теорема была в 1815г. в Англии.

Схема Горнера позволяет:

Найти значение многочлена в точке a;

Выяснить, является ли число a – корнем многочлена;

Найти новый многочлен от деления на двучлен (понизить степень);

Используя схему Горнера, мы одновременно проверяем, является ли числоa корнем многочлена и делим этот многочлен на двучлен . Это нам потребуется для понижения степени уравнения и мы сможем воспользоваться вспомогательным алгоритмом.

Выделим существенные правила, которые нам могут пригодиться при решении уравнений второго и выше порядка. Здесь нам помогут такие факты:

Если сумма всех коэффициентов многочлена равна нулю, то число 1 является корнем многочлена.

Если сумма коэффициентов многочлена при четных степеняхравна сумме коэффициентов при нечетных степенях, то число -1 является корнем многочлена.

Для приведенного многочлена степени (из теоремы Виета следует, что) если корни многочлена целые, то они являются делителями его свободного члена, который также является целым числом.

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

1.2. Виды уравнений. 1.2.1. Уравнения второй степени (квадратные)

Квадратное уравнение - алгебраическое уравнение 2 - й степени. Общий вид уравнения: . Корни уравнения : Формулы верны при любых коэффициентах.

1.2.2. Уравнения третьей степени (кубические)

Кубическое уравнение - алгебраическое уравнение третьей степени. Общий вид кубического уравнения: ax3 + bx2 + cx + d = 0, где а ≠ 0

Используя правила Горнера решим уравнение такого вида. (Приложение 2). Понизив степень многочлена мы продолжаем решение обычного квадратного уравнения, рассмотренного ранее.

1.2.3. Уравнения четвертой степени

Уравнение четвертой степени - алгебраическое уравнение четвертой степени. Общий вид кубического уравнения: аx4 + bx3 + cx2 + dх+е = 0,где а ≠ 0.

Используя схему Горнера решим уравнение этого вида.(Приложение 3). Понизив степень многочлена мы продолжаем решение кубического уравнения, используя схему Горнера, поставив перед собой цель, понизить степень до квадратного уравнения.

1.3. Заключение

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

Глава 2. Экспериментальная часть «Реализация метода Горнера на практике» 2.1. Эксперимент 1. Выявление основных методов решения уравнений второй и выше степени.

Цель: проанализировать основные методы решения уравнений на практике; проанализировать время, которое тратится на решение уравнений второй и выше степени.

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

По результатам анкетирования (приложение 1) учащихся 9 – 11 классов (всего 55 оппонентов) оценки правильного нахождения корней уравнений второго и выше порядка выделено:

Умеют решать квадратные уравнения через дискриминант 50 оппонентов; кубические уравнения делением «уголочком» подбором корней 10 оппонентов; 4 степени подбором корней 3 оппонента и заменой переменной; уравнения выше 4 степени не пробовал решать никто.

Время, которое затрачивается обучающимся на решение уравнений:

Из графика видно, что временные затраты на решение даже одного уравнения существенно. А если их надо решить несколько? Время увеличится в разы.

2.2. Эксперимент 2. Создание алгоритма решения уравнений второго порядка и выше.

Цель: проанализировать эффективность метода Горнера при составлении программы; выработать схему использования вспомогательного алгоритма.

Проанализировав анкеты, мы выяснили, что при решении уравнений второго и выше пличными методами: методом подбора корней, делением уголочком многочлена на многочлен, что довольно долгий процесс решения.

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

Обращаясь к вспомогательному алгоритму решения квадратного уравнения (приложение 3) и алгоритму «понижения степени» многочлена (нахождения делителей многочлена, разложение многочлена на множители), воспользуемся схемой Горнера. 2.3. Эксперимент 3 . Создание программы, реализующей схему Горнера при решении уравнений второй и выше степени.

Цель: составить программу, позволяющую решать уравнения второй и выше степени; проанализировать работу программы.

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

В системе программирования четко реализованы принципы структурного программирования. Сначала мы написали программы отдельно для каждого вида уравнений. Затем воспользовались вспомогательным алгоритмом нахождения квадратного уравнения (приложение 3), кубического уравнения (приложение 4), решили объединить, составили программу с использованием процедуры. Рассмотренные теоретические вопросы дают возможность создания программы на Pascal ABC для решения.

Текст программы решения уравнений второй и выше степени, приведен в приложении 5.

Заключение.

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

Информационные источники

Математическая энциклопедия. — М.: Советская энциклопедия.И. М. Виноградов.1977—1985.

В.В. Фараонов «Турбо Паскаль». Издание 7-е переработанное

Интернет http://uztest.ru/abstracts/?idabstract=743616

Интернет http://math1.ru/education/raznoe/gorner.html

Интернет http://bookel.ucoz.ru/page4.htm

Интернет http://ru.wikipedia.org «Википедия» - универсальная энциклопедия

Приложение 1 Анкета для обучающихся

Умеете ли Вы решать уравнения вида ах2+ вх+с=0 (уравнения второго порядка)?

а) да Если «ДА» каким способом _____________________

б) нет

в) никогда не делал этого ( не встречал в своей жизни)

Сколько занимает времени решение одного уравнения второго порядка?

а) от 1 до 5 минут б) от 5до 10 минут

в) от 10 до 30 минут г) около часа

Умеете ли Вы решать уравнения вида ах3+ вх2+сх+d=0 (уравнения третьего порядка)?

а) да Если «ДА» каким способом ______________________

б) нет

в) никогда не делал этого ( не встречал в своей жизни)

Сколько занимает времени решение одного уравнения третьего порядка?

а) от 1 до 5 минут б) от 5до 10 минут

в) от 10 до 30 минут г) около часа

Умеете ли Вы решать уравнения вида ах4+ вх3+сх2+dx+e=0 (уравнения четвертого порядка)?

а) да Если «ДА» каким способом ______________________

б) нет

в) никогда не делал этого ( не встречал в своей жизни)

Сколько занимает времени решение одного уравнения четвертого порядка ?

а) от 1 до 5 минут б) от 5до 10 минут

в) от 10 до 30 минут г) около часа

Умеете ли Вы решать уравнения более высокого порядка ?

а) да Если «ДА» каким способом ______________________

б) нет

в) никогда не делал этого ( не встречал в своей жизни)

Хотели бы Вы научиться решать уравнения второго порядка и выше?

а) да б) нет в) предпочитаю списать

Хотели бы Вы иметь у себя программу, решающую уравнения второго порядка и выше?

а) да б) нет

Приложение 2 Решение уравнения методом Горнера

х3 + 4х2 + х – 6 = 0

Находим делители свободного члена ±1; ± 2; ± 3; ± 6.

Заполним таблицу

 

a

 

c

d

 

1

4

1

-6

 

1

1

5

6

0

корень

-1

1

-3

-4

2

Не корень

2

1

9

11

-1

Не корень

-2

1

2

-3

0

корень

3

1

7

22

60

Не корень

-3

1

1

-2

0

корень

6

1

10

61

360

Не корень

-6

1

-2

13

-84

Не корень

Левую часть уравнения обозначим f(x). Очевидно, что f(1) = 0, x1 = 1. Делим f(x) на х – 1.

Значит, данный многочлен разлагается на множители

х3 + 4х2 + х – 6 = (х – 1) (х2 + 5х + 6)

Последний множитель представляет собой многочлен 2- степени. Решаем уравнение х2+5х+6 = 0, т.е. обычное квадратное уравнение.

х2,3 = -2; -3

Ответ: 1; -2; -3.

Приложение 3 Нахождение корней квадратного уравнения

program kvadrat;

var x1,x2:real;

a,b,c,d,e,D1:integer;

begin

clrscr;

Writeln('Введитекоэффициент a='); readln(a);

Writeln('Введитекоэффициент b='); readln(b);

Writeln('Введитекоэффициент c='); readln(c);

D1:=b*b-4*a*c; writeln ('Дискриминант=',D1);

if D1>0 then begin

x1:=(-b-sqrt(D1))/(2*a);

x2:=(-b+sqrt(D1))/(2*a);

writeln('x1=',x1:2:2,' x2=',x2:2:2);

writeln('Нажмите любую клавишу для продолжения’);

end;

if D1=0 then begin

writeln('Дискриминант=',D1);

x1:=(-b)/(2*a);

writeln('x1=х2=',x1:2:2);

writeln('Нажмите любую клавишу для продолжения’);

end;

if D1

Просмотров работы: 2486