Применение программных комплексов для решения инженерных задач

Курсовая работа
Содержание скрыть
3.1 Алгоритм решения задачи , Рисунок1 Блок-схема главной программы , Рисунок2 Блок-схема процедуры Vivodfile , Рисунок3 Блок-схема процедуры , Рисунок 4. Блок-схема процедуры Raschet , Рисунок 6. Блок-схема процедуры Vivod , Рисунок 5. Блок-схема процедуры Vvod1 , 3.2 Текст программы , pascal excel mathcad задача , Program Perevozki; , Const N=7; , Type Mas=array[1..N,1..N] real; , Var A:Mas; , V_stolbcov:array [1..N] real; , V_strok:array [1..N] real; , S, max: real; , i, j, imax, jmax: integer; , Orig:array [1..8] string; , input, output: text; , {вывод таблицы грузоперевозок} , Procedure Raschet; , Var i, integer; , Begin , {находим сумму по строкам} , For i:=1 N , Begin , V_strok[i]:=0; , For j:=1 N , V_strok[i]:=A[i,j]+V_strok[i]; , end; , {находим сумму по столбцам} , For i:=1 N , Begin , V_stolbcov[i]:=0; , For j:=1 N , V_stolbcov[i]:=A[j,i]+V_stolbcov[i]; , end; , end; , Procedure Vivodfile(N: integer; A:Mas); , Var i, integer; , Begin , For i:=1 N , begin , For j:=1 N write (A[i,j]:7:1); , writeln; , end; , end; , Procedure region; , Begin , Orig[1]:=(‘Бургун’); , Orig[2]:=(‘Корсик’); , Orig[3]:=(‘Гвадел’); , Orig[4]:=(‘Мартин’); , Orig[5]:=(‘Гвиана’); , Orig[6]:=(‘Пикард’); , Orig[7]:=(‘Майотт’); , Orig[8]:=(‘Сумма ‘); , end; , Procedure Vivod(N: integer; A:Mas); , Var i, integer; , Begin , writeln(‘———————————————————————————‘); , write ( ‘| ‘,Orig[1],’|’,Orig[2],’|’,Orig[3],’|’,Orig[4],’|’,Orig[5],’|’,Orig[6],’ |’,Orig[7],’ | ‘,Orig[8],’ | ‘ ); , writeln; , writeln(‘———————————————————————————‘); , For i:=1 N , Begin , write(Orig[i]); , For j:=1 N , write (‘ |’,A[i,j]:7:1); , write(‘ | ‘,V_strok[i]:7:1); , writeln (‘ |’); , i=N then , Begin , For j:=1 N , Begin , j=1 then , Begin , writeln(‘———————————————————————————‘); , write(‘Сумма ‘); , end; , write(‘ |’,V_stolbcov[j]:7:1); , end; , writeln(‘|’); , end; , writeln(‘———————————————————————————‘); , end; , writeln; , end; , Procedure Vivod1(N: integer; A:Mas); , Var i, integer; , Begin , writeln(‘———————————————————————————‘); , write (‘|’,Orig[1],’|’,Orig[2],’|’,Orig[3],’|’,Orig[4],’|’ ,Orig[5],’ |’,Orig[6],’|’ ,Orig[7],’| ‘,Orig[8],’ | ‘); , writeln; , writeln(‘———————————————————————————‘); , For i:=1 N , Begin , write(Orig[i]); , For j:=1 N , write (‘ |’,A[i,j]:7:1); , writeln (‘ |’); , writeln(‘———————————————————————————‘); , writeln; , end; , end; , {главная программа} , Begin , cls; , {создание и распечатка исходной таблицы грузоперевозок} , assign (input, ‘F:\variant13.txt’); , assign (output, ‘F:\результаты variant13.out’); , reset (input); rewrite (output); , For i:=1 N , Begin , For j:=1 N read (input, A[i,j]); , readln(input); , end; , writeln; , region; , writeln (output, ‘ Обратная матрица:’); , for i:=1 n , Begin , for j:=1 n write (output, A[i,j]:4:1); , writeln (output) , end; , close (output); , writeln (‘Исходная таблица грузоперевозок с суммой:’); , Raschet; , Vivod (N,A); , {найдем сумму грузоперевозок в местном сообщении} , S:=0; , For i:=1 N , S:=S+A[i,i]; , writeln (‘Сумма эл-тов главной диагонали = ‘, S,’.’); , writeln; , max:=0; , {найдем максимальный элемент таблицы грузоперевозок выше главной диагонали} , For i:=1 N , For j:=1 N , if(i<j)and (A[i,j]>=max) then , Begin , max:=A[i,j]; , imax:=i; , jmax:=j; , end; , writeln (‘Значение макс. эл-та табл. выше глав. диагонали = ‘, max:6:3,’.’); , writeln; , writeln (‘Значение номера строки с максимальным элементом = ‘, imax,’.’); , writeln; , writeln (‘Значение номера столбца с максимальным элементом = ‘, jmax,’.’); , writeln; , { Уменьшение перевозок по наиденному региону на 9%} , For j:=1 N , A[imax,j]:=A[imax,j]-0.09*A[imax,j]; , writeln (‘Матрица пересчета = ‘); , Vivod (N,A); , writeln; writeln , End. , 3.3 Результаты работы программы

