Реферат: Транспортная задача

<span Times New Roman",«serif»; mso-ansi-language:EN-US">

<span Times New Roman",«serif»">Кавминводский Институт сервиса(КМВИС)

<span Times New Roman",«serif»">Филиал

<span Times New Roman",«serif»">Южно-Российского ГосударственногоУниверситета Экономики и Сервиса (ЮРГУЭС)

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Курсовая работа

<span Times New Roman",«serif»">по информатике

<span Times New Roman",«serif»">тема работы:

<span Times New Roman",«serif»"> «Транспортная задача»

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">                                                            Выполнил студент 2-го курса

<span Times New Roman",«serif»">                                                                Очного отделения группы ИС-01

<span Times New Roman",«serif»">                                                                       Ханин Константин Александрович

<span Times New Roman",«serif»">                                                                   проверилстарший преподаватель

<span Times New Roman",«serif»">                                                                        Макаров Борис Сергеевич.

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Пятигорск 2003г.

<span Times New Roman",«serif»">1.<span Times New Roman"">  

<span Times New Roman",«serif»">Постановка задачи.

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Вкачестве объекта исследования рассматривается сеть с потоками однородногопродукта – экономико-математическая модель задачи оптимизации транспортаэнергии, газа, трубопроводных систем различного назначения, а такжетранспортировки продукции от поставщиков к потребителям. Требуется написатьпрограмму оптимизации транспорта энергии, газа, трубопроводных системразличного назначения по заданной схеме, решить систему уравнений заданнымметодом.

<span Times New Roman",«serif»">2. Спецификация.

<span Times New Roman",«serif»">  2.1. Название задачи.

<span Times New Roman",«serif»">Позаданной схеме (3):

<span Times New Roman",«serif»"><img src="/cache/referats/14938/image002.jpg" v:shapes="_x0000_i1026">

<span Times New Roman",«serif»">следуетнайти в ходе выполнения работы направления потоков по ветвям и их величину

<span Times New Roman",«serif»;mso-ansi-language:EN-US">P<span Times New Roman",«serif»">(в условных единицах).

<span Times New Roman",«serif»">2.2 Описание задачи.

<span Times New Roman",«serif»">Выберемпроизвольное направление на схеме по ветвям для формирования матрицы

<span Times New Roman",«serif»;mso-ansi-language:EN-US">A<span Times New Roman",«serif»">:

<span Times New Roman",«serif»">

<span Times New Roman",«serif»"><img src="/cache/referats/14938/image004.jpg" v:shapes="_x0000_i1027">

<span Times New Roman",«serif»">Такимобразом, получим матрицу

<span Times New Roman",«serif»; mso-ansi-language:EN-US">A<span Times New Roman",«serif»"><span Times New Roman",«serif»">вида:

<span Times New Roman",«serif»">Таб.№1.

<span Times New Roman",«serif»">Ветви

<span Times New Roman",«serif»"> SHAPE  * MERGEFORMAT <span Times New Roman",«serif»"><img src="/cache/referats/14938/image005.gif" v:shapes="_x0000_s1065 _x0000_s1064 _x0000_s1066"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">-1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Узлы      

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">2

<span Times New Roman",«serif»">3

<span Times New Roman",«serif»">4

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">                    0-1            0-2        0-3          0-4            1-2          2-3           3-4        

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Затемвведём диагональную матрицу

<span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">,<span Times New Roman",«serif»">элементамикоторой являются заданные стоимости перевозок по отдельным ветвям.

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<img src="/cache/referats/14938/image007.gif" align=«right» hspace=«12» v:shapes="_x0000_s1092"><span Times New Roman",«serif»">

<span Times New Roman",«serif»;mso-ansi-language:EN-US">R

<span Times New Roman",«serif»"> =<span Times New Roman",«serif»">

<span Times New Roman",«serif»">       

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Можнопоказать, опуская преобразования, связанные с поиском минимума целевой функции

<span Times New Roman",«serif»;mso-ansi-language:EN-US">F<span Times New Roman",«serif»">,что искомый вектор потоков Р можно вычислить(в матричной форме) как

<span Times New Roman",«serif»"><img src="/cache/referats/14938/image009.gif" v:shapes="_x0000_i1028"> = -

<span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">-1<span Times New Roman",«serif»; mso-ansi-language:EN-US"><img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1029">t<span Times New Roman",«serif»"><img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1030"><img src="/cache/referats/14938/image014.gif" v:shapes="_x0000_i1031"><span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Где

<span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">-1<span Times New Roman",«serif»">– матрица, обратная матрице <span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">,<span Times New Roman",«serif»; mso-ansi-language:EN-US">At<span Times New Roman",«serif»">– <span Times New Roman",«serif»">транспонированнаяматрица А, <img src="/cache/referats/14938/image015.gif" v:shapes="_x0000_i1032">  — вектор Лагранжа(потенциалов), который предварительно должен быть найден из решения системыуравнений в матричной форме:

<span Times New Roman",«serif»; mso-ansi-language:EN-US">A<img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1033">

<span Times New Roman",«serif»">-1<span Times New Roman",«serif»; mso-ansi-language:EN-US"><img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1034">t<img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1035"><img src="/cache/referats/14938/image019.gif" v:shapes="_x0000_i1036"><span Times New Roman",«serif»"> =<span Times New Roman",«serif»;mso-ansi-language:EN-US"><img src="/cache/referats/14938/image021.gif" v:shapes="_x0000_i1037"><span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Вектор

<span Times New Roman",«serif»;mso-ansi-language:EN-US">Q<span Times New Roman",«serif»">-объём производства в узлах схемы, которые задаются в качестве входных данных повариантам работы, и входит в уравнение:

<span Times New Roman",«serif»; mso-ansi-language:EN-US">A<img src="/cache/referats/14938/image022.gif" v:shapes="_x0000_i1038"> + <img src="/cache/referats/14938/image024.gif" v:shapes="_x0000_i1039"> = 0

<span Times New Roman",«serif»">,

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Таблицасоответствия:

<span Times New Roman",«serif»">Ветви

<span Times New Roman",«serif»">Начало

<span Times New Roman",«serif»">Конец

<span Times New Roman",«serif»">Стоимость

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">4

<span Times New Roman",«serif»">2

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">2

<span Times New Roman",«serif»">5

<span Times New Roman",«serif»">3

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">3

<span Times New Roman",«serif»">7

<span Times New Roman",«serif»">4

<span Times New Roman",«serif»">0

<span Times New Roman",«serif»">4

<span Times New Roman",«serif»">6

<span Times New Roman",«serif»">5

<span Times New Roman",«serif»">1

<span Times New Roman",«serif»">2

<span Times New Roman",«serif»">5

<span Times New Roman",«serif»">6

<span Times New Roman",«serif»">2

<span Times New Roman",«serif»">3

<span Times New Roman",«serif»">8

<span Times New Roman",«serif»">7

<span Times New Roman",«serif»">3

<span Times New Roman",«serif»">4

<span Times New Roman",«serif»">5

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">2.3. Управлениепрограммой.

<span Times New Roman",«serif»">Всреде

<span Times New Roman",«serif»;mso-ansi-language:EN-US">Turbo<span Times New Roman",«serif»"><span Times New Roman",«serif»;mso-ansi-language:EN-US">Pascal<span Times New Roman",«serif»">программа после подготовки текста программы можно попытаться исполнить её, т.е.откомпилировать программу, связать её (если это необходимо) с библиотекойстандартных процедур и функций, загрузить в оперативную память и передать еёуправление. Вся эта последовательность действий называется прогоном программы иреализуется командой <span Times New Roman",«serif»;mso-ansi-language:EN-US">Ctrl<span Times New Roman",«serif»">+<span Times New Roman",«serif»; mso-ansi-language:EN-US">F<span Times New Roman",«serif»">9 или нажатием мышкой на панели меню раздел <span Times New Roman",«serif»; mso-ansi-language:EN-US">Run<span Times New Roman",«serif»"> и далее <span Times New Roman",«serif»; mso-ansi-language:EN-US">Run<span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Еслив программе нет синтаксических ошибок, то все действия выполняютсяпоследовательно одно за другим, при этом в небольшом окне сообщается околичестве откомпилированных строк и объёме доступной оперативной памяти. Передпередачей управления загруженной программе среда очищает экран (точнее, выводитна экран окно прогона программы), а после завершения работы программы вновьберёт управление компьютером на себя и восстанавливает на экран окно редактора.

