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

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

Министерство образования Республики Беларусь


Учреждение образования


«Белорусский государственный университет транспорта»


Кафедра «Информационные технологии»


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


ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»


на тему


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


Выполнил


студент группы УД-22 доцент


Сазанович К. В.


Проверил: Иоффе Л. А.


Гомель 2010


Содержание



Введение


Раздел 1. Решение задачи средствами Паскаль


1.1 Алгоритм решения задачи, выданной преподавателем


1.2 Программа решения задачи на языке Паскаль


1.3 Результаты решения задачи


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


Раздел 3.Решение задачи в среде MathCAD


Заключение


Литература



Введение


Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Стремительно возрастает роль ЭВМ в во всех областях человеческой деятельности. Без использования быстродействующих ЭВМ немыслимо решение задач интенсификации экономического развития ведущих отраслей народного хозяйства.


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


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


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


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


В данной курсовой работе необходимо научиться решать транспортные задачи средствами Pascal, Ms Excel, MathCad.



Раздел 1. Решение задачи средствами Паскаль



1.1 Алгоритм решения задачи, выданной преподавателем

Блок-схема процедуры
name





Блок-схема процедуры
vvod





Блок-схема процедуры
sum
_
strok





Блок-схема процедуры
schit





Блок-схема процедуры
vivodfie


инженерная задача паскаль excel mathcad




Блок-схема процедуры
Sum
_
po
_
stolbcam
_
bez
_
MC





Блок-схема процедуры
Max
_
perevozka





Блок
-
схема
процедуры
Umengruz





Блок-схема процедуры
Sum
_
stolbzov





Блок-схема программы на языке Паскаль





1.2 Программа решения задачи на языке Паскаль

Program perevozki;


uses crt;


const n=10;


Type Mas=array[1..n,1..n]of real;


Var i,j,k:byte;


S:real;


A:mas;


f1,f2:text;


sum_po_strokam:array[1..n] of real;


sum_po_stolscam:array[1..n] of real;


sum_po_stolscam_bez_MC:array[1..n] of real;


max:real;


jmax:byte;


imax:byte;


Reg:array[1..n] of string;


Procedure name;


begin


for i:=1 to n do


begin


Writeln('введите название i-региона ');


read(Reg[i]);


end;


end;


{ввод таблицы грузоперевозок в регионах РБ}


Procedure vvod(n:byte; var A:mas);


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;


{вывод таблицы грузоперевозок по пунктам в файл f2}


Procedure Vivodvfile(n:byte; A:Mas);


begin


writeln(f2,' _________________________________________________________________');


writeln(f2);


write(f2, ' ');


for i:=1 to n do


write(f2,Reg[i]:7,' ');


writeln(f2);


writeln(f2,' _________________________________________________________________');


for i:=1 to n do


begin


write(f2, Reg[i]:12,' ');


for j:=1 to n do


write(f2,A[i,j]:8:1);


writeln(f2);


end;


writeln(f2,' _________________________________________________________________');


writeln(f2);


end;


{вывод данной программы}


Procedure Schit (n:byte; A:Mas);


begin


write(' ');


for i:=1 to n do


write( reg[i]:10);


writeln;


writeln;


for i:=1 to n do


begin


write(reg[i]:10,' !') ;


for j:=1 to n do


write(A[i,j]:10:1);


write(' !') ;


writeln;


writeln();


end;


end;


{определение количества грузов, перевозимых в местном сообщение в регионах РБ}


Function diag(n:byte; A:Mas):real;


var i,j:byte;s:real;


begin


s:=0;


for i:=1 to n do


s:=s+A[i,i];


diag:=s;


writeln('Cумма количества грузов, перевозимых в местном сообщении по всем регионам равна ', s);


writeln;


end;


{нахождение итогов по регионам вывоза грузов}


Procedure Sum_strok(n:byte;A:Mas);


begin


for j:=1 to n do


sum_po_strokam[i]:=0;


for j:=1 to n do


for i:=1 to n do


sum_po_strokam[j]:=sum_po_strokam[j]+A[i,j];


for i:=1 to n do


writeln(sum_po_strokam[j]:19:1);


writeln();


writeln(f2,'Итоги количества грузов прибыло из регионов');


write(f2,' ');


for j:=1 to n do


write(f2,Reg[j]:7,'/');


writeln();


for j:=1 to n do


write(f2,sum_po_strokam[j]:8:1);


writeln(f2);


end;


{нахождение итогов количества грузов отправленных в регионы}


Procedure Sum_stolbzov(n:byte;A:Mas);


begin


for i:=1 to n do


sum_po_stolscam[i]:=0;


for i:=1 to n do


for j:=1 to n do


sum_po_stolscam[i]:=sum_po_stolscam[i]+A[i,j];


for i:=1 to n do


writeln(sum_po_stolscam[i]:19:1);


writeln();


writeln(f2,'Итоги количества грузов отправленных в регионы ');


write(f2,' ');


for i:=1 to n do


write(f2,Reg[i]:7,'/');


writeln();


for i:=1 to n do


write(f2,sum_po_stolscam[i]:8:1);


writeln(f2);


end;


{Сумма столбцов без местного сообщения}


Procedure Sum_po_stolbcam_bez_MC(n:byte;A:mas);


Begin


for j:=1 to n do


sum_po_stolscam_bez_MC[j]:=sum_po_strokam[j]-A[j,j];


writeln('Сумма по столбцам таблицы без учета грузов, перевозимых в местном сообщении');


for i:=1 to n do


writeln(reg[j]:18, ' ',sum_po_stolscam_bez_MC[j]:8:1);


writeln();


writeln(f2,'Итоги количества грузов прибывших из регионов');


write(f2,' ');


for j:=1 to n do


write(f2,Reg[j]:7,'/');


writeln();


for j:=1 to n do


write(f2,sum_po_stolscam_bez_MC[j]:8:1);


writeln(f2);


end;


{нахождение регионов, между которыми установлена максимальная перевозка груза}


Procedure Max_perevozka(n:byte;

A:mas);


begin


max:=sum_po_stolscam_bez_MC[1];


imax:=1;


for i:=1 to n do


if sum_po_stolscam_bez_MC[i]>max then


begin


max:=sum_po_stolscam_bez_MC[i];


imax:=i;


k:=imax;


end;


Writeln('в регионе',' ' , Reg[imax],' установлена минимальная перевозка, которая составляет',' ', max:5:0 ,' ','тонн');


writeln(f2);


writeln (f2,'регионы, между которыми установлена минимальная перевозка груза - ',Reg[imax]);


writeln(f2);


end;


{по региону прибытия минимального груза, все размеры прибытия груза уменьшить на 10%}


Procedure Umengruz(n,k:byte; var A:mas);


begin


for i:=1 to n do


A[i,k]:=(A[i,k])*0.9;


Writeln('------------------------------------------------------------------------------');


writeln('Новый объём груза, прибывшего в регион, ',Reg[k],' будет составлять');


writeln;


end;


{главная программа}


begin


writeln(' к у р с о в а я р а б о т а в а р и а н т - 6 ');


Writeln;


Writeln('Индивидуальное задание:');


Writeln('Определить регионы(исключая местное сообщение)между которыми установлена максимальная перевозка(корреспонденция)груза ');


Writeln('По региону, прибытия данного груза, все размеры прибытия уменьшить на 10%!');


Writeln;


assign(f1,'D:sazan.txt');


assign(f2,'D:sazan2.txt');


{открытие файла для записи}


rewrite(f2);


name;


writeln(f2,' Курсовая работа Сазановича К.В.');


{вызов процедуры VVOD заполнения таблицы грузоперевозок в регионах РБ}


vvod(n,A);


{вызов процедуры Schit вывода таблицы грузоперевозок в регионах РБ}


writeln(' исходная таблица перевозок грузов');


writeln;


Schit(n,A);


Writeln(f2, ' исходная таблица перевозок грузов');


vivodvfile(n,A);


Writeln(f2);


Writeln('итоги по регионам прибытия грузов');


Sum_strok(n,A);


Writeln('итоги по регионам вывоза грузов');


Sum_stolbzov(n,A);


writeln('сумма количества грузов в местном сообщении по всем регионам ',diag(n,A),' тонн');


writeln(f2,' ');


writeln(f2,'сумма количества грузов в местном сообщении по всем регионам ',diag(n,a),'тонн');


{вызов процедуры Min_perevozka }


Sum_po_stolbcam_bez_MC(n,A);


Max_perevozka(n,A);


Umengruz(n,k,A);


Schit(n,A);


writeln(f2,' Таблица грузоперевозок в регионах');


writeln(f2,' (таблица после корректировки объёмов прибытия грузов в пункт - ',Reg[k],')');


vivodvfile(n,A);


Writeln('Работу выполнил Сазановича К.В.');


Writeln(f2, 'Курсовую работу выполнил Сазановича К.В.');


{закрытие файла f2}


close(f2); end.


1.3 Результаты решения задачи


Курсовая работа Сазановича К.В.


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




Итоги количества грузов прибыло из регионов



Итоги количества грузов отправленных в регионы



сумма количества грузов в местном сообщении по всем регионам 445тонн


Итоги количества грузов прибывших из регионов





регионы, между которыми установлена минимальная перевозка груза - 9






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


Исходная таблица