Введение

Вычислительная техника — это совокупность технических и математических средств, используемых для автоматизации процессов вычислений и обработки информации, а также отрасль техники, занимающаяся разработкой, изготовлением и эксплуатацией этих средств. Наиболее существенно применение средств вычислительной техники в системах автоматического управления при сборе, обработке и использовании информации с целью учёта, планирования, прогнозирования и экономической оценки, для принятия научно обоснованных решений. Интенсивное развитие вычислительной техники проникло во все сферы жизни человека, в том числе и в транспортной отрасли. В данной курсовой работе необходимо научиться решать транспортные задачи средствами Pascal, excel, MathCad. В рамках выполнения курсовой работы моей целью является решение транспортных задач в среде Pascal ABC, средствами электронных таблиц Excel и пакета автоматизации математических и инженерных расчетов MathCAD. На примере поставленной задачи мне предстоит освоить составление алгоритма с использованием вспомогательных алгоритмов, написать программу с использованием процедур и решить задачу в Mathcad и Excel, распечатать результаты. 1. Постановка задачи

Требуется провести расчеты по таблице перевозок грузов между отдельными регионами с помощью 3-х приложений — табличного процессора Excel, пакета автоматизации математических и инженерных расчетов MathCAD и среды программирования Pascal ABC.

Необходимо:

а) найти итоги по строкам и столбцам таблицы;

б) определить сумму количества грузов, перевозимых в местном сообщении по всем регионам (сумма данных по главной диагонали матрицы)

в) выполнить индивидуальное задание:

Определить регионы для максимальной перевозки, расположенной выше главной диагонали матрицы. Все размеры отправления груза на соответствующий регион уменьшить на 9 %

г) распечатать исходную и результирующую (измененную) таблицу перевозок, а также все расчетные данные.

2. Исходные данные Количество регионов — 7 Таблица перевозок грузов (в условных единицах) между отделбными регионами 9 3 7 46 66 3 43 84 36 0 29 15 3 4 Названия регионов: Бургундия Корсика Гваделупа Мартиника Гвиана Пикардия Майотто 3. Решение задачи управления процессами перевозок в среде Pascal

18 стр., 8996 слов

Решение задач: Применение линейного программирования для решения экономических ...

... применения математических методов и электронно-вычислительной техники в экономике. Основной целью написания курсовой работы является всесторонний анализ применения линейного программирования для решения экономических задач. Задачами курсовой работы являются: 1. Теоретико-методическое описание метода линейного программирования; 2. Выявление области применения ...

3.1 Алгоритм решения задачи , Рисунок1 Блок-схема главной программы , Рисунок2 Блок-схема процедуры Vivodfile , Рисунок3 Блок-схема процедуры , Рисунок 4. Блок-схема процедуры Raschet , Рисунок 6. Блок-схема процедуры Vivod , Рисунок 5. Блок-схема процедуры Vvod1 , 3.2 Текст программы , pascal excel mathcad задача , Program Perevozki; , Const N=7; , Type Mas=array[1..N,1..N] real; , Var A:Mas; , V_stolbcov:array [1..N] real; , V_strok:array [1..N] real; , S, max: real; , i, j, imax, jmax: integer; , Orig:array [1..8] string; , input, output: text; , {вывод таблицы грузоперевозок} , Procedure Raschet; , Var i, integer; , Begin , {находим сумму по строкам} , For i:=1 N , Begin , V_strok[i]:=0; , For j:=1 N , V_strok[i]:=A[i,j]+V_strok[i]; , end; , {находим сумму по столбцам} , For i:=1 N , Begin , V_stolbcov[i]:=0; , For j:=1 N , V_stolbcov[i]:=A[j,i]+V_stolbcov[i]; , end; , end; , Procedure Vivodfile(N: integer; A:Mas); , Var i, integer; , Begin , For i:=1 N , begin , For j:=1 N write (A[i,j]:7:1); , writeln; , end; , end; , Procedure region; , Begin , Orig[1]:=(‘Бургун’); , Orig[2]:=(‘Корсик’); , Orig[3]:=(‘Гвадел’); , Orig[4]:=(‘Мартин’); , Orig[5]:=(‘Гвиана’); , Orig[6]:=(‘Пикард’); , Orig[7]:=(‘Майотт’); , Orig[8]:=(‘Сумма ‘); , end; , Procedure Vivod(N: integer; A:Mas); , Var i, integer; , Begin , writeln(‘———————————————————————————‘); , write ( ‘| ‘,Orig[1],’|’,Orig[2],’|’,Orig[3],’|’,Orig[4],’|’,Orig[5],’|’,Orig[6],’ |’,Orig[7],’ | ‘,Orig[8],’ | ‘ ); , writeln; , writeln(‘———————————————————————————‘); , For i:=1 N , Begin , write(Orig[i]); , For j:=1 N , write (‘ |’,A[i,j]:7:1); , write(‘ | ‘,V_strok[i]:7:1); , writeln (‘ |’); , i=N then , Begin , For j:=1 N , Begin , j=1 then , Begin , writeln(‘———————————————————————————‘); , write(‘Сумма ‘); , end; , write(‘ |’,V_stolbcov[j]:7:1); , end; , writeln(‘|’); , end; , writeln(‘———————————————————————————‘); , end; , writeln; , end; , Procedure Vivod1(N: integer; A:Mas); , Var i, integer; , Begin , writeln(‘———————————————————————————‘); , write (‘|’,Orig[1],’|’,Orig[2],’|’,Orig[3],’|’,Orig[4],’|’ ,Orig[5],’ |’,Orig[6],’|’ ,Orig[7],’| ‘,Orig[8],’ | ‘); , writeln; , writeln(‘———————————————————————————‘); , For i:=1 N , Begin , write(Orig[i]); , For j:=1 N , write (‘ |’,A[i,j]:7:1); , writeln (‘ |’); , writeln(‘———————————————————————————‘); , writeln; , end; , end; , {главная программа} , Begin , cls; , {создание и распечатка исходной таблицы грузоперевозок} , assign (input, ‘F:\variant13.txt’); , assign (output, ‘F:\результаты variant13.out’); , reset (input); rewrite (output); , For i:=1 N , Begin , For j:=1 N read (input, A[i,j]); , readln(input); , end; , writeln; , region; , writeln (output, ‘ Обратная матрица:’); , for i:=1 n , Begin , for j:=1 n write (output, A[i,j]:4:1); , writeln (output) , end; , close (output); , writeln (‘Исходная таблица грузоперевозок с суммой:’); , Raschet; , Vivod (N,A); , {найдем сумму грузоперевозок в местном сообщении} , S:=0; , For i:=1 N , S:=S+A[i,i]; , writeln (‘Сумма эл-тов главной диагонали = ‘, S,’.’); , writeln; , max:=0; , {найдем максимальный элемент таблицы грузоперевозок выше главной диагонали} , For i:=1 N , For j:=1 N , if(i<j)and (A[i,j]>=max) then , Begin , max:=A[i,j]; , imax:=i; , jmax:=j; , end; , writeln (‘Значение макс. эл-та табл. выше глав. диагонали = ‘, max:6:3,’.’); , writeln; , writeln (‘Значение номера строки с максимальным элементом = ‘, imax,’.’); , writeln; , writeln (‘Значение номера столбца с максимальным элементом = ‘, jmax,’.’); , writeln; , { Уменьшение перевозок по наиденному региону на 9%} , For j:=1 N , A[imax,j]:=A[imax,j]-0.09*A[imax,j]; , writeln (‘Матрица пересчета = ‘); , Vivod (N,A); , writeln; writeln , End. , 3.3 Результаты работы программы

И с х о д н а я таблица п е р е в о з о к г р у з о в между регионами

Исходная таблица грузоперевозок с суммой:

| Бургун | Корсик | Гвадел | Мартин | Гвиана | Пикард | Майотт | Сумма |

Бургун | 27.0 | 9.0 | 86.0 | 68.0 | 3.0 | 7.0 | 99.0 | 299.0 |

Корсик | 61.0 | 36.0 | 46.0 | 10.0 | 14.0| 47.0 | 66.0 | 280.0 |

Гвадел | 69.0 | 63.0 | 41.0 | 3.0 | 12.0 | 84.0 | 20.0 | 292.0 |

——————————————————————————- Мартин | 43.0 | 77.0 | 18.0 | 25.0 | 84.0 | 98.0 | 92.0 | 437.0|

Гвиана | 50.0 | 36.0 | 17.0 | 0.0 | 39.0| 83.0 | 12.0 | 237.0 |

Пикард | 29.0 | 73.0 | 46.0 | 33.0 | 15.0| 29.0 | 74.0 | 299.0 |

——————————————————————————- Майотт | 63.0 | 3.0 | 46.0 | 4.0 | 23.0 | 11.0 | 61.0 | 211.0|

——————————————————————————- Сумма | 342.0 | 297.0 | 300.0 | 143.0 | 190.0| 359.0 | 424.0 |

Сумма элементов главной диагонали = 258.

Значение максимального элемента таблицы выше главной диагонали = 99.000.

Значение номера строки с максимальным элементом = 1.

Значение номера столбца с максимальным элементом = 7.

Матрица пересчета =

| Бургун | Корсик | Гвадел | Мартин | Гвиана | Пикард | Майотт |Сумма |

Бургун | 27.0 | 9.0 | 86.0 | 68.0 | 3.0 | 7.0 | 51.2 | 299.0 |

Корсик | 61.0 | 36.0 | 46.0 | 10.0 | 14.0 | 47.0 | 66.0 | 280.0 |

Гвадел | 69.0 | 63.0 | 41.0 | 3.0 | 12.0 | 84.0 | 20.0 | 292.0 |

Мартин | 43.0 | 77.0 | 18.0 | 25.0 | 84.0 | 98.0 | 92.0 | 437.0|

Гвиана | 50.0 | 36.0 | 17.0 | 0.0 | 39.0 | 83.0 | 12.0| 237.0 |

Пикард | 29.0 | 73.0 | 46.0 | 33.0 | 15.0 | 29.0 | 74.0 | 299.0 |

Майотт | 63.0 | 3.0 | 46.0 | 4.0 | 23.0 | 11.0 | 61.0 | 211.0 |

Сумма | 342.0 | 297.0 | 300.0 | 143.0 | 190.0 | 359.0 | 424.0|

4. Решение задачи средствами Excel

4.1 Исходные данные и итоги по строкам и столбцам, 4.2 Расчёты по заданию

Нахождение максимальной перевозки над главной диагональю производилось в несколько этапов. Сначала вычислили максимум в каждой строке из выделенных синим цветом:

Вычисления произведены следующим образом: , Далее вычисления производились следующим образом:

МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ОТПРАВЛЕНОГО ГРУЗА

=МАКС(J2:J7)

Регион с максимальным количеством отправленого груза

=ЕСЛИ(ИЛИ(C2=G12);C1;ЕСЛИ(ИЛИ(D2=G12;);D1;ЕСЛИ(ИЛИ(E2=G12;);E1; , ЕСЛИ(ИЛИ(F2=G12;);F1;ЕСЛИ(ИЛИ(G2=G12;);G1;ЕСЛИ(ИЛИ(H2=G12;);H1;))))))

Для моих исходных данных получены результаты: , Таблица грузоперевозок с уменьшенными размерами отправления груза на 9% по Майотто: , 4.3 Диаграмма по результатам расчета

5. Решение задачи средствами mathcad Нумерация элементов матрицы и векторов начинается с 1 ИСХОДНЫЕ ДАННЫЕ: (количество регионов) Таблица перевозок грузов (в условных единицах) между отдельными регионами Вектор названий регионов ЗАДАНИЕ А Суммы элементов исходной таблицы по строкам (количество вывозимого груза из регионов) Суммы элементов исходной таблицы по столбцам (количество ввозимого груза в регионы) ЗАДАНИЕ Б Суммы элементов на главной диагонали (количество грузов, перевозимых в местном сообщении по всем регионами ) Способ 1 Способ 2 Способ 3 ЗАДАНИЕ В Программа, осуществляющая поиск номера строки матрицы, содержащей максимальный элемент среди элементов, находящихся выше главной диагонали Определим номер и название региона с максимальной перевозкой выше главной диагонали (номер региона) ( название региона) Программа, уменьшающая элементы указанной строки на 9% Преобразуем исходную матрицу перевозок, уменьшив перевозку регионов с номером nomReg на 9% Определим вывоз и ввоз для регионов по преобразованной таблице перевозок Заключение В конце работы можно с уверенностью сказать, что вычислительная техника, совокупность технических и математических средств, методов и приёмов, используются для облегчения и ускорения решения трудоёмких задач, связанных с обработкой информации, в частности числовой, путём частичной или полной автоматизации вычислительного процесса;

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

В результате выполнения заданий по курсовой работе я расширила и углубила свои знания по применению приложений Excel, Word, MathCAD и Pascal ABC, что существенно поможет мне в дальнейшей учебе и работе по специальности.

Список литературы

1. Борисенко, М. В. Компьютерные информационные технологии : учеб.-метод. пособие / М. В. Борисенко; М-во образования Респ. Беларусь, Белорус. гос. ун-т трансп. — Гомель: УО«БелГУТ», 2010. — 298 с.

2. Ерофеев, А. А. Информационные технологии на железнодорожном транспорте / А. А. Ерофеев. — Гомель :УО « БелГУТ», 2003. — с.

3. Фаронов, В. В. Турбо Паскаль 7.0. Начальный курс : учеб. пособие / В. В. Фаронов. — 7-е изд., перераб. — М.: КНОРУС, 2009. — 576 с.

4.Борисенко, М.В. Основы информационных технологий/ M. В. Борисенко -Гомель:УО «БелГУТ»,2011 — 180 с.

5.Бородич, Ю.С., Вальвачев А.Н., Кузьмич А.И. Паскаль для персональных компьютеров /Бородич Ю.С., Вальвачев А.Н., Кузьмич А.И.-Минск; ВШ,2009 — 356 с.