Решение транспортных задач средствами Pascal, MS Excel, MathCad
СОДЕРЖАНИЕ
Введение
. Решение задачи средствами Паскаль
.1 Алгоритм решения задачи
.2 Программа решения задачи на языке Паскаль
.3 Результаты решения задачи
. Решение задачи средствами MS EXCEL
. Решение задачи в среде MathCad
Заключение
Литература
ВВЕДЕНИЕ
Внедрение и широкое использование средств вычислительной техники является
одним из главных факторов ускорения научно-технического прогресса в нашей
стране. Интенсивное развитие вычислительной техники, ее проникновение во все
сферы деятельности ставит перед специалистами транспортной отрасли задачу
широкого распространения компьютерной грамотности.
Разработка программ и программных комплексов приобретает характер
индустриального производства. Значение программного обеспечения трудно
переоценивать, т.к именно программы определяют и создают «интеллект»
компьютера. В то же время процесс создания программ относится к одной из
наиболее сложных сфер творческой деятельности человека, требующий больших
усилий и специальной технологии разработки.
При составлении программ применяются различные языки программирования,
среди которых Pascal занимает особое место. Отражая
основные концепции структурного программирования, язык Pascal быстро завоевал популярность. Наша задача -
практическое применение знаний современных информационных технологий в изучении
профильных дисциплин, для оформления курсовых работ и диплома, подготовка к
комплексному применению информационных технологий для профессиональной
деятельности.
В данной курсовой работе необходимо научиться решать транспортные задачи
средствами Pascal, Ms Excel, MathCad.
Говоря подробнее, мне предстоит пополнение моих знаний в области информационных
технологий, расширение кругозора в сфере моей будущей профессии, приобретение
навыков в составлении алгоритма решения задачи и написании программ на языке
Pascal [3, 4, 9, 11, 12, 14, 15] по работе с текстовыми файлами, обработке
массивов, применении подпрограмм и структурированного типа данных, а также
приобретение навыков в работе со средствами пакета Microsoft Office [1,2,4,8-10,13,16]
и пакета MathCad [5,6,7,17]. Результаты работы требуется представить в
структурированном документе Ms Word, содержащем внедрённые объекты Ms Excel и MathCad
1. Решение
задачи средствами Паскаль
.1 Алгоритм
решения задачи
Основная программа
Процедура Vvodn
Процедура Vvod
Процедура Vivod
Процедура Summa
Функция Sumdiag
Процедура pb_pv
.2 Программа решения задачи на языке Паскаль
program vorobey;Mas=array[1..9,1..9] of real;=array[1..9] of
string;A:mas;i,j:byte;
min:real;f,f2:text;region:rg;,s2:real;imin:byte;n:byte;_region:array[1..9] of
string;:array[1..9] of real;:array[1..9] of real;
{Процедура вывода приветствия}Vvodn;
var i,j:byte;('Здравствуйте! Сейчас
вам будет предложено ввести количество регионов между которыми осуществляються
грузоперевозки');('Количество регионов не должно превышать 9');;('Введите,
пожалуйста, количество регионов',n);(n);;('Результаты будут сохранены в
текстовом файле Genrih1111');;
{!!!Процедура взятия из файла!!!}
Procedure Vvod(n:byte;var A:mas);('n=',n);(f,'g:\\Учёба\Воробей\Информатика\Genrih111.txt');(f);i:=1
to n doj:=1 to n do read(f,A[i,j]);(f);;(f);
End;
{!!!Процедура сохранения в файл!!!}
Procedure VIVOD(n:byte;A:mas);(f2,' ');(f2,'|регион\грузы|':13);i:=1 to n do(f2,Name_region[i]:10);(f2);(f2,' ');i:=1
to n do(f2,Name_region[i]:10);j:=1 to n do(f2,A[i,j]:13:1);(f2);(' ');
end;(f2);;
{!!!Процедура нахождения суммы по строкам и столбцам!!!}
Procedure Summa(n:byte;A:mas);i,j:byte;(f2);
{!!!Формирование S по столбцам!!!}j:=1 to n do
begin[j]:=0;i:=1 to n do[j]:=S[j]+A[i,j];;
writeln(f2,' Суммарные объёмы ввоза в каждом региона (Сумма грузов по
столбцам) ');
for j:=1 to n do(f2,Name_region[j]:10,S[j]:4:1);
{!!!Формирование S по строкам!!!}i:=1 to n
do[i]:=0;j:=1 to n do[i]:=S1[i]+A[i,j];;
writeln(f2,'Суммарные объемы вывоза в каждом регионе (Сумма грузов по
строкам) ');
for i:=1 to n do(f2,Name_region[i],S1[i]:4:1);
writeln(f2);;
{!!!Функция, вычисляющая сумму по главной диагонали!!!}
Function SumDiag(n:byte;A:mas):real;i:byte;S2:real;:=0;i:=1
to n do:=S2+A[i,i];:=S2;
end;
{!!!Процедура нахожения грузов в местном сообщении!!!}
procedure pb_pv(n:byte;A:mas; var imin:byte; var
min:real);z:real;:=A[1,1]; imin:=1;i:=1 to n doj:=1 to n do(i=j) and
(min>A[j,j])then:=A[j,j];
imin:=j;;;
{!!!Раздел операторов главной
программы!!!}(f2,'g:\\Учёба\Воробей\Информатика\Genrih1111.txt');
rewrite(f2);_region[1]:=' Лида ';_region[2]:=' Рось ';_region[3]:=' Гродно ';_region[4]:=' Мосты ';_region[5]:=' Кобрин ';_region[6]:=' Гомель ';_region[7]:=' Жлобин ';_region[8]:=' Минск ';_region[9]:=' Орша ';
Vvodn;(n,A);(f2,'Таблица №1-Исходные перевозки на каждом регионе');
VIVOD(n,A);(n,A);
writeln(f2,'Сумма по главной диагонали=',SumDiag(n,A):4:1);
pb_pv(n,A,imin,min);:=min-min*0.07;(f2,'минимальная перевозка=',min:8:2, ' в регионе', Name_region[imin]);
writeln(f2,'уменьшение грузопотока внутри этого региона на 7%=',z:4:0);
A[imin,imin]:= A[imin,imin]*0.93;
writeln(f2,'Таблица №2-Перевозки на каждом регионе после уменьшения
грузопотока внутри региона с минимальной перевозкой на 7% ');
VIVOD(n,A);(f2);
end.
.3 Результаты
решения задачи
Здравствуйте! Сейчас вам будет предложено ввести количество регионов
между которыми осуществляються грузоперевозки
Количество регионов не должно превышать 9
Введите, пожалуйста, количество регионов
Результаты будут сохранены в текстовом файле Genrih1111
n=9
2. Решение задачи средствами MS EXCEL
.1 таблица исходных данных
Таблица 1-Таблица перевозок грузов
из на
|
Рось
|
Гродно
|
Мосты
|
Кобрин
|
Гомель
|
Жлобин
|
Минск
|
Орша
|
Итого отправлено
|
Лида
|
15412
|
1612
|
1812
|
4112
|
6912
|
1412
|
1112
|
1112
|
2112
|
35608
|
Рось
|
76121
|
10112
|
2112
|
1612
|
8812
|
1712
|
4512
|
2112
|
1012
|
108117
|
Гродно
|
6312
|
9812
|
3512
|
7112
|
4512
|
2812
|
4812
|
2212
|
1112
|
42208
|
Мосты
|
3212
|
5612
|
4312
|
9812
|
1312
|
4112
|
3712
|
3812
|
2212
|
38108
|
Кобрин
|
1812
|
2512
|
1112
|
1912
|
1912
|
2512
|
9912
|
4512
|
3212
|
29408
|
Гомель
|
1512
|
2012
|
51212
|
2212
|
1412
|
5812
|
5712
|
4312
|
76808
|
Жлобин
|
1412
|
1312
|
4712
|
2412
|
1112
|
2212
|
7012
|
4212
|
5412
|
29808
|
Минск
|
1212
|
2012
|
3412
|
3212
|
5512
|
5412
|
2312
|
2012
|
3412
|
28508
|
Орша
|
1012
|
4312
|
5212
|
5512
|
6512
|
4412
|
4312
|
4412
|
3312
|
39008
|
Итого прибыло
|
108017
|
39308
|
77408
|
37908
|
38008
|
27208
|
43508
|
30108
|
26108
|
55708
|
2.2 Выполнение расчётов
55708
|
Cумма количества грузов,
перевозимых в местном сообщении по всем регионам
|
1912
|
Минимальное кол-во
перевозимого груза в местном сообщении
|
Кобрин
|
Регион с минимальным
количеством перевозимого груза в местном сообщении
|
50250
|
Cумма количества грузов,
перевозимых в местном сообщении по всем регионам после уменьшения на 7%
|
Таблица 2
Таблица перевозок грузов с уменьшенным грузопотоком внутри региона
из на
|
Лида
|
Рось
|
Гродно
|
Мосты
|
Кобрин
|
Гомель
|
Жлобин
|
J
|
K
|
Итого отправлено
|
15412
|
1612
|
1812
|
4112
|
6428
|
1412
|
1112
|
1112
|
2112
|
35124
|
Рось
|
76121
|
10112
|
2112
|
1612
|
8195
|
1712
|
4512
|
2112
|
1012
|
107500
|
Гродно
|
6312
|
9812
|
3512
|
7112
|
4196
|
2812
|
4812
|
2212
|
1112
|
41892
|
Мосты
|
3212
|
5612
|
4312
|
9812
|
1220
|
3824
|
3712
|
3812
|
2212
|
37728
|
Кобрин
|
1685,2
|
2336
|
1034
|
1778
|
1778
|
2336
|
9218
|
4196
|
2987
|
27349
|
Гомель
|
1512
|
2012
|
51212
|
2212
|
1313
|
2612
|
5812
|
5712
|
4312
|
76709
|
Жлобин
|
1412
|
1312
|
4712
|
2412
|
2212
|
7012
|
4212
|
5412
|
29730
|
Минск
|
1212
|
2012
|
3412
|
3212
|
5126
|
5412
|
2312
|
2012
|
3412
|
28122
|
Барановичи
|
1012
|
4312
|
5212
|
5512
|
6056
|
4412
|
4312
|
4412
|
3312
|
38552
|
Итого прибыло
|
105666
|
32808
|
68706
|
29050
|
24165
|
16920
|
36190
|
29792
|
25883
|
55574
|
55708
|
Cумма количества грузов,
перевозимых в местном сообщении по всем регионам Эту сумму я нашёл по формуле:
=C4+D5+E6+F7+G8+H9+I10+J11+K12
|
1912
|
Минимальное кол-во
перевозимого груза в местном сообщении Это количество я нашёл по формуле:
=МИН(C4;D5;E6;F7;G8;H9;I10;J11;K12)
|
Кобрин
|
Регион с минимальным
количеством перевозимого груза в местном сообщении Этот Регион я нашёл по
формуле:
=ЕСЛИ(C4=B16;"A";ЕСЛИ(D5=B16;"B";ЕСЛИ(E6=B16;"C";
ЕСЛИ(F7=B16;"D";ЕСЛИ(G8=B16;"E";ЕСЛИ(H9=B16;"F";ЕСЛИ(I10=B16;"G")))))))
|
50250
|
Cумма количества грузов,
перевозимых в местном сообщении по всем регионам после уменьшения на 7% Эту
сумму я нашёл по формуле: =C22+D23+E24+F25+G26+H27+I28
|
Сумму прибывшего груза я нашёл по формуле: =СУММ(C4:C12)
Аналогично я находил эту сумму по всем регионам.
Сумму отправленного груза я нашёл по формуле: =СУММ(C4:K4),аналогично я
находил эту сумму по всем регионам.
Перерасчёт по регионам происходит по формуле:
=ЕСЛИ(C4=B16;C4-C4*0,07;C4),данная формула, только в аналогичном виде записана
во всех ячейках.
2.3 Построение диаграммы по расчётным данным
3. Решение
задачи в среде MathCad
Заключение
Выполнив курсовую работу, я ознакомилась с основными типами языка
Паскаль, структурой программы, алгоритмами решения, работой с циклическими
операторами, массивами, процедурами и т.д. Приобрела навыки в решении задач на
языке программирования Паскаль, составлении блок-схем, печати программ, работы
в MS Excel, MathСad. Особое внимание в данной курсовой
работе уделено операторам языка Паскаль. При помощи этого языка
программирования решена задача, при тестировании получены и приведены
результаты, которые затем совпали с результатами решения задачи в других
приложениях.
После проработки ряда учебных и периодических изданий, а также решения
практической задачи научилась работать с файлами в среде языка программирования
Паскаль, создавать решения программ для преобразования матриц и работы с
файлами по условию задачи.
В программе MathCad научилась
производить различные операции над матрицами при помощи формул, арифметических
выражений и т.д.
В оболочке MS Excel получены навыки по работе с
таблицами, формулами, графиками и диаграммами.
Список
литературы
pascal excel mathcad
задача
1. Борисенко, М. В. Компьютерные информационные
технологии : учеб.-метод. пособие / М. В. Борисенко; М-во образования Респ.
Беларусь, Белорус. гос. ун-т трансп. - Гомель: БелГУТ, 2008. - 298 с.
2. Гладких, Б. А. Информатика. Введение в специальность:
учеб, пособие для вузов / Б. А. Гладких. - Томск: Изд-во науч.-техн.
литературы, 2002. - 350 c.
. Гладков, В. П. Знаешь ли ты Паскаль? : учеб. пособие
/ В. П. Гладков ; Перм. гос. техн. ун-т. - Пермь : 2001. - 109 с.
. Ерофеев, А. А. Информационные технологии на
железнодорожном транспорте / А. А. Ерофеев. - Гомель : БелГУТ, 2003. - 84 с.
. Кремец, Ю. А. Технические средства организации
дорожного движения/ Ю. А. Кремец. - М. : Транспорт, 1990. - 254 с.
. Лидовский, В. В. Теория информации: учеб. пособие /
В. В. Лидовский. - М.: Компания Спутник, 2004. - 111 с.
. Максимова, А. П. Информатика : учеб.-практ. курс /А.
П. Максимова. - Минск : ТетраСистемс, 2005. - 128 с.
. Пилипук Н. Н. Автоматические системы управления
автомобилей / Н. Н. Пилипук, БНТУ - Мн. ,2004. - 85 с.
. Смехов А. А., Зудилин Н. А. Развитие
автоматизированной системы управления грузовой станции/ А. А. Смехов - М.:
Транспорт, 1996. - 144 с.
. Трофименко, И. Л. Автоматизированные системы
обработки информации и управления на автомобильном транспорте/ И. Л.
Трофименко. - М.: Академия, 2003. - 222 с.
. Улицкий, М. П. Организация, планирование и
управление в автотранспортных предприятиях: учеб. пособие / М. П. Улицкий,
БелГУТ. - Гомель: 2006. - .327 с.
. Фаронов, В. В. Турбо Паскаль 7.0. Начальный курс :
учеб. пособие / В. В. Фаронов. - 7-е изд., перераб. - М.: КНОРУС, 2007. - 576
с.
. Шинкевич Т. Л. Автоматические системы управления
автомобилей/ Т. Л. Шинкевич, БНТУ - Мн. , 2004. - 85 с.
15. Бородич, Ю. С., Вальвачев, А.Н., Кузьмич, А.И. Паскаль
для персональных компьютеров / Бородич, Ю.С., Вальвачев, А.Н., Кузьмич, А.И. -
Минск: ВШ, 1991. - 365с.
. Гораев, О. П., Лыч Ю. П. Электронные таблицы MS Excel: практикум по компьютерным
технологиям / О. П. Гораев, Ю. П. Лыч. - Гомель : БелГУТ, 2003. - 67 с.
. Шушкевич, Г. Ч. Введение в Mathcad 2000 : учеб. пособие / Г. Ч. Шушкевич, С. В.
Шушкевич. - Гродно : ГрГУ, 2001. - 140 с.