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

Широкое использование средств вычислительной техники - один из главных факторов ускорения научно-технического прогресса. Алгоритм решения задачи управления процессами перевозок в программной среде Pascal. Пересчитанная таблица грузоперевозок в Excel.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.03.2014
Размер файла 261,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Интенсивное развитие вычислительной техники, ее проникновение во все сферы деятельности ставит перед специалистами транспортной отрасли задачу широкого распространения компьютерной грамотности.

Разработка программ и программных комплексов приобретает характер индустриального производства. Значение программного обеспечения трудно переоценивать, т.к. именно программы определяют и создают «интеллект» компьютера. В то же время процесс создания программ относится к одной из наиболее сложных сфер творческой деятельности человека, требующий больших усилий и специальной технологии разработки.

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

В данной курсовой работе необходимо научиться решать транспортные задачи средствами Pascal, Ms Excel, MathCad. Говоря подробнее, мне предстоит пополнение моих знаний в области информационных технологий, расширение кругозора в сфере моей будущей профессии. Приобретение навыков в составлении алгоритма решения задачи и написании программ на языке Pascal по работе с текстовыми файлами, обработке массивов, применении подпрограмм и структурированного типа данных, а также приобретение навыков в работе со средствами пакета Microsoft Office и пакета MathCad. Результаты работы требуется представить в структурированном документе Ms Word, содержащем внедрённые объекты Ms Excel и MathCad.

1. Постановка задачи

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

Необходимо:

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

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

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

Определить регион с максимальным количеством прибывшего груза. Уменьшить объем прибывших грузов с каждого региона (в том числе и местном сообщении) на 11 % на данный регион.

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

2. Исходные данные

Количество регионов - 10.

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

67 45 29 15 20 89 65 60 34 54.

59 29 62 51 8 96 72 98 69 90.

2 80 37 74 29 4 98 79 33 34.

16 4 46 14 77 0 73 79 13 39.

98 3 84 7 43 84 59 62 72 3.

33 70 75 12 81 52 53 60 27 8.

21 75 94 91 69 23 30 64 12 71.

96 83 18 10 28 27 66 11 89 1.

45 88 71 66 67 41 96 0 9 52.

48 29 13 68 50 61 33 68 49 16.

Названия регионов:

Борисов.

Могилев.

Витебск.

Брест.

Гомель.

Гродно.

Минск.

Пинск.

Орша.

Полоцк.

Данная таблица перевозок грузов создана с помощью программы ОС Windows «Блокнот», сохранена под именем «data». Используется для расчетов в 3-х приложениях: табличного процессора MS Excel, пакета автоматизации математических и инженерных расчетов MathCAD и среды программирования Pascal ABC.

3. Решение задачи управления процессами перевозок в среде Pascal

Алгоритм решения задачи.

Общая блок-схема решения задачи, представленная ниже, представляет собой совокупность из четырех основных процедур: процедура задания городов (SettingSity). Процедура чтения данных из файла (ReadFromFile), процедура отображения исходной таблицы (ShowData), которая включает в себя процедуру отображения шапки таблицы (Table). Нахождение суммы по строкам и столбцам, процедуру по поиску максимального значения из суммы по столбцам (сумма прибывших грузов) - (PopularReg), а так же процедуру по подсчету суммы на главной диагонали (перевозки в местном сообщении) - (SumOnMainDiagonal). Последняя процедура основной программы (ShowChangeData) является аналогом предыдущей процедуры с внесением в нее изменений связанных с условием задачи.

Рисунок 1 - Блок-схема алгоритма основной программы

Рисунок 2 - Блок-схема алгоритма задания городов

Рисунок 3 - Блок-схема алгоритма нахождения максимального значения из суммы столбцов

Рисунок 4 - Блок-схема алгоритма считывания данных из файла

Рисунок 5 - Блок-схема алгоритма работы с исходными данными

Рисунок 6 - Блок-схема алгоритма нахождения суммы по столбцам

Рисунок 7 - Блок-схема алгоритма нахождения суммы элементов на главной диагонали

Рисунок 8 - Блок-схема алгоритма вывода и изменения исходных данных

Программа решения задачи на языке Pascal.

program kurs;

//n - количество пунктов назначения

Const

N=10;

//необходимые глобальные переменные

Var

f:text;

smax,sum_str,somd:real;

i,j,imax:integer;

a:array[1..N,1..N] of real;

sum_ch,s:array[1..N] of real;

b:array[1..10] of string;

//установка городов

procedure SettingCity;

begin

b[1]:='Борисов';

b[2]:='Могилев';

b[3]:='Витебск';

b[4]:='Брест';

b[5]:='Гомель';

b[6]:='Гродно';

b[7]:='Минск';

b[8]:='Пинск';

b[9]:='Орша';

b[10]:='Полоцк';

end;

//считывание данных из файла

procedure ReadFromFile;

begin

assign(f,'D:\data.txt');

reset(f);

for i:=1 to N do

for j:=1 to N do

begin

read(f, a[i,j]);

end;

end;

//нахождение максимального значения количества прибывших грузов

procedure PopularReg(var ss:array[1..N] of real);

begin

s[1]:=smax;

for i:=1 to N do

if s[i]>smax then

begin

smax:=s[i];

imax:=i;

end;

end;

//нахождение суммы столбцов

procedure SumCol(var ss:array[1..N] of real);

begin

for i:=1 to N do

for j:=1 to N do

begin

s[i]:=0;

for j:=1 to N do

s[i]:=s[i]+a[j,i];

end;

end;

//вывод шапки таблицы

procedure Table;

begin

writeln('__________________________________________________________________________________________________');

for i:=1 to N do

write('|':1,b[i]:7);

writeln('|',' Сумма ':16,'|':1);

end;

//подсчет елементов на диагонали

procedure SumOnMainDiagonal( var aa:array[1..N,1..N] of real);

var somd:real;

i,j:integer;

begin

somd:=0;

for i:=1 to N do

somd:=somd+a[i,i];

writeln('Сумма перевезенных грузов в местном сообщении ',somd:3:1,' тыс.тонн');

end;

//отображение данных с моментальной обработкой

procedure ShowData;

begin

Table;

for i:=1 to N do

begin

sum_str:=0;

writeln('__________________________________________________________________________________________________');

for j:=1 to N do

begin

write('|':1,a[i,j]:7:1);

sum_str:=sum_str+a[i,j];

end;

writeln('|',b[i]:10,' - ',sum_str,'|':1);

end;

SumCol(s);

writeln('__________________________________________________________________________________________________');

for i:=1 to N do

write(s[i]:8:1);

writeln;

PopularReg(s);

writeln;

SumOnMainDiagonal(a);

writeln;

writeln('Регион с максимальным кол-вом прибывших грузов ', b[imax],', в который прибыло ',smax:3:1,' тыс.тонн грузов.');

writeln;

close(f);

end;

//изменение и отображение первой матрицы

procedure ShowChangeData;

begin

writeln('Пересчитанная матрица:');

Table;

for i:=1 to N do

begin

sum_str:=0;

writeln('__________________________________________________________________________________________________');

for j:=1 to N do

begin

if j<>imax then

write('|':1,a[i,j]:7:1)

else

begin

a[i,j]:=a[i,j]-a[i,j]*0.11;

write('|':1,a[i,j]:7:1);

end;

sum_str:=sum_str+a[i,j];

end;

write('|',b[i]:8,' - ',sum_str:3:1,'|':1);

writeln;

end;

SumCol(s);

writeln('__________________________________________________________________________________________________');

for i:=1 to N do

write(s[i]:8:1);

writeln;

PopularReg(sum_ch);

writeln;

SumOnMainDiagonal(a);

writeln;

writeln('После перечсета кол-во прибывших грузов в ',b[imax],' стало ',s[imax]:3:1,' тыс.тонн. ');

end;

//основной код программы

Begin

SettingCity;

ReadFromFile;

ShowData;

ShowChangeData;

End.

Рисунок 9 - Результаты решения задачи

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

Исходные данные и итоги по строкам и столбцам

Рисунок 10

Рисунок 11

Расчёты по заданию

Количество грузов, перевозимых в местном сообщении по всем регионам 308 тыс. тонн.

Определение региона с максимальным количеством прибывшего груза производится следующим образом:

Табл.1

Макс. Прибывший груз

=МАКС(B13:K13)

Нахождение номера столбца, в котором находится максимальное количество прибывшего груза:

Табл. 2

Номер стролбца

=ПОИСКПОЗ(H13;B13:K13;0)

Нахождение индекса (названия города) столбца, в котором находится макс. прибывший груз:

Табл. 3

Название региона

=ИНДЕКС(B1:K1;;7)

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

Табл. 4

Минск

=H3-0,11*H3

=H4-0,11*H4

=H5-0,11*H5

=H6-0,11*H6

=H7-0,11*H7

=H8-0,11*H8

=H9-0,11*H9

=H10-0,11*H10

=H11-0,11*H11

=H12-0,11*H12

Рисунок 12 - Пересчитанная таблица грузоперевозок

вычислительный алгоритм пересчитанный

Рисунок 13 - Диаграмма по результатам расчета

5. Решение задачи средствами MATHCAD

Данные, используемые в пакете MathCad, были взяты из файла Data, названия городов вводились вручную.

Рисунок 14

Рисунок 15

Рисунок 16

Рисунок 17

Заключение

Поставленные задачи в курсовой выполнены.

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

Все полученные результаты объединил в документе MSWord.Были использованы OLE-технологии - связывание и внедрение объектов, что в некоторой степени облегчило процесс работы и улучшило общий вид итогового документа.

В результате выполнения заданий по курсовой работе я изучил три метода решений одной задачи и улучшил свои знания в приложениях MSExcel, MSWord, MathCAD и PascalABC. Знания, полученные при выполнении курсовой работы, позволят применять их в дальнейшей учёбе.

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

1. Борисенко М.В. Основы информационных технологий: пособие / М.В. Борисенко. - Гомель: БелГУТ, 2005. - 180с.

2. Борисенко М.В. Компьютерные информационные технологии / М.В. Борисенко; М_во образования Респ. Беларусь, Белорус. гос. ун-т трансп. - Гомель: БелГУТ, 2008. - 296с.

3. Информатика. Программирование на языке Паскаль: практикум по лабораторным работам. Ч.1 / А.П. Кейзер и др.; под общ. ред. Ю.А. Пшеничнова. - Гомель: БелГУТ, 2005. - 46с.

4. Рогачева Н.А. Информатика. Язык программирования Паскаль: пособие для студ. дневной формы обучения техн. спец. Ч II / Н.А. Рогачева, М.В. Борисенко, Т.Н. Литвинович. - Гомель: БелГУТ, 2004. - 39с.

5. Рогачева Н.А. Информатика. Язык программирования Паскаль: пособие для студ. дневной формы обучения техн. спец. Ч III / Н.А. Рогачева, М.В. Борисенко, Т.Н. Литвинович. - Гомель: БелГУТ, 2004. - 30с.

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

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.