Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка программного обеспечения для нахождения корней биквадратного уравнения

Тип Реферат
Предмет Информатика и программирование
Просмотров
601
Размер файла
133 б
Поделиться

Ознакомительный фрагмент работы:

Разработка программного обеспечения для нахождения корней биквадратного уравнения

Содержание

Введение

1 Постановка задачи

2 Математические и алгоритмические основы решения задачи

3 Программная реализация решения задачи

4 Пример выполнения программы

Заключение

Список использованных источников и литературы


Введение

В те далекие времена, когда мудрецы впервые стали задумываться о равенствах содержащих неизвестные величины, наверное, еще не было ни монет, ни кошельков. Но зато были кучи, а также горшки, корзины, которые прекрасно подходили на роль тайников-хранилищ, вмещающих неизвестное количество предметов. "Ищется куча, которая вместе с двумя третями ее, половиной и одной седьмой составляет 37...", - поучал во II тысячелетии до новой эры египетский писец Ахмес. В древних математических задачах Междуречья, Индии, Китая, Греции неизвестные величины выражали число павлинов в саду, количество быков в стаде, совокупность вещей, учитываемых при разделе имущества. Хорошо обученные науке счета писцы, чиновники и посвященные в тайные знания жрецы довольно успешно справлялись с такими задачами. Дошедшие до нас источники свидетельствуют, что древние ученые владели какими-то общими приемами решения задач с неизвестными величинами. Однако ни в одном папирусе, ни в одной глиняной табличке не дано описания этих приемов. Авторы лишь изредка снабжали свои числовые выкладки скупыми комментариями типа: "Смотри!", "Делай так!", "Ты правильно нашел". В этом смысле исключением является "Арифметика" греческого математика Диофанта Александрийского (III в.) – собрание задач на составление уравнений с систематическим изложением их решений. Однако первым руководством по решению задач, получившим широкую известность, стал труд багдадского ученого IX в. Мухаммеда бен Мусы аль-Хорезми. Слово "аль-джебр" из арабского названия этого трактата – "Китаб аль-джебер валь-мукабала" ("Книга о восстановлении и противопоставлении") – со временем превратилось в хорошо знакомое всем слово "алгебра", а само сочинение аль-Хорезми послужило отправной точкой в становлении науки о решении уравнений. Алгебраическое уравнение четвертой степени.

,

где a, b, c – некоторые действительные числа, называется биквадратным уравнением. Заменой уравнение сводится к квадратному уравнению с последующим решением двух двучленных уравнений и ( и - корни соответствующего квадратного уравнения).

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

,

.

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

.

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

Случай , аналогичен разобранному.

,

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


1. Постановка задачи

Биквадратным называется уравнение вида ax4+bx2+c=0, где a 0. Биквадратное уравнение решается методом введения новой переменной: положив x2 = y, придем к квадратному уравнению ay2+by+c=0.

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

Пример 1.

Решить уравнение

x4+4x2-21=0.

Решение:

Положив x2 = y, получим квадратное уравнение y2+4y -21=0, откуда находим y1= -7, y2=3.

Теперь задача сводится к решению уравнений x2= -7, x2=3. Первое уравнение не имеет действительных корней, из второго находим

,

которые являются корнями заданного биквадратного уравнения..

Ответ: .

Пример 2.

Решить биквадратное уравнение.

4 – 5х2+2=0

Решение:

Обозначим х2=t. Тогда х4=(х2)2=t2 и уравнение примет вид:

2t2–5t+2=0

D=(–5)2 – 4(2)(2)=25 – 16 = 9 > 0,

t1=(5+3) / 4=2 и t2=(5 – 3) / 4=1 / 2.

Так как t=x2, то корни исходного уравнения найдем в результате решения уравнений

х1=2 и х2=1/2.

Имеем

Ответ:

2. Математические и алгоритмические основы решения задачи

Рассмотрим биквадратное уравнение

ax4 + bx2 + c = 0.

Введем подстановку

y = x2.

Получим квадратное уравнение общего вида

ay2 + by + c = 0.

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

y = x2

ay2 + by + c = 0.

Решим квадратное уравнение относительно переменной "y". Получим три возможных варианта решений:

дискриминант отрицателен: уравнение не имеет действительных решений;

дискриминант не отрицателен и равен нулю: уравнение имеет один двукратный корень;

дискриминант не отрицателен и равен нулю: уравнение имеет два различных корня.

В первом случае, когда дискриминант квадратного уравнения отрицателен, система не имеет решения, так как одно из входящих в нее уравнений, а именно квадратное уравнение ay2 + by + c = 0, не имеет решения.

