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

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

курсач не удалять.doc

— 1.47 Мб (Скачать документ)

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

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТРАНСПОРТА

КАФЕДРА «ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»

 

 

 

 

Курсовая работа

по дисциплине

«Информатика»

на тему:

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

 

 

 

 

 

 

 

Выполнил:

студент группы УА-21

Роговой И.А.

 

 

 

 

                     Гомель 2013

 

 

 

Проверил:

преподаватель 
           Борисенко М.В.


Оглавление

 

Введение

 

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

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

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

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

Поэтому целью данной курсовой работы является:

-пополнение знаний в области информационных технологий,

      -расширение кругозора по применению современных информационных технологий,

      -приобретение навыков в составлении программ на языке Pascal,

       -приобретение навыков в работе со средствами пакета MicrosoftOffice и пакета MathCad.

 

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

 

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

Необходимо:

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

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

3) выполнить индивидуальное задание: определить регион с максимальным количеством груза, ввозимого с других регионов, уменьшить количество груза, ввозимого с любого региона на данный, на 10%.

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

 

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

Расположение заданных регионов на карте РБ

 

 

Количество регионов - 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. Решение задачи управления процессами перевозок в среде Pascal

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

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1. Блок-схема                                                           Рисунок 2. Блок-схема                                   функции «Diag»                                                                                  процедуры «Name»

                                                  Рисунок 3. Блок-схема

                                                       процедуры «Vvod»

 

  

 

        Рисунок 4. Блок-схема                                              Рисунок 5. Блок-схема

              процедуры «Schit»                                               процедуры «Vivod_v_File» 

  

               Рисунок 6. Блок-схема                                                   Рисунок 7. Блок-схема                                

        процедуры «Sum_po_Strokam»                                    процедуры «Sum_po_Stolbcam»

   

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

Рисунок 9. Блок-схема процедуры «Max_Vvoz»

 

Рисунок 10. Блок-схема процедуры «Izmen_Gruza»

 

    1.   Текст программы

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.

 

    1. Результаты работы программы

 

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

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

 

из               на

Гомель

Мозырь

Калинковичи

Могилев

Бобруйск

Быхов

Итого отправлено

Гомель

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

 

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