При помощи функции “СУММ(ячейка1:ячейка2)” мы высчитали суммы столбцов, суммы столбцов без местного сообщения и суммы строк. Таблица приведена ниже:




Таблица с формулами


При помощи функций “ИНДЕКС”, “ПОИСКПОЗ” и “МАКС” находим следующие значения в расчетах:




Таблица с формулами





После нахождения максимального региона уменьшаем максимальный столбец на 10% и получаем таблицу:





Таблица в формулах





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





Раздел 3.Решение задачи в среде
MathCAD




Введем исходную матрицу перевозок




Исходная таблица





Найдем сумму по строкам






Найдем сумму по столбцам







Найдем сумму количества грузов, перевозимого в местном сообщении по всем регионам







Найдем количество груза ввозимого без местного сообщения






Найдем максимальный регион:



Уменьшим максимальный регион на 10%:





Выведем измененную таблицу:





Для того, чтобы не вводить матрицу вручную, а взять из файла используем функцию READPRN(“<путь к файлу>”).



Для нахождения максимального количества грузов в местном сообщении использовалась функция
max.

Заключение


Выполнив курсовую работу, я ознакомился с основными типами языка Паскаль, структурой программы, алгоритмами решения, работой с циклическими операторами, массивами, процедурами и т.д. Приобрел навыки в решении задач на языке программирования Паскаль, составлении блок-схем, печати программ, работы в MS Excel, MathСad. Особое внимание в данной курсовой работе уделено операторам языка Паскаль. При помощи этого языка программирования решена задача, при тестировании получены и приведены результаты, которые затем совпали с результатами решения задачи в других приложениях.


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


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


В оболочке MS Excel получены навыки по работе с таблицами, формулами, графиками и диаграммами.



Литература




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



2 Бородич, Ю.С., Вальвачев, А.Н., Кузьмич, А.И. Паскаль для персональных компьютеров / Бородич, Ю.С., Вальвачев, А.Н., Кузьмич, А.И. – Минск: ВШ, 1991. – 365с.



3 Гораев, О.П.,
Текстовый процессор MS Word: практикум по компьютерным технологиям/ О.П. Гораев. - Гомель : БелГУТ, 2003. – 68 с.



4 Гораев, О.П., Лыч Ю.П.
Операционная система Windows. Операционные оболочки: практикум по компьютерным технологиям / О.П. Гораев, Ю.П. Лыч. - Гомель : БелГУТ, 2003. – 67 с.



5 Гораев, О.П., Лыч Ю.П.
Электронные таблицы MS Excel: практикум по компьютерным технологиям / О.П. Гораев, Ю.П. Лыч. - Гомель : БелГУТ, 2003. – 67 с.


6 Информатика. Базовый курс / под ред. С.В. Симоновича. - СПб. : Питер, 2006. - 640 с.


7 Комягин, В.Б. Современный самоучитель работы на ПК. Быстрый старт / В. Б. Комякин, А.О. Коцюбинский. - М. : Триумф, 2004. - 400 с.



8 Курбатова
, Е.А. Microsoft Excel 2003. Краткое руководство / Е. А. Курбатова. – Издательский дом «Вильямс», 2005. – 288 с.


9 Леонтьев, В. . Новейшая энциклопедия персонального компьютера / В. П. Леонтьев - М. : ОЛМА-ПРЕСС Образование, 2005. - 734 с.



10 Лыч, Ю.П. Электронные таблицы : учеб. пособие / Ю. П. Лыч. – Гомель: БелГУТ, 2000. – 123 с.


11 Максимова, А. П. Информатика : учеб.-практ. курс /А. П. Максимова. – Минск : ТетраСистемс, 2005. - 128 с.


12 Основы информатики : учеб. пособие / А. Н. Морозевич [и др.] ; под общ. ред. А.Н. Морозевича. – Минск : БГЭУ, 2003 – 560 с.


13 Степанов, А. Н. Информатика : учеб. для вузов / А. Н. Степанов. – 4-е изд. – СПб. : Питер, 2005.
- 684 с.


14 Турбо Паскаль 70; Киев : Торгово-издательское бюро,1996.


15 Шибут, М.С. Технологии работы с текстами и электронными таблицами (Word, Excel) / М.С. Шибут; под ред. И. Ф. Богдановой. – Минск : Молодёжное научное общество, 2000. – 144 с.



16 Шушкевич, Г.Ч. Введение в
Mathcad 2000 : учеб. пособие / Г. Ч. Шушкевич, С.В. Шушкевич. – Гродно : ГрГУ, 2001. – 140 с.


17 Н.А. Рогачёва, М. В. Борисенко Т. Н. Литвинович «Информатика. Програмирование на языке Паскаль» 1 и 2 часть, Гомель 2004.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

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

Слов:2020
Символов:21974
Размер:42.92 Кб.