Автор работы: Пользователь скрыл имя, 05 Марта 2014 в 23:56, курсовая работа
Целью данной курсовой работы является:
-пополнение знаний в области информационных технологий,
-расширение кругозора по применению современных информационных технологий,
-приобретение навыков в составлении программ на языке Pascal,
-приобретение навыков в работе со средствами пакета MicrosoftOffice и пакета MathCad.
Введение 3
1. Постановка задачи 4
2. Исходные данные 5
3. Решение задачи управления процессами перевозок в среде Pascal 7
3.1. Алгоритм решения задачи 7
3.2. Текст программы 12
3.3. Результаты работы программы 18
4. Решение задачи средствами MS Excel 19
4.1. Исходные данные и итоги по строкам и столбцам 19
4.2. Расчеты по заданию 20
4.3. Данные грузоперевозок после изменения объемов груза 21
4.4. Диаграммы по результатам расчета 22
5. Решение задачи средствами MATHCAD 24
Заключение 26
Список литературы 27
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА
КАФЕДРА «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Курсовая работа
по дисциплине
«Информатика»
на тему:
«Применение программных комплексов
для решения инженерных задач»
Выполнил: студент группы УА-21 Роговой И.А.
Гомель 2013 |
Проверил: преподаватель |
Оглавление
Среди современных информационных технологий программирование занимает особое место. Интенсивное развитие вычислительной техники, ее проникновение во все сферы деятельности ставит задачу широкого распространения компьютерной грамотности.
В настоящее время большое внимание уделяется процессу автоматизации в различных областях науки, в том числе и транспортной отрасли. Разработка программ и программных комплексов приобретает характер индустриального производства. Значение программного обеспечения трудно переоценивать, т.к именно программы определяют и создают «интеллект» компьютера. В то же время процесс создания программ относится к одной из наиболее сложных сфер творческой деятельности человека, требующий больших усилий и специальной технологии разработки.
При составлении программ применяются различные языки программирования, среди которых Pascal занимает особое место. Отражая основные концепции структурного программирования, язык Pascal быстро завоевал популярность. Наша задача – практическое применение знаний современных информационных технологий в изучении профильных дисциплин, для оформления курсовых работ и диплома, подготовка к комплексному применению информационных технологий для профессиональной деятельности.
Цель данной курсовой работы как раз и состоит в расширении кругозора студентов по применению современных информационных технологий в конкретной практической деятельности по выбранной специальности.
Поэтому целью данной курсовой работы является:
-пополнение знаний в области информационных технологий,
-расширение кругозора по применению современных информационных технологий,
-приобретение навыков в составлении программ на языке Pascal,
-приобретение навыков в работе со средствами пакета MicrosoftOffice и пакета MathCad.
Требуется провести расчеты по таблице перевозок грузов между отдельными регионами с помощью 3-х приложений – табличного процессора MS Excel, пакета автоматизации математических и инженерных расчетов MathCAD и среды программирования Pascal ABC.
Необходимо:
1) найти итоги по строкам и столбцам таблицы;
2) определить сумму количества грузов, перевозимых в местном сообщении по всем регионам (сумма данных по главной диагонали матрицы)
3) выполнить индивидуальное задание: определить регион с максимальным количеством груза, ввозимого с других регионов, уменьшить количество груза, ввозимого с любого региона на данный, на 10%.
4) распечатать исходную и результирующую (измененную) таблицу перевозок, а также все расчетные данные.
Расположение заданных регионов на карте РБ
Количество регионов - 6
Таблица перевозок грузов (в условных единицах) между отдельными регионами
50 51 56 64 32 53
72 81 91 87 83 46
96 92 101 52 49 68
131 112 103 111 126 69
41 31 58 62 72 81
88 96 132 140 160 101
Названия регионов:
Гомель
Мозырь
Калинковичи
Могилев
Бобруйск
Быхов
Рисунок 1. Блок-схема
Рисунок 4. Блок-схема Рисунок 5. Блок-схема
процедуры
«Schit»
Рисунок 6. Блок-схема
процедуры
«Sum_po_Strokam»
Рисунок 8. Блок-схема главной программы
Рисунок 9. Блок-схема процедуры «Max_Vvoz»
Рисунок 10. Блок-схема процедуры «Izmen_Gruza»
program perevozki;
Type
Mas = array [1..10, 1..10] of real;
var
A: mas;
f1, f2, f3: text;
sumstr: array [1..10] of real;
sumstol: array [1..10] of real;
n, i, j, k, jmax: byte;
Reg: array [1..10] of string;
B: array [1..10] of real;
{ввод названий регионов из файла f2}
Procedure Name;
begin
reset(f2);
for i := 1 to n do
readln(f2, Reg[i]);
close(f2);
end;
{ввод таблицы грузоперевозок регионов из файла f1}
Procedure Vvod;
begin
reset(f1);
for i:=1 to n do
begin
for j:=1 to n do
read(f1, A[i,j]);
readln(f1);
end;
close(f1);
end;
{вывод таблицы грузоперевозок по пунктам в файл f3}
Procedure Vivod_v_File;
begin
for k:=1 to n+2 do
write(f3, '-------------');
writeln(f3);
write(f3, ' из\в');
for i:=1 to n do
write(f3, '|', reg[i]:12);
writeln(f3, '|', 'Итого':12);
for k:=1 to n+2 do
write(f3, '-------------');
writeln(f3);
for i:=1 to n do
begin
write(f3, reg[i]:12) ;
for j:=1 to n do
write(f3, '|', A[i,j]:12:2);
writeln(f3, '|', sumstr[i]:12:2);
for k:=1 to n+2 do
write(f3, '-------------');
writeln(f3);
end;
write(f3, 'Итого':12);
for j:=1 to n do
write(f3, '|', sumstol[j]:12:2);
writeln(f3, '|');
for k:=1 to n+2 do
write(f3, '-------------');
writeln(f3);
end;
{вывод данной программы}
Procedure Schit;
begin
for k:=1 to n+2 do
write('-------------');
writeln();
write(' из\в');
for i:=1 to n do
write('|', reg[i]:12);
writeln('|', 'Итого':12);
for k:=1 to n+2 do
write('-------------');
writeln();
for i:=1 to n do
begin
write(reg[i]:12) ;
for j:=1 to n do
write('|', A[i,j]:12:2);
writeln('|', sumstr[i]:12:2);
for k:=1 to n+2 do
write('-------------');
writeln();
end;
write('Итого':12);
for j:=1 to n do
write('|', sumstol[j]:12:2);
writeln('|');
for k:=1 to n+2 do
write('-------------');
writeln('');
writeln(' ');
end;
{определение количества груза, перевозимого в местном сообщение}
Function Diag: real;
var
s: real;
begin
s := 0;
for i:=1 to n do
s := s + A[i,i];
Diag := s;
writeln(f3, 'Количество груза, перевозимого в местном сообщении по всем регионам ', s, ' тонн');
end;
{определение ввозимого груза в каждый регион}
Procedure Sum_po_Stolbcam;
begin
for j:=1 to n do
sumstol[j] := 0;
for j:=1 to n do
for i:=1 to n do
sumstol[j] := sumstol[j] + A[i,j];
end;
{нахождение вывозимого груза из каждого региона}
Procedure Sum_po_Strokam;
begin
for i:=1 to n do
sumstr[i] := 0;
for i:=1 to n do
for j:=1 to n do
sumstr[i]:=sumstr[i]+A[i,j];
end;
{определение региона с максимальным количеством груза, ввозимого с других регионов}
Procedure Max_Vvoz;
begin
jmax := 1;
for j:=2 to n do
if ((sumstol[j] - A[j,j]) > (sumstol[jmax] - A[jmax,jmax])) then
jmax := j;
writeln('Максимальное количество груза, ввозимого с других регионов, ');
writeln('составляет ',(sumstol[jmax] - A[jmax,jmax]):5:0 ,' тонн, и направлено в ', Reg[jmax]:12);
writeln(f3);
writeln(f3, 'Максимальное количество груза, ввозимого с других регионов, ');
writeln(f3, 'составляет ',(sumstol[jmax] - A[jmax,jmax]):5:0 ,' тонн, и направлено в ', Reg[jmax]:12);
writeln(f3);
end;
{Уменьшаем количество груза, ввозимого с любого региона на данный, на 10%}
Procedure Izmen_Gruza;
begin
for i:=1 to n do
A[i,jmax] := A[i,jmax] - A[i,jmax]*0.1;
end;
{главная программа}
begin
writeln('Курсовая работа');
writeln;
writeln('Индивидуальное задание:');
writeln('Определить регион с максимальным количеством груза, ввозимого с других регионов. ');
writeln('Уменьшить количество груза, ввозимого с любого региона на данный, на 10%.');
writeln;
writeln('Введите количество регионов');
readln(n);
assign(f1, 'f1.txt');
assign(f2, 'f2.txt');
assign(f3, 'f3.txt');
{открытие файла для записи}
rewrite(f3);
Name();
writeln(f3, ' Курсовая работа');
{вызов процедуры VVOD заполнения таблицы грузоперевозок в регионах}
Vvod();
{Итоги прибытия грузов по регионам}
Sum_po_Stolbcam();
{Итоги вывоза грузов по регионам}
Sum_po_Strokam();
{вызов программы Schit вывода таблицы грузоперевозок в регионах}
writeln(' Исходная таблица перевозок грузов');
Schit();
writeln(f3, ' Исходная таблица перевозок грузов');
Vivod_v_File();
writeln;
writeln('Сумма количества грузов в местном сообщении по всем регионам ', diag(), ' тонн');
writeln;
{вызов процедуры Max_Vvoz}
Max_Vvoz();
Izmen_Gruza();
{Пересчет итогов прибытия грузов по регионам}
Sum_po_Stolbcam();
{Пересчет
итогов вывоза грузов по
Sum_po_Strokam();
writeln(' ');
writeln(' Новый объем груза в регионе ', Reg[jmax]:12,' составляет:');
writeln(f3, ' Новый объем груза в регионе ', Reg[jmax]:12,' составляет:');
Schit();
writeln(f3, ' Таблица грузоперевозок в регионах');
writeln(f3, ' (таблица после корректировки объёмов груза)');
Vivod_v_File();
{закрытие файла f3}
close(f3);
end.
из на |
Гомель |
Мозырь |
Калинковичи |
Могилев |
Бобруйск |
Быхов |
Итого отправлено |
Гомель |
50 |
51 |
56 |
64 |
32 |
53 |
306 |
Мозырь |
72 |
81 |
91 |
87 |
83 |
46 |
460 |
Калинковичи |
96 |
92 |
101 |
52 |
49 |
68 |
458 |
Могилев |
131 |
112 |
103 |
111 |
126 |
69 |
652 |
Бобруйск |
41 |
31 |
58 |
62 |
72 |
81 |
345 |
Быхов |
88 |
96 |
132 |
140 |
160 |
101 |
717 |
Прибыло с других регионов |
428 |
382 |
440 |
405 |
450 |
317 |
|
Итого прибыло |
478 |
463 |
541 |
516 |
522 |
418 |
Информация о работе Применение программных комплексов для решения инженерных задач