<span Times New Roman",«serif»">Итак,нажимаем

<span Times New Roman",«serif»;mso-ansi-language:EN-US">Ctrl<span Times New Roman",«serif»">+<span Times New Roman",«serif»; mso-ansi-language:EN-US">F<span Times New Roman",«serif»">9 или выбираем из меню <span Times New Roman",«serif»; mso-ansi-language:EN-US">Run<span Times New Roman",«serif»">+<span Times New Roman",«serif»; mso-ansi-language:EN-US">Run<span Times New Roman",«serif»">, появляется голубой экран, которымявляется оформление курсовой работы, через некоторое время на экране появляетсяменю с 10-ю пунктами, выбрав любой пункт из меню, можно просмотретьинтересующие результаты вычислений.

<span Times New Roman",«serif»">2.4. Входные данные

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">  Ввод данных– это передача информации от внешних устройств в оперативную память. Вводятся,как правило, исходные данные решаемой задачи.

<span Times New Roman",«serif»">  В моём курсовом проекте входными даннымиявляются числа от 0 до 9, которые вводятся при выборе пункта меню с цифровойклавиатуры. В разделе переменных они у меня записаны типом

<span Times New Roman",«serif»; mso-ansi-language:EN-US">Byte<span Times New Roman",«serif»">. <span Times New Roman",«serif»; mso-ansi-language:EN-US">Byte<span Times New Roman",«serif»"> <span Times New Roman",«serif»">–это целочисленный тип данных я его взял потому, что числа от 0 до 9 являютсяцелыми числами. Длина <span Times New Roman",«serif»;mso-ansi-language:EN-US">Byte– 1 <span Times New Roman",«serif»">байт,а диапазон значений от 0 до 255.

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">2.5. Выходные данные.

<span Times New Roman",«serif»">Вывод

<span Times New Roman",«serif»">данных – это обратный процесс вводу данных, когда данные передаются изоперативной памяти на внешние носители (принтер, дисплей, магнитные устройстваи т.д.). Результаты решения всякой задачи должны быть выведены на один из этихносителей. Как и в моем курсовом проекте все результаты вычислений выводятся надисплей монитора.

<span Times New Roman",«serif»">Основнымустройством вывода у персонального компьютера является дисплей (экранмонитора).

<span Times New Roman",«serif»">Всерезультаты вычислений я выводил на дисплей с помощью оператора

<span Times New Roman",«serif»; mso-ansi-language:EN-US">Write<span Times New Roman",«serif»">(<Список вывода>). Здесьэлементами списка вывода могут быть выражения различных типов (в частности,константы и переменные). У меня элементами списка вывода являются переменные.

<span Times New Roman",«serif»"> Второй вариант процедуры вывода на экран:

<span Times New Roman",«serif»; mso-ansi-language:EN-US">Writeln<span Times New Roman",«serif»">(<список вывода>),слово – <span Times New Roman",«serif»;mso-ansi-language:EN-US">Write<span Times New Roman",«serif»"><span Times New Roman",«serif»;mso-ansi-language:EN-US">line<span Times New Roman",«serif»">– означает писать строку. Егодействие отличается от оператора <span Times New Roman",«serif»;mso-ansi-language:EN-US">Write<span Times New Roman",«serif»"><span Times New Roman",«serif»">тем,что после вывода последнего в списке значения происходит перевод курсора кначалу следующей строки. Оператор <span Times New Roman",«serif»;mso-ansi-language: EN-US">Writeln<span Times New Roman",«serif»">, записанный без параметров, вызывает переводстроки.

<span Times New Roman",«serif»">Форматы вывода

<span Times New Roman",«serif»">.В списке вывода могут присутствовать указатели форматов вывода (форматы).Формат определяет представление выводимого значения на экране. Он отделяется отсоответствующего ему элемента двоеточием. Если указатель формата отсутствует,то машина выводит значение по определенному правилу, предусмотренному поумолчанию.

<span Times New Roman",«serif»">2.6. Пример

<span Times New Roman",«serif»">Длятестирования программы нужно запустить программу нажатием

<span Times New Roman",«serif»; mso-ansi-language:EN-US">Ctrl<span Times New Roman",«serif»">+<span Times New Roman",«serif»; mso-ansi-language:EN-US">F<span Times New Roman",«serif»">9 и дождаться появления меню, затемнужно ввести с клавиатуры цифру 1 и сравнить результат выведенной матрицы сматрицей приведённой в таблице №1(выделенное заливкой), они должны совпасть.

<span Times New Roman",«serif»">3. Проектирование иалгоритмизация.

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">Методрешения задачи – метод Крамера(по предложенному преподавателем). Метод Крамераимеет весьма простую схему. Пусть

<span Times New Roman",«serif»; mso-ansi-language:EN-US">detA<span Times New Roman",«serif»"> – определитель матрицыА, а <span Times New Roman",«serif»; mso-ansi-language:EN-US">detA<span Times New Roman",«serif»;mso-ansi-language: EN-US">i<span Times New Roman",«serif»"> <span Times New Roman",«serif»">– определитель матрицы <span Times New Roman",«serif»; mso-ansi-language:EN-US">Ai<span Times New Roman",«serif»">, полученной в матрицеА столбца с номером <span Times New Roman",«serif»;mso-ansi-language:EN-US">i<span Times New Roman",«serif»">столбцов свободных членов. Тогда метод Крамера сводится к вычислению <span Times New Roman",«serif»;mso-ansi-language:EN-US">detA<span Times New Roman",«serif»">, <span Times New Roman",«serif»;mso-ansi-language:EN-US">detAi<span Times New Roman",«serif»">,<span Times New Roman",«serif»;mso-ansi-language:EN-US">i<span Times New Roman",«serif»">=1,2,…,<span Times New Roman",«serif»; mso-ansi-language:EN-US">n<span Times New Roman",«serif»">, после чего значения неизвестныхопределяются элементарными соотношениями

<span Times New Roman",«serif»;mso-ansi-language:EN-US">Xi=detAi

<span Times New Roman",«serif»">/<span Times New Roman",«serif»;mso-ansi-language:EN-US">detA<span Times New Roman",«serif»">, <span Times New Roman",«serif»;mso-ansi-language:EN-US">i<span Times New Roman",«serif»">=1,2,…<span Times New Roman",«serif»;mso-ansi-language:EN-US">n

<span Times New Roman",«serif»">Определителив этой формуле вычисляются с помощью усеченного метода Гаусса. Действительно,прямой ход метода Гаусса приводит  кверхней треугольной матрице, определитель которой равен произведениюдиагональных элементов матрицы. В прямом ходе метода Гаусса на каждом очередномшаге соответствующая строка делится на диагональный элемент. В результатематрица, полученная после прямого хода, имеет на главной диагонали единицы.Поэтому при вычислении определителя методом Гаусса на каждом шаге прямого ходаследует вначале запомнить очередной диагональный элемент, а затем производитьделение на него элементов строки.

<span Times New Roman",«serif»">МетодомКрамера – это наиболее легкий метод решения систем линейных алгебраическихуравнений, является наиболее точным по сравнению с другими методами решения.Достаточно прост и нагляден, обеспечивает приемлемое быстродействие для системневысокого порядка. Сохраняет преимущества и недостатки методов вычисленияопределителей. Как вычислительный метод в научных и технических задачахприменяется редко.

<span Times New Roman",«serif»">  Блок-схема работы программы :

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

Формирование матрицы А

Формирование матрицы R

Нахождение обратной матрицы R1

Транспонирование матрицы А

Вычисление матрицы AR1At

Решение системы уравнений методом Крамера

Нахождение вектора

Конец

<img src="/cache/referats/14938/image025.gif" v:shapes="_x0000_s1100 _x0000_s1099 _x0000_s1101 _x0000_s1105 _x0000_s1113 _x0000_s1115 _x0000_s1116 _x0000_s1118 _x0000_s1119 _x0000_s1121 _x0000_s1122 _x0000_s1124 _x0000_s1126 _x0000_s1127 _x0000_s1129 _x0000_s1130 _x0000_s1132 _x0000_s1153 _x0000_s1155"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.1Формирование матрицы А:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

A[1,1] := -1;

A[1,2] := 0;

И т.д.

Конец

<img src="/cache/referats/14938/image026.gif" v:shapes="_x0000_s1157 _x0000_s1156 _x0000_s1158 _x0000_s1160 _x0000_s1162 _x0000_s1163 _x0000_s1165"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">     3.2 Формирование матрицы

<span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">:

<span Times New Roman",«serif»; mso-ansi-language:EN-US">

<span Times New Roman",«serif»"> <span Times New Roman",«serif»; mso-ansi-language:EN-US">SHAPE<span Times New Roman",«serif»"> * <span Times New Roman",«serif»;mso-ansi-language:EN-US">MERGEFORMAT<span Times New Roman",«serif»"><span Times New Roman",«serif»;mso-ansi-language:EN-US"><span Times New Roman",«serif»;mso-ansi-language: EN-US">

Начало

for i := 1 to 7 do

for  j := 1 to 7 do

If i = j then

R[i,j] := c[i]

R[i,j] := 0

да

нет

Конец

<img src="/cache/referats/14938/image027.gif" v:shapes="_x0000_s1170 _x0000_s1169 _x0000_s1171 _x0000_s1173 _x0000_s1175 _x0000_s1176 _x0000_s1179 _x0000_s1180 _x0000_s1181 _x0000_s1183 _x0000_s1185 _x0000_s1186 _x0000_s1187 _x0000_s1189 _x0000_s1191 _x0000_s1192 _x0000_s1194 _x0000_s1195 _x0000_s1196"><span Times New Roman",«serif»; mso-ansi-language:EN-US"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.3Формирование обратной матрицы

<span Times New Roman",«serif»;mso-ansi-language:EN-US">R<span Times New Roman",«serif»">1:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

For I := 1 to 7 do

For j := 1 to 7 do

If I = j then

R1[i, j]:= 1/r[I,j];

R1[I,j] := 0

Конец

<img src="/cache/referats/14938/image028.gif" v:shapes="_x0000_s1198 _x0000_s1197 _x0000_s1199 _x0000_s1201 _x0000_s1203 _x0000_s1205 _x0000_s1206 _x0000_s1209 _x0000_s1211 _x0000_s1212 _x0000_s1213 _x0000_s1214 _x0000_s1217 _x0000_s1218 _x0000_s1219 _x0000_s1220 _x0000_s1221"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.4Транспонирование матрицы А:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

For I := 1 to 4 do

For j := 1 to 7 do

At [j, i] := A [i, j]

Конец

<img src="/cache/referats/14938/image029.gif" v:shapes="_x0000_s1223 _x0000_s1222 _x0000_s1224 _x0000_s1226 _x0000_s1228 _x0000_s1230 _x0000_s1232 _x0000_s1233 _x0000_s1234"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.5Вычисление матрицы

<span Times New Roman",«serif»;mso-ansi-language:EN-US"> AR1At <span Times New Roman",«serif»">:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

For I := 1 to 4 do

For j := 1 to 4 do

S := 0

For k := 1 to 7 do

S := s + A[I,k]*R1At[k,j]

U[I,j] := s

Конец

<img src="/cache/referats/14938/image030.gif" v:shapes="_x0000_s1236 _x0000_s1235 _x0000_s1237 _x0000_s1239 _x0000_s1241 _x0000_s1243 _x0000_s1244 _x0000_s1247 _x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251 _x0000_s1253 _x0000_s1254 _x0000_s1255 _x0000_s1257 _x0000_s1258 _x0000_s1259 _x0000_s1260 _x0000_s1261"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.6Решение системы уравнений методом Крамера :

<span Times New Roman",«serif»">    3.6.1 Описание процедуры замены:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

For I := 1 to 4 do

U[I,n] := Q[i]

Конец

<img src="/cache/referats/14938/image031.gif" v:shapes="_x0000_s1263 _x0000_s1262 _x0000_s1264 _x0000_s1266 _x0000_s1268 _x0000_s1270 _x0000_s1271"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">   3.6.2 Описание процедуры

<span Times New Roman",«serif»; mso-ansi-language:EN-US">Opr<span Times New Roman",«serif»">:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

Dv := u[1,1]*u[2,2]*u[3,3]*u[4,4] + u[1,2]*u[2,3]*u[3,4]*u[4,1] +

        u[1,3]*u[2,4]*u[3,1]*u[4,2] — u[1,4]*u[2,3]*u[3,2]*u[4,1] -

      u[1,1]*u[2,4]*u[3,3]*u[4,1] — u[1,2]*u[2,1]*u[3,4]*u[4,3];

Конец

<img src="/cache/referats/14938/image032.gif" v:shapes="_x0000_s1273 _x0000_s1272 _x0000_s1274 _x0000_s1276 _x0000_s1279 _x0000_s1281 _x0000_s1282"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">

<span Times New Roman",«serif»">   3.6.3 Вычисление Х-ов:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

u1 := u;

opr;

d := dv;

n := 1;

zamena;

opr;

   d1 := dv;

   u  := u1;

   n := 2;

   zamena;

opr;

   d3 := dv;

   u  := u1;

   n  := 4;

   zamena;

opr;

   d4 := dv;

   x1 := d1/d; x2 := d2/d;

 x3 := d3/d; x4 := d4/d;

   x[1] := x1;x[2] := x2;

x[3] := x3;x[4] := x4;

opr;

   d2 := dv;

   u  := u1;

   n  := 3;

   zamena;

Конец

<img src="/cache/referats/14938/image033.gif" v:shapes="_x0000_s1284 _x0000_s1283 _x0000_s1285 _x0000_s1287 _x0000_s1289 _x0000_s1292 _x0000_s1296 _x0000_s1291 _x0000_s1298 _x0000_s1299 _x0000_s1300 _x0000_s1301 _x0000_s1302 _x0000_s1303 _x0000_s1304 _x0000_s1305 _x0000_s1307 _x0000_s1308 _x0000_s1309 _x0000_s1310 _x0000_s1311 _x0000_s1313"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»">3.7Нахождение вектора Р:

<span Times New Roman",«serif»"> SHAPE * MERGEFORMAT

<span Times New Roman",«serif»">

Начало

For I := 1 to 7 do

S := 0

For k := 1 to 4 do

s := s + r1at[i,k] * x[k];

     p[i] := -s

Конец

<img src="/cache/referats/14938/image034.gif" v:shapes="_x0000_s1315 _x0000_s1314 _x0000_s1316 _x0000_s1318 _x0000_s1320 _x0000_s1322 _x0000_s1323 _x0000_s1324 _x0000_s1325"><span Times New Roman",«serif»"><span Times New Roman",«serif»">

<span Times New Roman",«serif»"> 

<span Times New Roman",«serif»"> 4. Кодирование алгоритма.

<span Times New Roman",«serif»">Вмоём курсовом проекте я использовал 3 одномерныхмассива:

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">X

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»">: <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">array<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> [1..4] <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">of<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">real<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»">;

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">P

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> <span Comic Sans MS";mso-bidi-font-family:«Times New Roman»">:<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">array<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> [<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">1..7] of real;

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»">pr: array [1..4] of real;

<span Times New Roman",«serif»">Одномерныймассив Х вещественного типа мнепотребовался для формирования столбца из полученных корней уравнения, решенногометодом Крамера.

<span Times New Roman",«serif»">МассивР, вещественного типа, я использовалдля формирования столбца значений вектора потоков Р.

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language: EN-US">Pr<span Times New Roman",«serif»"><span Times New Roman",«serif»">,вещественного типа, я применил для формирования столбца проверочных данных.

<span Times New Roman",«serif»">Также было использовано 6 двумерных массивов:

<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">At: array[1..7,1..4] of shortint;

<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language: EN-US">R: array [1..7,1..7] of shortint;

<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language: EN-US">R1: array [1..7,1..7] of real;

<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language: EN-US">R1At: array [1..7,1..4] of real;

<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language: EN-US">A: array [1..4,1..7] of shortint;

<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language: EN-US">U,U1: array [1..4,1..4] of real;

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language:EN-US">At<span Times New Roman",«serif»"> <span Times New Roman",«serif»">используетсядля формирования транспонированной матрицы Аразмерностью 7 строк и 4 столбца, элементы которой типа <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">Shortint<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> <span Times New Roman",«serif»">(т.к. все элементыматрицы являются целыми числами, а  в <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">Shortint<span Times New Roman",«serif»"><span Times New Roman",«serif»">входятвсе числа от -128 до +128 ).

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language:EN-US">R<span Times New Roman",«serif»"><span Times New Roman",«serif»">используетсядля формирования диагональной матрицы  размером 7 строк на 7 столбцов все элементыэтой матрицы, как и элементы матрицы <span Times New Roman",«serif»; mso-ansi-language:EN-US">At<span Times New Roman",«serif»">  <span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">Shortint<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> <span Times New Roman",«serif»">типа.

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language:EN-US">R<span Times New Roman",«serif»">1<span Times New Roman",«serif»">– матрица размером 7 строк на 7 столбцов обратная матрице <span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»"> типа <span Times New Roman",«serif»; mso-ansi-language:EN-US">real<span Times New Roman",«serif»"> (вещественный тип данных) т.к. приформировании обратной матрицы нужно применить деление, а при делении частноеполучается почти всегда вещественного типа.

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language:EN-US">R<span Times New Roman",«serif»">1<span Times New Roman",«serif»; mso-ansi-language:EN-US">At<span Times New Roman",«serif»"> – матрица размером 7строк на 4 столбца, полученная в результате умножения матрицы <span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">1<span Times New Roman",«serif»">на матрицу <span Times New Roman",«serif»;mso-ansi-language:EN-US">At<span Times New Roman",«serif»">,элементы этой матрицы, как и элементы массива <span Times New Roman",«serif»; mso-ansi-language:EN-US">R<span Times New Roman",«serif»">1 <span Times New Roman",«serif»">типа<span Times New Roman",«serif»;mso-ansi-language:EN-US">real<span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Массив

<span Times New Roman",«serif»;mso-ansi-language:EN-US">A<span Times New Roman",«serif»"><span Times New Roman",«serif»">–матрица элементов таб.№1(выделено заливкой) размером 4 строки на 7 столбцов тип<span Comic Sans MS";mso-bidi-font-family:«Times New Roman»;mso-ansi-language:EN-US">Shortint<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»">.

<span Times New Roman",«serif»">Массивы

<span Times New Roman",«serif»;mso-ansi-language:EN-US">U<span Times New Roman",«serif»"><span Times New Roman",«serif»">и<span Times New Roman",«serif»;mso-ansi-language:EN-US">U<span Times New Roman",«serif»">1<span Comic Sans MS"; mso-bidi-font-family:«Times New Roman»"> <span Times New Roman",«serif»">– это матрица размером4 строки на 4 столбца полученная в результате умножения:

<span Times New Roman",«serif»;mso-ansi-language:EN-US">A<img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1051"><img src="/cache/referats/14938/image011.gif" v:shapes="_x0000_i1052">

<span Times New Roman",«serif»">типэлементов матрицы

<span Times New Roman",«serif»;mso-ansi-language:EN-US">real<span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Переменную

<span Times New Roman",«serif»;mso-ansi-language:EN-US">S<span Times New Roman",«serif»"><span Times New Roman",«serif»">яиспользовал в процедурах умножения матриц, в качестве счётчика тип этойпеременной вещественного типа <span Times New Roman",«serif»;mso-ansi-language:EN-US">real<span Times New Roman",«serif»">.

<span Times New Roman",«serif»">Переменныех1, х2, х3, х4использованы в решении уравнения методом Крамера в качестве корнейуравнения. Тип этих переменных так же вещественный.

<span Times New Roman",«serif»;mso-ansi-language:EN-US">d

<span Times New Roman",«serif»">,<span Times New Roman",«serif»; mso-ansi-language:EN-US">dv<span Times New Roman",«serif»">,<span Times New Roman",«serif»; mso-ansi-language:EN-US">d<span Times New Roman",«serif»">1,<span Times New Roman",«serif»; mso-ansi-language:EN-US">d<span Times New Roman",«serif»">2,<span Times New Roman",«serif»; mso-ansi-language:EN-US">d<span Times New Roman",«serif»">3,<span Times New Roman",«serif»; mso-ansi-language:EN-US">d<span Times New Roman",«serif»">4 <span Times New Roman",«serif»">–переменные вещественного типа <span Times New Roman",«serif»; mso-ansi-language:EN-US">d<span Times New Roman",«serif»"> – требуется для создания копииглавного определителя <span Times New Roman",«serif»; mso-ansi-language:EN-US">dv<span Times New Roman",«serif»">. <span Times New Roman",«serif»;mso-ansi-language:EN-US">d<span Times New Roman",«serif»">1 — <span Times New Roman",«serif»;mso-ansi-language:EN-US">d<span Times New Roman",«serif»">4 <span Times New Roman",«serif»">– определители требующиеся длянахождения корней уравнения.

<span Times New Roman",«serif»">Переменные

<span Times New Roman",«serif»;mso-ansi-language:EN-US">i<span Times New Roman",«serif»">,<span Times New Roman",«serif»; mso-ansi-language:EN-US">j<span Times New Roman",«serif»"> <span Times New Roman",«serif»">нужныдля счётчиков в операциях с матрицами <span Times New Roman",«serif»; mso-ansi-language:EN-US">i<span Times New Roman",«serif»"> – это строки, <span Times New Roman",«serif»; mso-ansi-language:EN-US">j<span Times New Roman",«serif»"> – это столбцы тип этихпеременных <span Times New Roman",«serif»;mso-ansi-language:EN-US">integer<span Times New Roman",«serif»"><span Times New Roman",«serif»">(целыйтип данных).

<span Times New Roman",«serif»">Переменная 

<span Times New Roman",«serif»; mso-ansi-language:EN-US">k<span Times New Roman",«serif»"> <span Times New Roman",«serif»">использованапри умножении матриц в качестве дополнительного счётчика тип <span Times New Roman",«serif»; mso-ansi-language:EN-US">integer<span Times New Roman",«serif»">.

<span Times New Roman",«serif»;mso-ansi-language:EN-US">n

<span Times New Roman",«serif»"><span Times New Roman",«serif»">–переменная, использованная в процедуре замены для определения номеравырезаемого столбца тип переменной – <span Times New Roman",«seri
еще рефераты
Еще работы по программированию, базе данных