Содержание
Введение
1. Определение требований
1.1 Постановка задачи
1.2 Требования к интерфейсу
2. Анализ, формальная постановка и выборметода решения
2.1 Краткая характеристика операционнойсистемы
2.2 Краткая характеристика языка программирования
2.3 Компоненты среды Delphi, использованные в программе
2.4 Методы решения
3. Проектирование
3.1 Требования к аппаратному обеспечению
3.2 Инструкция пользователя
3.3 Инструкция программиста
4. Реализация и тестирование
Заключение
Список использованных источников
Листинг программы
Введение
Нелинейные уравнения – уравнениявида F(x)=0. при построении графиков таких уравнений получается не ровная линия,а какая либо фигура, например, парабола. Здесь значения того или иного экстремумафункции возрастают прямо пропорционально ее предыдущего значения.
Данная курсовая работа должнадать наглядное представление решений нелинейных уравнений на примере квадратныхуравнений второго порядка.
Пояснительная записка курсовойработы состоит из нескольких разделов.
Первый раздел пояснительнойзаписки включает в себя постановку задачи, требования, предъявляемые к разрабатываемымпрограммам, цели работы.
Второй раздел включает в себяпроектную часть продукта, в которой определяются названия объектов и их логическиеатрибуты, иногда статические связи между объектами.
Целью третьего раздела являетсяпринятие решений по структуре найденных абстракций и их взаимоотношения, а такжесоздание механизмов связи между абстракциями, в виде логической модели системы,представимой диаграммой классов и объектов.
В четвертомразделе происходит собственно разработка программы с автономным тестированием частейи их интеграцией. Описываются тестовые сценарии, процедуры и метрики для измерениячисла ошибок.
1. Определение требований
1.1 Постановка задачи
Целью создания курсового проектаявляется разработка программы для решения нелинейных уравнений различными численнымиметодами.
Данный программный продуктдолжен реализовывать следующие основные возможности:
— решение уравнения с помощьюдискриминанта;
— решение уравнения теоремойВиетта;
— решение квадратного уравненияс помощью таблицы Горнера;
Интерфейс программного продуктадолжен представлять собой удобную среду для ввода значений.
Получаемые ответы должны бытьправильными и корректными.
Для наполненияокон интерфейса элементами управления необходимо чёткое понимание задач пользователя.
На этапе визуального дизайна нужно правильноиспользовать компоненты среды программирования, чтобы показать пользователю длячего нужно каждое окно и как им пользоваться. Хорошо выполненный дизайн выглядитчистым, простым и аккуратным. Его можно понять одним взглядом.
1.2 Описание требованийк программе
Независимо от конкретностипроблемы, можно выделить некоторые формальные требования, на которых защищаетсяквалификация разработчика.
Устойчивость программы. Программане должна терять работоспособности, ни при каких, даже некорректных, действиях пользователя.Всякие действия, грозящие потерей информации, выполняются только после повторногоподтверждения. Вводимая информация там, где возможно, подвергается логическому контролю.
Функциональная полнота. Врамках согласованного с заказчиком подмножества функций все они должны быть реализованы.
Использование клавиатуры.На любом этапе нажатия любой клавиш (особенно функциональных) должно игнорироватьсяили вызывать предусмотренные действия (описанные в средствах помощи). Привязка действийк клавишам должна быть общепринятой.
2. Анализ, формальная постановкаи выбор метода решения
2.1 Краткая характеристикаоперационной системы
Windows 7 — операционная системасемейства Windows NT, следующая за Windows Vista. В линейке Windows NT система носитномер версии 6.1 (Windows 2000 — 5.0, Windows XP — 5.1, Windows Server 2003 — 5.2,Windows Vista и Windows Server 2008 — 6.0). Серверной версией является Windows Server2008 R2, версией для интегрированных систем —Windows Embedded Standard 2011 (Quebec),мобильной —Windows Embedded Compact 2011 (Chelan, Windows CE 7.0).
Операционная система поступилав продажу 25 октября 2009 года, меньше чем через три года после выпуска предыдущейоперационной системы, Windows Vista. Хотя изначально операционная система должнабыла поступить в продажу уже 31 августа 2009 года. Партнёрам и клиентам, обладающимлицензией Volume Licensing, доступ к RTM был предоставлен 24 июля 2009 года. Финальнаянелицензионная версия (копия с дисков, которые потом пошли в продажу) была доступнавсем с первых чисел августа 2009 года.
В состав Windows 7 вошли какнекоторые разработки, исключённые из Windows Vista, так и новшества в интерфейсеи встроенных программах. Из состава Windows 7 были исключены игры Inkball, UltimateExtras; приложения, имеющие аналоги в Windows Live (Почта Windows, Календарь Windowsи пр.), технология Microsoft Agent, Windows Meeting Space; из меню «Пуск» исчезлавозможность вернуться к классическому меню и автоматическая пристыковка браузераи клиента электронной почты...
Разработка Windows 7
Кодовое название Blackcombпринадлежало Windows NT 6.0, операционной системе, которая, как планировалось, станетследующей после Windows XP. Blackcomb должна была стать преемником этой ОС как длянастольных, так и для серверных рабочих станций. В конце 2001 года выпуск Blackcombзапланировали на 2005 год, а в августе2002 года было объявлено о том, что промежуточнойверсией станет Windows Longhorn, которая будет обновлением ядра Windows NT 5.x.В течение разработки Windows Longhorn в неё были добавлены некоторые функции Blackcombи присвоен номер 6.0. Blackcomb была окружена неразберихой, связанной с некоторымисообщениями о том, что планы по маркетингу были сильно пересмотрены и что она должнабыть серверной ОС Windows 6.x, но с улучшениями.
Vienna
В январе 2006 года Microsoftобъявила, что новой клиентской ОС будет Vienna, выход которой был запланирован на2010 год.
Fiji
В марте 2006 года стало известно,что наследницей Windows Vista будет Fiji, выход которой был запланирован на2008год.
В 2008 году, в результатежалоб фиджийцев на то, что новая ОС будет носить имя их страны, стали известны новыесведения о Fiji. По словам фиджийцев, Бен Грин сказал, что в Fiji будут добавленыновые телевизионные форматы, поддержка интерактивных служб и улучшения пользовательскогоинтерфейса для Windows Media Center. Вполне вероятно, во включённую в состав Windows7 программу Windows Media Center уже добавлены изменения, которые должны были бытьв Fiji.
Windows 7
24 июля 2007 года корпорацияMicrosoft официально сменила кодовое название Vienna на Windows 7. НомерWindows7 в линейке NT, в которой она будет находиться — 6.1 (в своё время системы этогосемейства получили номера: Windows 2000 — 5.0, Windows XP — 5.1, Windows Server2003 — 5.2, Windows Vista — 6.0, Windows Server 2008 — 6.0).
13 октября 2008 года вице-президентMicrosoft Майк Нэш сообщил, что кодовое имя Windows 7 и станет официальным названиемновой версии.[9]
Начальная редакция (Windows7 Starter) будет распространяться исключительно с новыми компьютерами, она не будетвключать функциональной части для проигрывания H.264, AAC, MPEG-2. Домашняя базовая— предназначена исключительно для выпуска в развивающихся странах, в ней нет интерфейсаWindows Aero с функциями Peek, Shake, общего доступа к подключению в интернет инекоторых других функций. Также в ней есть те же ограничения на просмотр, что ив начальной редакции. В профессиональной и максимальной версиях существует поддержкаXP Mode (на некоторых процессорах).
Кроме этого, согласно требованиямЕврокомиссии, для продаж в Европе планировалась специальная версия всех редакцийс индексом «Е» («Windows 7 Е») — без предустановленного браузера Internet Explorer,однако она снята с продажи. Одной из причин снятия с продаж является недовольствопартнёров и OEM-производителей отсутствием браузера в изначальной комплектации.Всем, кто выполнил предзаказ версии с индексом «Е», было предложено заказать обновлениеили заказать полную версию с 1 сентября 2009 года.
Тем не менее, в течение 5лет планируется заменить встроенный Internet Explorer опциональным. В настоящеевремя данная схема согласована с Еврокомиссией.
Все редакции, за исключениемНачальной, существуют как в 32-битной, так и в 64-битной версиях.
Максимальный объём оперативнойпамяти для 32-битных версий ограничен 4 Гб, Начальная редакция поддерживает до 2Гб. Однако на практике пользователю часто доступен меньший объём, из-за аппаратныхограничений часто невозможно реализовать функцию режима PAE. Поддержка более крупныхобъёмов памяти доступна только для 64-битных версий. Они поддерживают до 8 Гб («Домашняябазовая»), до 16 Гб («Домашняя расширенная»), все старшие версии могут адресоватьдо 192 Гб оперативной памяти.
Бесплатная 90-дневная версияWindows 7 Корпоративная доступна для ИТ-специалистов, желающих познакомиться с Windows7 в рамках организации.
Операционная система обладаетподдержкой мультитач-управления. Эта возможность была впервые продемонстрированаMicrosoft на ежегодной конференции TechEd’08 в Орландо. В ходе демонстрации использоваласьсборка системы 6.1.6856, а также опытная модель ноутбука с мультитач-экраном.
Сетевая технология BranchCache позволяет кешировать содержимое интернет-трафика. Если пользователю в локальнойсети потребуется файл, который уже был загружен кем-то из пользователей его сети,— он сможет получить его из локального кэш-хранилища, а не использовать канал сограниченной пропускной способностью. Сетевой кеш может работать в двух режимах— Hosted Cache и Distributed Cache. В первом случае — файл хранится на выделенномлокальном сервере под управлением Windows Server 2008 R2, во втором случае серверне требуется, а кеш распределяется для хранения на компьютерах пользователей. Технологиярассчитана на крупные сети и предлагается для внедрения на предприятиях в составеКорпоративной и Максимальной версий ОС.
В ОС также встроено около120 фоновых рисунков, уникальных для каждой страны и языковой версии. Так, русскаяверсия включает тему «Россия» с шестью уникальными обоями высокого разрешения. Всеверсии включают 50 новых шрифтов. Существующие шрифты доработаны для корректногоотображения всех символов. Windows 7 — первая версия Windows, которая включает большешрифтов для отображения нелатинских символов, чем для отображения латинских. Панельуправления шрифтами также подверглась улучшению — по умолчанию, в ней будут отображатьсятолько те шрифты, раскладка для которых установлена в системе. Реализована поддержкаUnicode5.1.[ Панель поиска Instant Search теперь распознаёт больше языков.
Дополнительным преимуществомWindows 7 можно считать более тесную интеграцию с производителями драйверов. Большинствоиз них определяются автоматически, при этом в 90 % случаев сохраняется обратнаясовместимость с драйверами для Windows Vista.
Windows 7 поддерживает псевдонимыдля папок на внутреннем уровне. К примеру, папка Program Files в некоторых локализованныхверсиях Windows была переведена и отображалась с переведённым именем, однако науровне файловой системы оставалась англоязычной.
Мультимедиа
Новая, 11-я, версия DirectX,впервые выпущенная именно в составе этой операционной системы, имеет следующие улучшения:добавлена поддержка новых вычислительных шейдеров, возможность многопоточного рендеринга,улучшена тесселяция, появились новые алгоритмы компрессии текстур и др.
Проигрыватель Windows MediaPlayer 12 получил новый интерфейс и стал поистине «всеядным», в отличие от предшественника,которому требовалось большое количество кодеков для воспроизведения. Однако, онне может воспроизводить лицензионные Blu-Ray диски с видео, но имеет возможностьсчитывать и записывать на них данные.
Мобильность
Несмотря на то, что Центрмобильности Windows не претерпел значительных изменений со времён Windows Vista,Windows 7 работает дольше предшественницы на ноутбуках и потребляет меньше энергии,особенно при воспроизведении DVD. На представленной в конце августа 2009 года системес двумя идентичными ноутбуками с предустановленной Windows 7 и Windows Vista выигрышсоставлял до 20 %. Также была показана рекордная скорость загрузки системы — 11секунд. Система включала SSD и прочие высокопроизводительные компоненты. Подобныйтест вдохновил энтузиастов протестировать влияние браузера на время жизни батареи.Включённый в состав Windows 7 браузер Internet Explorer 8 показал наилучшие результатына платформе Intel.
Тем не менее, по результатамнезависимых тестов выяснено, что Windows 7 заметно быстрее, чем Windows XP, сажаетбатарею ноутбука. Начиная с августа эксперты журнала Laptop (laptopmag.com) проводилитестирование финальной версии Windows 7, в том числе замеряя время автономной работыпортативных ПК под её управлением. Общий итог оказался неутешительным: средний нетбукпод управлением «семёрки» в целом работает от аккумулятора на 47 минут меньше, посравнению с XP. В случае модели ASUS 1008HA «недостача» составила 57 минут или 16,7%. Другие издания также проводили подобные исследования и также пришли к этим выводам.Проигрыш составляет от 10 до 30 процентов по времени работы.
Возможная причина заключаетсяв оптимизации Windows 7 под графические акселераторы, в то время как многие нетбукиработают на встроенных видеокартах Intel и VIA, которые не поддерживают порой функцииAero. Также многие нетбуки работают под управлением Windows 7 Starter Edition, котораяне поддерживает Aero в полной мере. Другой возможной причиной является отсутствиеподдержки ОС со стороны производителей нетбуков. Так, с новыми драйверами и BIOS,датированными ноябрём 2009 года, Asus Eee 1000HA работает под Windows 7 столь жедолго, сколь и под управлением Windows XP.
2.2 Описание языка программирования
По условию выполнения курсовойработы программу следует выполнить в среде Delphi.
Delphi обладает широким набором возможностей,начиная от проектировщика форм и кончая поддержкой всех форматов популярных базданных. Среда устраняет необходимость программировать такие компоненты Windows общего назначения, как метки, пиктограммыи даже диалоговые панели. Также здесь имеются предварительно определенные визуальныеи не визуальные объекты, включая кнопки, объекты с данными, меню и уже построенныедиалоговые панели. С помощью этих объектов можно, например, обеспечить ввод данныхпросто несколькими нажатиями кнопок мыши, не прибегая к программированию.
Создаваемое в среде Delphi приложение состоит из нескольких элементов,объединенных в проект. В состав проекта входят следующие элементы (в скобках указанырасширения имен файлов):
– код проекта (DPR);
– описание форм (DFM);
– модули форм (PAS);
– модули (PAS);
– параметры проекта (DOF);
– описание ресурсов (RES).
Главное окно Delphi 7 в соответствии с рисунком 2.2
/>
Рисунок 2.2- Главноеокно Delphi
Главные составные части средыпрограммирования:
– дизайнер Форм (Form Designer);
– окно Редактора ИсходногоТекста (Editor Window);
– палитра Компонент (Component Palette);
– инспектор Объектов (Object Inspector);
– справочник (On-line help).
Дизайнер Форм первоначальносостоит из одного пустого окна, которое Вы заполняете всевозможными объектами, выбраннымина Палитре Компонент.
Палитра Компонент позволяетвыбрать нужные объекты для размещения их на Дизайнере Форм. Выбранный объект появитсяна проектируемом окне и им можно манипулировать с помощью мыши.
Слева от Дизайнера Форм Выможете видеть Инспектор Объектов. Инспектор Объектов состоит из двух страниц, каждуюиз которых можно использовать для определения поведения данного компонента. Перваястраница — это список свойств, вторая — список событий.
Delphi – это комбинация несколькихважнейших технологий:
– высокопроизводительный компиляторв машинный код;
– объектно-ориентированнаямодель компонент;
– визуальное построение приложенийиз программных прототипов;
Компилятор, встроенный в Delphi,обеспечивает высокую производительность, необходимую для построения приложений вархитектуре «клиент–сервер». Этот компилятор в настоящее время является самым быстрымв мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту.
Основной упор в объектно-ориентированноймодели программных компонентов в Delphi делается на максимальном использовании кода.Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленныхобъектов, а также дает им возможность создавать свои собственные объекты для средыDelphi. Никаких ограничений по типам объектов, которые могут создавать разработчики,не существует. Среда Delphi включает в себя полный набор визуальных инструментовдля скоростной разработки приложений, поддерживающей разработку пользовательскогоинтерфейса и подключение к корпоративным базам данных. VCL – библиотека визуальныхкомпонент, включает в себя стандартные объекты построения пользовательского интерфейса,объекты управления данными, графические объекты, объекты мультимедиа, диалоги иобъекты управления файлами, управление DDE и OLE.
Внешний вид среды программированияDelphi отличается от многих других из тех, что можно увидеть в Windows.
Среда Delphi же следует другойспецификации, называемой Single Document Interface (SDI), и состоит из несколькихотдельно расположенных окон. Delphi использует структурный объектно-ориентированныйязык (Object Pascal), который сочетает с одной стороны выразительную мощь и простотупрограммирования, характерную для языков 4GL, а с другой стороны эффективность языка3GL.
Delphi полностью поддерживаетпередовые программные концепции, включая инкапсуляцию, наследование, полиморфизми управление событиям.
2.3 Компоненты среды Delphi, использованные в программе
Рассмотрим все требованияк разрабатываемой программе. Программа должна обладать удобным интуитивно понятныминтерфейсом. Быть простой в использовании, надежной и быстрой в работе. Не требоватьособых знаний ПК. Поддерживать стабильную работу и быть защищенной от поврежденийинформации при сбое компьютера или ошибок пользователя.
При создании интерфейса быливыполнены все поставленные задачи. Программа обладает удобным интуитивно понятныминтерфейсом. Обладает такими качествами как простата в использовании, надежностьи быстрота в работе. Не требовать особых знаний ПК. Поддерживает стабильную работуи защищена от повреждений информации при сбое компьютера или ошибок пользователя.
Компоненты, которые используютсяв данном программном продукте, представлены в соответствии с таблицей 3.1
Таблица 2.1 – Компоненты программыОбъект Название компонента Вкладка Свойства 1 Кнопка «Решить с помощью дискриминанта» Button1 Standard - 2 Кнопка «Решить с помощью теоремы Виетта» Button2 Standard - 3 Кнопка «Решить с помощью схемы Горнара» Button3 Standard - 4 Надпись «Уравнение вида» Label1 Standard Size – 14 5 Надпись «Введите коэффициенты» Label5 Standard Size – 12 6 Надпись «а=» Label2 Standard Size – 10 7 Надпись «b=» Label3 Standard 8 Надпись «c=» Label4 Standard 9 Ввод a Edit1 Standard - 10 Ввод b Edit2 Standard - 11 Ввод c Edit3 Standard - 10 Вывод результата Memo1 Standard -
2.4 Методы решения
Квадратное уравнение — уравнениевида ax2 + bx + c= 0, где а не равно нулю.
Получение формулы для решения
Формулу можно получить следующимобразом:
аx2 + bx + c = 0
аx2 + bx = − c
Умножаем каждую часть на 4aи прибавляем b2:
4a2x2+ 4abx + b2 = − 4ac + b2
(2ax + b)2= − 4ac + b2
/>
Уравнение с вещественнымикоэффициентами
Квадратное уравнение с вещественнымикоэффициентами /> может иметь от 0 до2 вещественных корней в зависимости от значения дискриминанта D = b2 − 4ac:
при D > 0 корней два, иони вычисляются по формуле
/> (2.1)
при D = 0 корень один (в некоторыхконтекстах говорят также о двух равных или совпадающих корнях), кратности 2:
/> (2.2)
при D
Другие записи решений
Вместо формулы (2.1) для нахождениякорней можно использовать эквивалентное выражение
/> (2.3)
где k = b / 2
Это выражение является болееудобным для практических вычислений при чётном b, то есть для уравнений вида ax2+ 2kx + c = 0.
Приведённое квадратное уравнение
Квадратное уравнение видаx2 + px + q = 0, в котором старший коэффициент a равен единице, называют приведённым.В этом случае формула для корней (2.1) упрощается до
/> (2.4)
Уравнение с комплексными коэффициентами
В комплексном случае квадратноеуравнение решается по той же формуле (2.1) и указанным выше ее вариантам, но различимымиявляются только два случая: нулевого дискриминанта (один двукратный корень) и ненулевого(два простых корня).
Теорема Виета
Сумма корней приведённогоквадратного уравнения x2 + px + q = 0 равна коэффициенту p, взятому с обратным знаком,а произведение корней равно свободному члену q, то есть
/> (2.5)
В общем случае (для неприведённогоквадратного уравнения ax2 + bx + c = 0):
/> (2.6)
Разложение квадратного уравненияна множители
Если известны оба корня квадратногоуравнения, его можно разложить по формуле
/> (2.7)
В случае нулевого дискриминантаэто соотношение становится одним из вариантов формулы квадрата суммы или разности.
Уравнения, сводящиеся к квадратным
Уравнение вида
/> (2.8)
является уравнением, сводящимсяк квадратному. В общем случае оно решается заменой /> c последующимрешением квадратного уравнения/>.
Также при решении можно обойтисьбез замены, решив совокупность двух уравнений
/> (2.9)
/> (2.10)
Если f(x) = x2, то уравнениепринимает вид:
ax4 + bx2 + c = 0
Такое уравнение называетсябиквадратным
Схе́ма Го́рнера(или правило Горнера, метод Горнера) — алгоритм вычисления значения многочлена,записанного в виде суммы мономов, при заданном значении переменной. Метод Горнерапозволяет найти корни многочлена, а также вычислить производные полинома в заданнойточке. Схема Горнера также является простым алгоритмом для деления многочлена набином вида x − c. Метод назван в честь Уильяма Джорджа Горнера (англ.).
Описание алгоритма
Задан многочлен P(x):
/>.
Пусть требуется вычислитьзначение данного многочлена при фиксированном значении x = x0. Представим многочленP(x) в следующем виде:
/>.
Определим следующую последовательность:
/>
/>
/>
/>
Искомое значение P(x0) = b0.Покажем, что это так.
В полученную форму записиP(x) подставим x = x0 и будем вычислять значение выражения, начиная со внутреннихскобок. Для этого будем заменять подвыражения через bi:
/>
Использование схемы Горнерадля деления многочлена на бином
При делении многочлена /> на x − c получаетсямногочлен /> с остатком bn.
3. Проектирование
программаинтерфейс нелинейное уравнение
3.1 Требования к аппаратномуобеспечению
При выборе персонального компьютера,необходимо чтобы он обладал такими характеристиками как надежность, разрядность,производительность (тактовая частота), емкость основной памяти, емкость жесткогодиска, тип принтера, вид операционной системы, поддержка сети, совместимость с другимикомпьютерами. Очень важно выбрать монитор, потому что от него зависит комфортностьработы и здоровье пользователя. При выборе монитора необходимо учесть следующиефакторы: размер экрана, размер зерна экрана, разрешающая способность, частота кадровойразвертки, объем памяти видеоадаптера.
Экран желательно иметь плоский,антибликовый, с антистатическим покрытием (типа AS- Anti Static), с низким уровнемизлучения (тип- LR- Low Radiation). При выборе принтера нужно учесть: цветность,тип принтера (матричный, струйный, лазерный), количество игл или сопел, ширину печати,разрешающую способность, скорость печати, русификацию, емкость памяти, интерфейс,расходные материалы.
Для работы программы необходимоследующее минимальное аппаратное и программное обеспечение:
— Процессор Pentium III 400Мгц или аналогичный:
— 128 Мб оперативной памяти;
— 24 Мб свободного места надиске ;
— клавиатура;
— ручной манипулятор «мышь»;
— видео карта 32 Мб;
— 48-скоростной дисковод CD-ROM;
— операционная система MSWindows версий от Windows 98;
— пакет программ MicrosoftOffice.
— среда программирования BorlandDelphi 6
Эти требования являются минимальными,что означает, что при повышении класса компьютера и увеличении его производительности,эффективность использования программы также повысится.
Cостав ПК, на котором тестироваласьпрограмма
— Процессор AMD Athlon 1300,1.30 Ггц
— 512 Мб оперативной памяти;
— 100 Гб свободного местана диске ;
— клавиатура;
— ручной манипулятор «мышь»;
— видео карта GeForce 4, 64Мб;
— 52-скоростной дисковод CD-ROM;
— операционная система MSWindows XP;
— среда программирования BorlandDelphi 7
3.2 Инструкция пользователя
Данный программный продуктдолжен реализовывать следующие основные возможности:
— решение уравнения с помощьюдискриминанта;
— решение уравнения теоремойВиетта;
— решение квадратного уравненияс помощью таблицы Горнера;
В результате разработки данногопрограммного средства получилась выходная документация: инструкция пользователяи инструкция программиста.
Выполнение программы.
Для начала работы с программойследует загрузить на диск С: файлы программы в одну папку с CD, содержащим программу.
Для запуска программы следуетзапустить файл Project1.exe.
Появится главное окно программыв соответствии с рисунком 3.1
/>
Рисунок 3.1 – Главное окнопрограммы
В правой части окна расположенополе вывода данных. В левой же части вводятся данные и находятся кнопки управленияпрограммой.
Кнопки управления следующие:
— «Решить с помощью дискриминанта»- решение квадратного уравнения стандартным методом (с помощью нахождения дискриминанта);
— «Решить с помощью теоремыВиетта» — нахождение решения с применением теоремы Виетта;
— «Решить с помощью схемыГорнера» — решение квадратного уравнения только с корнями 2, 8 и 6;
— «Выход» — завершение работыпрограммы.
Распишем командные кнопкиболее подробно
После ввода значений a, b и c следует выбрать метод решения.
При выборе кнопки «Решениес помощью дискриминанта» программа сначала найдет дискриминант по формуле
/> (3.1)
Далее программа проверяет,чему равен дискриминант. Если он больше нуля, то он выводит ответ в соответствиис рисунком 3.2
/>
Рисунок 3.2 – Корни, найденныепо дискриминанту
Если же дискриминант меньшенуля, то программа покажет следующее окно в соответствии с рисунком 3.3
/>
Рисунок 3.3 – Дискриминантменьше нуля
При дискриминанте равном нулю,программа найдет только один корень и покажет его в соответствии с рисунком 3.4
/>
Рисунок 3.4 – Дискриминантравен нулю
При решении уравнения методомтеоремы Виетта программа должна показать сумму и произведение корней уравнения.Результат решения в соответствии с рисунком 3.5
/>
Рисунок 3.5 – Уравнение, решенноетеоремой Виета
Корни для данного метода решенияследует искать методом подбора. Данная программа их найти не может
Решение с помощью схемы Горнераподходит только если а=2, b=8, a c=6, так как программирование нахождения делителей с очень трудоемкийи сложный процесс, требующий много времени. Результат работы схемы Горнера в соответствиис рисунком 3.6
/>
Рисунок 3.6 – Решение уравнениясхемой Горнера
3.3 Инструкция программиста
Установка программы.
Программа не требует инсталляциии запускается с любого носителя, так как выполнена в виде одного исполняемого файла– Project1.exe.
Для того чтобы открыть и просмотретькод программы необходимо установить у себя среду объектно-ориентированного программированияDelphi 2007. окно Delphi в соответствии с рисунком 3.6
/>
Рисунок 3.6 – Окно среды программированияDelphi
Далее в окне проекта нужновыбрать пункт «File» (Файл), затем пункт «Open Project» в открывшемся окне в соответствии с рисунком 4.6 найтифайл проекта приложения Project1.dpr и нажать кнопку «Открыть». Далее можноменять текст и внешний вид программы в соответствии со своими вкусовыми качествами.
После внесения изменений вкод программы нужно ее откомпилировать, нажав комбинацию клавиш Ctrl+F9.
4. Реализацияи тестирование
Рассмотримконтрольный пример выполнения программы. Запустим программу и зададим а=7, b=3 и с=4ю появится окно, повествующеео том, что корней в данном примере нет. Окно выполнения в соответствии с рисунком4.1
/>
Рисунок 4.1– Окно отрицательного дискриминанта
Чтобы задатьположительный дискриминант можно задать следующие параметры: а=2, b=10, c=8. Результат выполнения в соответствии с рисунком 4.2
/>
Рисунок4.2 – Положительный дискриминант
Зададимте же параметры для теоремы Виетта. Окно результата данного примера в соответствиис рисунком 4.3
/>
Рисунок 4.3– Уравнение, решенное теоремой Виета
При простомподборе корней, видно, что они действительно одинаковы как и с теми, которые получилисьв методе с дискриминантом.
Нажимаем«Выход» и завершаем работу с программой.
Заключение
Результатом проведения всейработы является создание программы, решающей квадратное уравнение несколькими методами,а именно:
— метод с применением дискриминанта;
— решение уравнения с помощьютеоремы Виетта;
— нахождение корней с помощьюсоздания схемы Горнера;
Использование мощных средствDelphi 7.0 по созданию приложений работающих в операционной системе Windows позволилосоздать программный продукт максимально ориентированный на конечного пользователя.
Вся необходимая работа порешению уравнений скрыта внутри и пользователю нет необходимости знать о ней. Онполучает только конечный результат.
Более того, программный интерфейсмаксимально облегчает работу по обращению с уравнением, предоставляя несколько методоврешения.
Все стандартные операции типапоиска дискриминанта и нахождения корней берёт на себя машина, что без сомненияэкономит усилия и время конечного пользователя.
Весь спектр задач решаетсяв рамках одной программы, с максимальной скоростью, удобством и точностью.
Было создано удобное простоев понимании приложение, позволяющее эффективно найти корни квадратного нелинейногоуравнения
Список использованных источников
Ананий В. Левитин Глава 6. Метод преобразования:Схема Горнера и возведение в степень
Волков Е. А. § 2. Вычисление значениймногочлена. Схема Горнера // Численные методы. — Учебное пособие для вузов. — 2-еизд., испр. — М.: Наука, 1987. — 248 с.
Винберг Э. Б. Алгебра многочленов. — М.:Просвещение, 1980. — 176 с.
Акулич И.Л. Математическое программированиев примерах и задачах: Учебное пособие для студентов эконом. спец. вузов. — М.: Высшаяшкола, 1986.
Карманов В.Г. Математическое программирование= Математическое программирование. — Изд-во физ.-мат. литературы, 2004
Максимов Ю.А. Алгоритмы линейного и дискретногопрограммирования. — М.: МИФИ, 1980.
Листингпрограммы
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas'{Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1,Form1);
Application.Run;
end.
Unit Unit1;
interface
uses
Windows, Messages,SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,jpeg, ExtCtrls, XPMan;
type
TForm1 = class(TForm)
Image1: TImage;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
Button3: TButton;
Button4: TButton;
XPManifest1: TXPManifest;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
procedure Button1Click(Sender:TObject);
procedure Button3Click(Sender:TObject);
procedure Button2Click(Sender:TObject);
procedure Button4Click(Sender:TObject);
procedure FormCreate(Sender:TObject);
private
{ Private declarations}
public
{ Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender:TObject);
var a,b,c,d,x1,x2:real;
begin
memo1.Lines.Clear;
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
d:=sqr(b)-(4*a*c);
if d>0 thenbegin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
memo1.Lines.Add('Входные данные:');
memo1.Lines.Add('a='+floattostr(a));
memo1.Lines.Add('b='+floattostr(b));
memo1.Lines.Add('c='+floattostr(c));
memo1.Lines.Add('');
memo1.Lines.Add('D(Дискриминант)= '+floattostr(d));
memo1.Lines.Add('');
memo1.Lines.Add('Корни уравнения');
memo1.Lines.Add('X1='+floattostr(x1));
memo1.Lines.Add('X2='+floattostr(x2));
end;
if d
memo1.Lines.Add('Дискриминант меньше0, корней нет');
end;
if d=0 then begin
x1:=-b/(2*a);
memo1.Lines.Add('Входные данные:');
memo1.Lines.Add('a='+floattostr(a));
memo1.Lines.Add('b='+floattostr(b));
memo1.Lines.Add('c='+floattostr(c));
memo1.Lines.Add('');
memo1.Lines.Add('D(Дискриминант)= 0');
memo1.Lines.Add('');
memo1.Lines.Add('Корень уравнения');
memo1.Lines.Add('X='+floattostr(x1));
end;
end;
procedure TForm1.Button2Click(Sender:TObject);
var s,p,a,b,c,d,x1,x2:real;
begin
memo1.Lines.Clear;
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
s:=-b/a;
p:=c/a;
memo1.Lines.Add('Входные данные:');
memo1.Lines.Add('a='+floattostr(a));
memo1.Lines.Add('b='+floattostr(b));
memo1.Lines.Add('c='+floattostr(c));
memo1.Lines.Add('');
memo1.Lines.Add('Сумма и произведение корней');
memo1.Lines.Add('X1+X2='+floattostr(s));
memo1.Lines.Add('X2*X2='+floattostr(p));
memo1.Lines.Add('');
memo1.Lines.Add('Корни следует искать подбором');
end;
procedure TForm1.Button3Click(Sender:TObject);
begin
application.Terminate;
end;
procedure TForm1.Button4Click(Sender:TObject);
var sum,del,j:array[1..8] of integer;
i:integer;
a,b,c,k:integer;
begin
memo1.Lines.Clear;
a:=2;
b:=8;
c:=6;
// Выводим делители С
del[1]:=1;
del[2]:=-1;
del[3]:=2;
del[4]:=-2;
del[5]:=3;
del[6]:=-3;
del[7]:=6;
del[8]:=-6;
//Составляем таблицу
memo1.Lines.Add('Таблица Горнера:');
for i:=1 to 8 dobegin
sum[i]:=del[i]*((del[i]*a)+b)+c;
// Выводим значения
memo1.lines.add(inttostr(del[i])+''+inttostr(a)+' '+inttostr((del[i]*a)+b)+' '+inttostr(sum[i]));
end;
k:=0;
for i:=1 to 8 dobegin
if sum[i]=0 thenbegin
k:=k+1;
j[k]:=del[i];
end;
end;
memo1.Lines.Add('Делители,у которых сумма равна 0:');
for i:=1 to k do
memo1.Lines.Add('x'+inttostr(i)+'='+inttostr(j[i]));
end;
procedure TForm1.FormCreate(Sender:TObject);
begin
edit1.Text:='2';
edit2.Text:='8';
edit3.Text:='6';
end;
end.