Последние два случая соответствуют неотрицательному дискриминанту квадратного уравнения. Квадратное уравнение имеет действительные решения. Однако, обратите внимание на тот факт, что первое уравнение системы ax2 = y имеет смысл только при значениях y>=0. Поэтому, если оба корня квадратного уравнения ay2 +by +c = 0 отрицательны, система уравнений так же не имеет решения. Кроме того, если хотя бы один из корней квадратного уравнения ay2 +by +c = 0 отрицательный, система уравнений будет иметь только два действительных решения.

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

Словесное описание алгоритма решения задачи:

Ввести a, b, c.

Присвоить d = b2 - 4ac

Если d<0 перейти к 15

Присвоить y1 = (-b - SQRT(d)) / (2*a)

Присвоить y2 = (-b + SQRT(d)) / (2*a)

Если y1<0 и y2< 0 перейти к 15

Если y1<0 и y2>=0 перейти к 9

Если y1>=0 и y2<0 перейти к 13

Присвоить x1 = SQRT(y2)

Присвоить x2 = -x1

Выдать "x1=";x1, "x2=";x2

Перейти к 16

Присвоить y2 = y1

Перейти к 9

Выдать "Действительных решений нет"

Закончить

3. Программная реализация решения задачи

Файл UBikvur.h

//---------------------------------------------------------------------------

#ifndef UBikvurH

#define UBikvurH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include "HandTuning.h"

#include <ExtCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TfrmBikvur : public TForm

{__published: // IDE-managed Components

THandTuning *htA;

THandTuning *htB;

THandTuning *htC;

TButton *btnCalc;

TListBox *lbxX;

TLabel *Label1;

TLabel *Label2;

TButton *btnExit;

TButton *btnClear;

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TLabel *Label3;

TLabel *Label4;

TLabel *Label5;

void __fastcall btnCalcClick(TObject *Sender);

void __fastcall btnExitClick(TObject *Sender);

void __fastcall btnClearClick(TObject *Sender);

private: // User declarations

list<double> __fastcall Bikvur(double a, double b, double c);

public: // User declarations

__fastcall TfrmBikvur(TComponent* Owner);};

//---------------------------------------------------------------------------

extern PACKAGE TfrmBikvur *frmBikvur;

//---------------------------------------------------------------------------

#endif

Файл UBikvur.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#include <math.h>

#include <list.h>

#pragma hdrstop

#include "UBikvur.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma link "HandTuning"

#pragma resource "*.dfm"

TfrmBikvur *frmBikvur;

//---------------------------------------------------------------------------

list<double> __fastcall TfrmBikvur::Bikvur(double a, double b, double c)

{double y1, y2;

list<double> x;

//вычислене d дискриминанта

double d = b * b - 4 * a * c;

//корни существуют, если d >= 0

if(d >= 0)

{y1 = (-b - sqrt(d)) / 2 * a;

y2 = (-b + sqrt(d)) / 2 * a;}

if(d < 0 || (y1 < 0 && y2 < 0))

{Application->MessageBoxA(L"Действительных корней нет", L"Информация", MB_OK + MB_ICONINFORMATION);

return x;}

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

else

{if(y1 >= 0 && y2 >= 0)

{x.push_back(sqrt(y1));

x.push_back(-sqrt(y1));

x.push_back(sqrt(y2));

x.push_back(-sqrt(y2));}

else

{if(y1 < 0 && y2 >= 0)

{x.push_back(sqrt(y2));

x.push_back(-sqrt(y2));}

else

{x.push_back(sqrt(y1));

x.push_back(-sqrt(y1));}}}

return x;}

//---------------------------------------------------------------------------

__fastcall TfrmBikvur::TfrmBikvur(TComponent* Owner)

: TForm(Owner)

{}

//---------------------------------------------------------------------------

void __fastcall TfrmBikvur::btnCalcClick(TObject *Sender)

{lbxX->Clear();

list<double> res = Bikvur(htA->Value, htB->Value, htC->Value);

int i = 1;

while(!res.empty())

{lbxX->Items->Add("x" + IntToStr(i) + " = " + FormatFloat("0.000", res.front()));

res.pop_front();

i++;}}

//---------------------------------------------------------------------------

void __fastcall TfrmBikvur::btnExitClick(TObject *Sender)

{this->Close();}

//---------------------------------------------------------------------------

void __fastcall TfrmBikvur::btnClearClick(TObject *Sender)

{htA->Value = 0;

htB->Value = 0;

htC->Value = 0;

lbxX->Clear();}

//---------------------------------------------------------------------------

