КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Метод половинного деления
Тема курсовой работы На КУРСОВую РаБОТу Вычислительной техники КУРСОВаЯ РАБОТА по дисциплине «Інформатика»
Днепропетровск Министество образования и науки Украины
НАЦИОНАЛЬНИЙ ГОРНИЙ УНИВЕРСИТЕТ
ИНСТИТУТ ЭЛЕКТРОЭНЕРГЕТИКИ Факультет информационных технологий
Кафедра электроники и
ЗАДАНие по дисциплине «Інформатика»
Специальность: «Телекоммуникационные системы и сети» Группа ТКитС 14-1 Студент: Сиданченко Владислав Вадимович
«Численные методы решения математических задач с использованием языка программирования С++»
Задание выдал _____________ Задание принял _____________
Содержание 1 Задание: Найти корни алгебраического уравнения…………………………4
1.1Описание метода……………………………………………………....4 1.2 Задание…………….…………………………………………………..5 1.3 Нахождение пределов существования корней в пакете Mathcad….5 1.4 Нахождение корней уравнений в пакете Mathcad………………….6 1.5 Схема алгоритма.……………………………………………………..7 1.6 Листинг программы…..…………….………………………………...8 1.7 Результат работы программы…………..………..…………………...9
2 Выводы………………………………………………………………………..10
3 Список использованной литературы………………………..………………11
1 Найти корни алгебраического уравнения
1.1 Описание метода
Решение алгебраических уравнений. Рассмотрим метод решения уравнений вида f(x)=0 (1), где функция f(x) определена и непрерывна на некотором числовом множестве Х.
Построив график функции f(x) и определив отрезок [a;b], на котором лежит корень уравнения (рис. 1),. можно уточнить его значение методом половинного деления. Метод заключается в последовательном уменьшении отрезка [a;b], вдвое для этого определяем значения f(а) и f(b), которые должны иметь разные знаки, делим отрезок пополам и вычисляем значение f(с), где с=(а+b)/2 Если при этом f(c) = 0, то с – корень уравнения. Если же f(c) ≠ 0, то из двух отрезков [a;с] и [с;b] выбираем тот, на концах которого функция f(x) имеет значения разных знаков, т.к. только на этом отрезке может находиться корень уравнения. Для нашего примера таким отрезком будет [a;с]. Обозначив его [a1;b1], последовательно определяем с1=(а1+b1)/2, f(c1) и проводим аналогичные рассуждения. В результате таких «половинных делений» получим ряд отрезков [a1;b1], [a2;b2], [a3;b3], …, [ai;bi], …, [an;bn], каждый из которых удовлетворяет условию f(аi) f(bi)<0,
Вычислительный процесс окончится в том случае, если выполнится условие f(сi)=0, т.е. будет найдено точное значение корня (что на практике встречается редко), или же получится отрезок [ai;bi] для которого выполнится условие , где – заданная точность вычисления корня (погрешность вычислений).
1.2 Задание
Вариант 5 Составить программу на языке программирования С++ для нахождения корней алгебраического 7х3+5х2-13=0 уравнения методом половинного деления. Проверить результат с помощью математического пакета Mathcad.
1.3 Нахождение пределов существования корней в пакете Mathcad
1.4 Нахождение корней уравнений в пакете Mathcad
1.5 Схема алгоритма
1.6 Листинг программы
#include "Stdafx.h" #include "conio.h" #define _USE_MATH_DEFINES #include <locale> #include <cmath>
void main() { setlocale(LC_ALL,"Russian"); float a,b,e,c,fc,fa; printf("Курсовая работа \n"); printf("студента гр.ТКитС-14 \nСиданченко Владислава\n"); { printf("\nВведите начальное значение a="); scanf("%f",&a); printf("Введите конечное значение в="); scanf("%f",&b); printf("Введите точность е="); scanf("%f",&e); Z:c=(a+b)/2; fc=7*pow(c,3)+5*pow(c,2)-13; if(fabs(fc)<=e) goto M; else {fa=7*pow(a,3)+5*pow(a,2)-13; if (fa*fc<0) b=c; else a=c; goto Z; } M:printf ("корень=%f",c); } _getch(); }
1.7 Результат работы
2 Выводы
В ходе курсовой работы были произведены следующие действия: 1) построен график функции в пакете MathCad; 2) найдены корни уравнения, используя стандартные функции пакета MathCad; 3) найдены корни уравнения с помощью метода половинного деления. Во всех двух вариантах нахождения корни совпали. Легче всего было искать корни используя MathCad. Выполняя данную курсовую работу, мы закрепили знания и умения программирования на языке C++.
3 Список использованной литературы
1. С/С++. Программирование на языке высокого уровня. Учебник для вузов / Т.А. Павловская.–СПб.: Питер, 2003. – 461 с.: ил.
2. MathCad в математических расчетах
3. Квиттнер П. Задачи, программы, вычисления, результаты –М.: Мир, 1980.– 422с.
4. Розробка алгоритмів та програмування мовою Turbo Pascal.-Сердюченко В.Я. –Харків: Паритет, 1995.– 352 с.
5. Самоучитель С++ / Г. Шилдт.–Перев. с англ.–3-е изд.–СПб.: БХВ-Петербург, 2002. – 688 с.
6. Справочник по высшей математике
7. Язык программирования С++. Лекции и упражнения. Учебник: Пер. с англ./ Стивен Прата–СПб.:: ООО «ДиаСофтЮП», 2003.–1104с.
Дата добавления: 2015-08-31; Просмотров: 711; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |