Студопедия

КАТЕГОРИИ:


Архитектура-(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   Ст.пр. Галушко С.А.
Сиданченко В.В.   Ас. Милинчук Ю.А.

 

Днепропетровск

Министество образования и науки Украины

 

НАЦИОНАЛЬНИЙ ГОРНИЙ УНИВЕРСИТЕТ

 

ИНСТИТУТ ЭЛЕКТРОЭНЕРГЕТИКИ

Факультет информационных технологий

 

Кафедра электроники и

 

ЗАДАНие

по дисциплине «Інформатика»

 

Специальность: «Телекоммуникационные системы и сети»

Группа ТКитС 14-1

Студент: Сиданченко Владислав Вадимович

 

«Численные методы решения математических задач с использованием языка программирования С++»

Етап Дата Отметка выполнения
q Выдача задания    
q Контроль функционирования программ    
q Защита курсовой работы    

Задание выдал _____________

Задание принял _____________

 

 

Содержание

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

Составить программу на языке программирования С++ для нахождения корней алгебраического 3+5х2-13=0 уравнения методом половинного деления. Проверить результат с помощью математического пакета Mathcad.

 

1.3 Нахождение пределов существования корней в пакете Mathcad

 

 

 

 

 
 
 

 

1.4 Нахождение корней уравнений в пакете Mathcad

 

 

 

 

1.5 Схема алгоритма

 

начало
e [3201]" strokecolor="black [3213]" strokeweight="2pt">
ввод a, b, e, c, fc, fa
с=(a+b)/2
f(c)= 3+8х2-20х+3=0
f(c) = 0
f(a)= 3+8х2-20х+3=0
f(a)=f(c)<0
a=c
b=c
e [3201]" strokecolor="black [3213]" strokeweight="2pt">
вывод корень = c
конец
>
да
да
нет
нет

 


 

 

 

 


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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.