Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 17:42, курсовая работа
Вычислительная техника в последние годы широко применяются во всех сферах деятельности человека. Она стала катализатором научно-технического прогресса. Бурное развитие ЭВМ способствовал широкому процесса математизации науки, техники и хозяйства в целом. Именно разработка и применение математических методов решения прикладных задач на базе ЭВМ является предметом современной математики.
Введение
1. Теоретическая часть
1.1 Постановка задачи
1.2 Методы раз обувка задачи
2. Практическая часть
2.1 Архитектура программы
2.2 Описание программы
2.3 Контрольный пример и результат машинного эксперимента
Вывод
Список литературы
Приложения
Российский Университет Дружбы Народов
Инженерный факультет
Курсовая работа по предмету
Вычислительные методы и компьютерное моделирование в научных исследованиях
по теме:
«Метод Крамера»
Приготовила:
Студентка группы ИСМ-103
Кононенко В.В.
Проверил:
Севастьянов А.Л.
Москва 2013 г.
Содержание
Введение
1. Теоретическая часть
1.1 Постановка задачи
1.2 Методы раз обувка задачи
2. Практическая часть
2.1 Архитектура программы
2.2 Описание программы
2.3 Контрольный пример
и результат машинного
Вывод
Список литературы
Приложения
Введение
Вычислительная техника в последние годы широко применяются во всех сферах деятельности человека. Она стала катализатором научно-технического прогресса. Бурное развитие ЭВМ способствовал широкому процесса математизации науки, техники и хозяйства в целом. Именно разработка и применение математических методов решения прикладных задач на базе ЭВМ является предметом современной математики.
Математика - одна из древнейших наук - возникла из практических потребностей человека. Развитие математики способствовал общему научно-техническому прогрессу цивилизации, а потребности естествознания, техники и практической деятельности людей составляли перед математикой новые задачи и стимулировали ее развитие.
Развитие вычислительной математики тесно связано с развитием программирования, которое идет по пути упрощения способов общения человека с компьютером. На современном этапе развития возникают языки программирования приближенные к природным, развиваются проблемно ориентированные языки программирования, средства визуального программирования, создаются пакеты прикладных программ. Возникают и активно развиваются структурное программирование и специализированные языки для разработки структурированных программ.
Задание на курсовой проект предусматривает разработку программного обеспечения для решения задачи математического характера. Для ее реализации я выбрала язык Turbo Pascal 7.0.
Паскаль - гибкий и развернутый, в отношении типов данных, язык. Привлекательные его рекурсивные возможности, а также поддержка технологии объектно-ориентированного программирования.
Разработчиком данного языка был швейцарский ученый Никлаус Вирт, который создал Паскаль еще в 70-х годах. Турбо Паскаль фирмы Borland является расширением стандарта. Язык имеет также интегрированную среду, которая намного ускоряет и облегчает процесс разработки программ. Этот программный продукт прошел через 6 версий, после чего и появился Турбо Паскаль 7.0.
Главные особенности языка Turbo Pascal:
Курсовой проект состоит из введения, двух глав, заключения, списка использованной литературы и приложений. Текст пояснительной записки набран и распечатан с использованием текстового редактора Word.
1. Теоретическая часть
1.1 Постановка задачи
Пусть дана система п линейных алгебраических уравнений с п переменными
(I = 1.2 ..... n) (1)
Систему (1) можно записать в виде одного матричного уравнения
AX = B, (2)
где
матрица коэффициентов (индекс и указывает уравнение, которому принадлежит коэффициент, а индекс j - переменную, при которой он стоит),
,
соответственно столбец свободных членов и столбец переменных.
Благоустроенная совокупность п чисел , которая, будучи подставленной в систему (1) вместо , превращает все уравнения в правильные числовые равенства, называется решением системы (1)
то она имеет единственное решение. Его можно вычислить по формулам Крамера.
(K = 1,2, ..., n),
где матрицу получают из матрицы А, заменив ее k-й столбец столбцом свободных членов.
Методы решения систем линейных уравнений можно разделить на две группы: точные и итерационные.
Точными называют такие методы, которые позволяют найти точное решение системы (1) с помощью выполнения конечного числа арифметических операций в предположении, что все вычисления выполняются точно (без округлений), а коэффициенты системы и свободные члены - точные числа. Но на практике все вычисления выполняются с ограниченным количеством десятичных разрядов, а иррациональные коэффициенты и свободные члены, если таковые имеются, заменяются рациональными числами. Поэтому в процессе вычисления прибегают к округлений, а это означает, что решения, которые вычисляются по точными методами, фактически являются приближенными числами с определенными погрешностями (погрешностями округления). К точным относятся метод Гаусса, метод квадратных корней, правило Крамера т.п..
Интерацийнимы называют такие
методы, которые позволяют найти
приближенное решение системы (1) с
заранее указанной точностью
путем выполнения конечного числа
арифметических операций, хотя сами вычисления
могут проводиться и без
В задании на курсовой проект
предусмотрена разработка программного
обеспечения для решения
Программа должна обеспечивать выполнение следующих операций:
Для реализации поставленной задачи в среде Turbo Pascal 7.0 разработана программа KRAMER.PAS. Вышеперечисленные операции реализуются в программе с помощью процедур.
1.2 Методы решения задачи
Рассмотрим систему трех
линейных уравнений с тремя
(1)
Систему (1) можно записать так:
, I = 1, 2, 3.
Здесь - некоторые заданные числа, а x, y, z - неизвестные, которые нужно найти.
Как уже известно, тройка чисел называются решением системы (1), если при подстановке их в уравнение системы вместо x, y и z выйдут верные числовые равенства.
Рассмотрим сначала случай, когда все коэффициенты уравнений системы (1) равны нулю:
i = 1, 2, 3.
В этом случае, если все свободные члены уравнений системы равны нулю:
,
то очевидно, дорогая тройка чисел (x; y; z) является решением этой системы. Если свободные члены уравнений равны нулю, то система не имеет решений.
Рассмотрим теперь более интересный случай, когда все коэффициенты уравнений системы (1) равны нулю. Пусть, например, . Тогда система эквивалентна следующей:
Последнее уравнение этой системы умножим на и изымаем почленно из первого уравнения, в результате получа уравнения
. (2)
Аналогично, умножил последнее уравнение на и изымая почленно из второго уравнения будем иметь
. (3)
Очевидно, что система
(4)
в которой первое уравнение получается из (2), а второе из (3) умножением на , эквивалентна системе (1).
Таким образом, если 0, то исследование системы (1) сводится к исследованию системы двух линейных уравнений с двумя неизвестными:
(5)
Рассмотрим сначала случай, когда все коэффициенты уравнений системы (5) равны нулю. Тогда, если свободные члены уравнений системы (5) равны нулю, то любая пара чисел (x; y) является решением системы (5) и, следовательно, дорогая тройка чисел (x; y; z), где
,
является решением системы (1). Если же хотя бы у одного из уравнений системы (5) свободный член не равен нулю, то система (5), то и система (1) не имеют решений.
Рассмотрим случай, когда все коэффициенты уравнений системы (5) равны нулю. Пусть, например,
Первое уравнение системы (5) умножим на , второе - на - и добавим, после очевидных преобразований получим уравнение
где
Таким образом, если , то система (5) эквивалентна системе
Если , то очевидно, дорогая пара чисел (x; y), где
, (6)
является решением системы (5).
С (6) и последнего уравнения системы (4) находим
(7)
Аналогично, если и , то любая тройка чисел (x; y; z), где , а y и z находятся в формулах (6) и (7), является решением системы (1).
Если , а , то система (5), а также система (1) не имеют решений.
Пусть теперь . Тогда
.
Подставив это значение х во второе уравнение системы (5), найдем
,
где
Подставив полученные значения x и y в третье уравнение системы (4), получим
,
где
.
Следует, если , то система (1) имеет одно решение, которое находится по формулам:
.
Эти формулы и называются формулами Крамера.
2. Практическая часть
2.1 Архитектура программы
Представленная программа реализуется программой Kramer. Написанная на языке Паскаль. Она включает в себя ряд процедур, обеспечивающих выполнение ввода вычислений и вывода на экран решения задачи.
Для уменьшения объема тела программы используется модуль zast.tpu (листинг модуля добавляется к проекту), в котором находятся все главные компоненты, которые используют процедуры (интерфейсы, описания и т.д.).
Перед описанием процедур осуществляется описание меток (раздел меток) и переменных (раздел переменных). Затем (после описания процедур) идет раздел операторов (тело программы), которая заключается в операторные скобки, т.е. Begin ... End. В нем указывается последовательность действий, которые должны использоваться ЭВМ.
Запуск программы
После запуска программы любым способом она выдаст на экран главное меню, которое предлагает одну из опций:
При выборе определенного пункта активизируется соответствующая процедура. Завершение работы программы и возврат в среду системы программирования Turbo Pascal осуществляется при выборе пункта меню "Выход". Программа осуществляет вычисления системы уравнений методом Крамера и выводит результаты на экран дисплея.
В программе используются следующие процедуры:
Vvid - предназначена для ввода
Vyvid - предназначена для вычислений и вывода результатов.
2.2 Описание программы
заголовок программы
подключения внешних модулей
описание меток
{004} - {007} описание переменных
{008} заголовок процедуры vvid
начало процедуры
отключения графического режима
очистка экрана
установки цвета шрифта
вывод таблицы ввода
{014} - {025} ввод левой и
правой части уравнения в
конец процедуры vvid
заголовок процедуры vivid
начало процедуры
отключения графического режима