4. Пример выполнения программы

Пример 1.

Рисунок 1 – Решение биквадратного уравнения

Пример 2.

Рисунок 2 – Решение биквадратного уравнения

Пример 3.


Рисунок 3 – Решение биквадратного уравнения

Пример 4.

Рисунок 4 – Решение биквадратного уравнения

Пример 5.

Рисунок 5– Решение биквадратного уравнения

Пример 6.


Рисунок 6 – Очистка из пункта меню

Пример 7.

Рисунок 7 – Выход из программы


Заключение

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

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

Программный продукт был реализован в среде визуального программирования CodeGear RadStudio 2009 под ОС типа Windows для IBM PC-совместимых компьютеров.

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

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


Список использованных источников и литературы

1. Архангельский, А.Я. Программирование в С++ Builder 6. [Текст] / А.Я.Архангельский. – М.: Бином, 2003. С. 1154.

2. Ахо, А.. Построение и анализ вычислительных алгоритмов [Электронный ресурс] / А. Ахо, Дж. Хопкрофт, Дж.. Ульман. – М.: Мир. 1999. С. 143.

3. Бронштейн, И.Н. Справочник по математике для инженеров и учащихся втузов [Текст] / И.Н. Бронштейн, К.А. Семендяев. – М.: Наука, 2007. – 708 с.

4. Кремер, Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш.Кремер, 3-е издание – М.:ЮНИТИ-ДАНА, 2006. C. 412.

5. Калиткин, Н.Н. Численные методы. [Электронный ресурс] / Н.Н. Калиткин. – М.: Питер, 2001. С. 504.

6. Биквадратные уравнения [Электронный ресурс] – Режим доступа: http://fio.ifmo.ru/archive/group34/c4wu2/pege3-2.htm

7. Павловская, Т.А. Программирование на языке высокого уровня. [Текст] / Т.А. Павловская. – М.: Питер, 2003. С. 461.

8. Семакин, И.Г. Основы программирования. [Текст] / И.Г.Семакин, А.П.Шестаков. – М.: Мир, 2006. C. 346.


Нет нужной работы в каталоге?

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

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156804
рейтинг
icon
6076
работ сдано
icon
2739
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
65 048 оценок star star star star star
среднее 4.9 из 5
МАУ
Испонитель взялся за мою работу сразу и сдал её досрочно. Преподаватель принял работу,на х...
star star star star star
Политех
Реферат был написан в этот же день, все требования выполнены, очень довольна исполнителем
star star star star star
Институт экономики и Культуры
Уже ни первый раз заказываю у Валентины работы и все хорошо!Всем советую исполнителя.Все ч...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Необходимо выполнить 3D-модель интерьера на основании предоставленных фотографий.

Чертеж, Реставрация и воссоздание интерьеров памятников архитектуры, строительство

Срок сдачи к 5 апр.

2 минуты назад

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

Другое, Уголовное право

Срок сдачи к 21 февр.

4 минуты назад

Обж

Доклад, Обж

Срок сдачи к 23 февр.

6 минут назад

Обж

Презентация, Обж

Срок сдачи к 23 февр.

8 минут назад

Экономика задания 1-2 вариант 40

Контрольная, Экономика

Срок сдачи к 3 мар.

10 минут назад

Есть два примера (один в экселе, другой в ворде)

Контрольная, Математические методы в психологии

Срок сдачи к 1 мар.

12 минут назад

Ответить на вопросы

Контрольная, Социально-психологическая служба

Срок сдачи к 28 февр.

12 минут назад

Выполнить курс по электрические машины / до 2023 в-00254

Контрольная, Электрические машины

Срок сдачи к 14 мар.

12 минут назад

Выполнить депломную работу

Диплом, Геодезия

Срок сдачи к 2 мар.

12 минут назад

Выполнить курс по электроника 2.1 / до 2023 в-00255

Контрольная, Электроника

Срок сдачи к 14 мар.

12 минут назад
12 минут назад

Написать диссертацию

Магистерская диссертация, Бизнес маркетинг

Срок сдачи к 15 мая

12 минут назад
12 минут назад

Решение задач

Решение задач, Технические основы гибких производственных систем

Срок сдачи к 15 апр.

12 минут назад

Решить вариант 1.2

Курсовая, Конструирование Космических аппаратов

Срок сдачи к 23 февр.

12 минут назад

Я буду переводить тексты

Перевод с ин. языка, Английский язык

Срок сдачи к 21 февр.

12 минут назад

2 глава

Диплом, Экономика предприятия

Срок сдачи к 1 мар.

12 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно