на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Решение системы линейных уравнений методом Крамера и с помощью расширенной матрицы

Решение системы линейных уравнений методом Крамера и с помощью расширенной матрицы

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

Кафедра інформатики

КУРСОВА РОБОТА

Тема:"Рішення системи лінійних рівнянь методом Крамера та за допомогою розширеної матриці"

з дисципліни "Програмування"

ПОЯСНЮВАЛЬНА ЗАПИСКА

Харків

2006

РЕФЕРАТ

Пояснительная записка к курсовой работе: 33 c., 1 таб., 2 рис., 5 разделов, 1 приложение, 7 источников.

Объект исследования - система линейных уравнений.

Цель работы - разработка программы, с помощью которой методом Крамера и с помощью расширенной матрицы решить систему линейных уравнений.

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

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

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

Программу написано на языке С++ в среде Visual C++. Эта программа предназначена для разработки компьютерного учебного пособия по дисциплине “Программирование”. МАТРИЦА, АЛГОРИТМ, ФУНКЦИИ, ПАРАМЕТРЫ, ТИПЫ, ОПЕРАТОРЫ, ЗАГОЛОВОЧНЫЕ ФАЙЛЫ, КРАМЕР, ПЕРЕМЕННАЯ, ДЕМОНСТРАЦИОННАЯ ПРОГРАММА.

ЗМІСТ

Вступ

1 Постановка задачі та сфера її використання

2 Теоретична частина

2.1 Метод Крамера

3 Особливості роботи в середовищі Visual C++

4 Програмна реалізація

4.1 Опис алгоритму программи

4.2 Опис використаних програмних засобів

4.2.1 Структура програми

4.2.2 Заголовочні файли

4.2.3 Типы даних

4.2.4 Змінні

4.2.5 Ідентифікатори

4.2.6 Оператори

4.2.7 Оператори присвоювання

4.2.8 Арифметичні оператори

4.2.9 Умовні оператори

4.2.10 Оператори циклу

4.2.11 Оператори введення-виведення

4.2.12 Масивы й покажчики

4.2.13 Функції

4.3 Опис розроблених функцій

5 Інструкція користувача

Висновки

Перелік посилань

Додаток А Текст програми

ВВЕДЕНИЕ

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

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

Язык С++ развился из С, который в свою очередь был создан на основе двух предшествующих языков - BCPL и B. Язык BCPL был создан в 1967 году Мартином Ричардом как язык для написания компиляторов и программного обеспечения операционных систем. Кен Томпсон предусмотрел много возможностей в своем языке В - дубликате BCPL и использовал В для создания ранних версий операционной системы UNIX.

Язык С был развит из В Деннисом Ритчи в Bell Laboratories. С использует многие важные концепции BCPL и В, а также добавляет типы данных и другие свойства. Первоначально С приобрел широкую известность как язык разработки операционной системы UNIX. Сегодня фактически все новые операционные системы написаны на С или С++. В течение двух последних десятилетий С стал доступным для большинства компьютеров. С независим от аппаратных средств. При тщательной разработке на С можно написать мобильные программы, переносимые на большинство компьютеров.

С++ - расширение С - был разработан Бьерном Строустропом в начале 80-х годов в Bell Laboratories. С++ обеспечивает возможность объектно-ориентированного программирования.

С++ - это гибридный язык, он предоставляет возможность программировать и в стиле С, и в объектно-ориентированном стиле, и в обоих стилях сразу. Его синтаксис, стиль и основные принципы стали стандартом при разработке новых языков. Благодаря своей универсальности он все чаще используется при описании алгоритмов и технологий программирования. Особенность языка С заключается в том, что он позволяет непосредственно манипулировать битами, байтами, машинными словами и указателями. Это делает его очень удобным для системного программирования, в котором эти операции широко распространены.

Язык С был создан для программистов, учитывая их интересы, и многократно проверялся на практике, прежде чем был окончательно реализован. Именно поэтому языки С и С++ стали наиболее популярными среди программистов высокого уровня [4].

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

1 ПОСТАНОВКА ЗАДАЧИ И СФЕРА ЕЁ ИСПОЛЬЗОВАНИЯ

Целью данной задачи является решение системы линейных уравнений, т.е. нахождение её неизвестных х1, х2, х3 методом Крамера и с помощью расширенной матрицы.

Начальными данными являются коэффициенты при неизвестных х1, х2, х3 и свободные члены. Свободные члены и коэффициенты при неизвестных являются главными данными, которые программа записывает в свою память.

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

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

2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

2.1 Метод Крамера

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

Так как в нашем случае используется определитель 3-го порядка, то введём определение определителя 3-го порядка.

Определителем 3-го порядка называется число, обозначаемое

a11 a12 a13

a21 a22 a23

a31 a32 a33

и равное a11a22a33+a13a22a32+a12a23a31-a13a22a31-a12a21a33-a11a23a32.

Определитель обозначается Д.

Матрицей называется таблица, содержащая m строк и n столбцов вида

a11 a12 ..... a1n

a21 a22 ..... a11

. . . . . .

am1 am2 ....amn

где aij - элемент матрицы, находящийся в i-той строке и j-ом столбце, где i изменяется от 1 до m, j - от 1 до n, m и n - порядки матрицы. Отсюда вытекает определение системы линейных уравнений.

Система вида a11x1+a12x2+.....+a1nxn=b1

a21x1+a22x2+.....+a2nxn=b2

. . . . . . . . . . .

am1x1+am2x2+.....+amnxn=bm

где aij (i изменяется от 1 до m; j - от 1 до n) - коэффициенты при неизвестных x1, x2,…., xn, bi (i изменяется от 1 до m) - свободные члены, называется системой линейных уравнений.

Теперь непосредственно перейдём к методу Крамера.

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

a11x1+a12x2+.....+a1nxn=b1

a21x1+a22x2+.....+a2nxn=b2

. . . . . . . . . . .

am1x1+am2x2+.....+amnxn=bm

Назовём данную систему “система 1”.

Умножим 1-е уравнение системы 1 на А11. Умножим 2-е уравнение системы 1 на А21. Умножим n-е уравнение системы 1 на Аn1. Сложим полученные уравнения:

(a11А11+a21А21+….+an1Аn1)x1+(a12А12+a22А21+....+an1Аn1)x1+....+(a1nА11+a2nА21+ +....+annАn1)xn=b1А11+b2А21+....+bnАn1

detA x1=detA1,

где A1 - матрица, полученная из матрицы А заменой 1-го столбца столбцом свободных членов.

detA x2=detA2,

где A2 - матрица, полученная из матрицы А заменой 2-го столбца столбцом свободных членов.

detA xn=detAn,

где An - матрица, полученная из матрицы А заменой n-го столбца столбцом свободных членов.

Если обозначим Д=detA, то получим

Д x1=Д1

Д x2=Д2

. . . .

Д xn=Дn

где Дi - определитель, полученный из определителя Д заменой i-го столбца столбцом свободных членов системы 1.

Назовём данную систему “система 2”.

Рассмотрим 3 случая:

1) Если в системе 2 Д?0, то x1=Д1/Д, x2=Д2/Д, ….. , xn=Дn/Д. Полученные формулы называются формулами Крамера.

2) Если в системе 2 Д=0 и все Дi=0 для любого i, изменяющегося от 1 до n, то система имеет бесчисленное множество решений.

3)Если в системе 2 Д=0 и существует Дi?0, то решения системы 2 не существуют [1].

3 ОСОБЕННОСТИ РАБОТЫ В СРЕДЕ Visual C++

Язык программирования Visual C++ в настоящее время является самым популярным языком в мире. Программу сколь угодно большой сложности Вы можете написать на любом языке программирования, но если требуется, чтобы она работала быстро и надёжно, вы вынуждены писать её на Visual C++.

Популярность этого языка обусловлена ещё и мощными визуальными средствами разработки интерфейса пользователя. Высокая производительность работы - ещё одно преимущество Visual C++.

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Фирма Microsoft разработала специальный инструментарий, облегчающий и ускоряющий создание проектов в среде Visual C++.

Рассмотрим некоторые типы проектов, которые можно создавать при помощи различных средств (мастеров проектов) Microsoft Visual C++:

MFC AppWizard (exe) - при помощи мастера приложений можно создать проект Windows-приложения которое имеет однодокументный, многодокументный или диалоговый интерфейс. Однодокументное приложеие может предоставлять пользователю в любой момент времени работать только с одним файлом. Многодокументное приложение, напротив, может одновременно представлять несколько документов, каждый в собственном окне. Пользовательский интерфейс диалогового приложения представляет собой единственное диалоговое окно.

MFC AppWizard (dll) - этот мастер приложений позволяет создать структуру DLL, основанную на MFC. При помощи него можно определить характеристики будующей DLL.

AppWizard ATL COM - это средство позволяет создать элемент управления ActiveX или сервер автоматизации, используя новую библиотеку шаблонов ActiveX (ActiveX Template Library - ATL). Опции этого мастера дают возможность выбрать активный сервер (DLL) или исполняемый внешний сервер (exe-файл).

Custom AppWizard - при помощи этого средства можно создать пользовательские мастера AppWizard. Пользовательский мастер может базироваться на стандартных мастерах для приложений MFC или DLL, а также на существующих проектах или содержать только определеямые разработчиком шаги.

DevStudio Add-in Wizard - мастер дополнений позволяет создавать дополнения к Visual Studio. Библиотека DLL расширений может поддерживать панели инструментов и реагировать на события Visual Studio.

MFC ActiveX ControlWizard - мастер элементов управления реализует процесс создания проекта, содержащего один или несколько элементов управления ActiveX, основанных на элементах управления MFC.

Win32 Application - этот мастер позволяет создать проект обычного Window-приложения. Проект создается незаполненным, файлы с исходным кодом в него следует добавлять вручную.

Win32 Console Application - мастер создания проекта консольного приложения. Консольная приложение - это программа, которая выполняется из командной cтроки окна DOS или Windows и не имеет графического интерфейса (окон). Проект консольного приложения создается пустым, предполагая добавление файлов исходного текста в него вручную.

Страницы: 1, 2, 3



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.