Расчеты по таблице перевозок пассажиров в Pascal, Microsoft Excel, MathСad
Определение количества пассажиров, перевозимых в местном сообщении по всем регионам (суммы данных по главной диагонали матрицы) с помощью табличного процессора MS Excel, пакета MathCad и среды программирования Pascal. Руководство программиста и оператора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 28.05.2015 |
Размер файла | 425,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
- Введение
- 1. Постановка задачи
- 2. Решение задачи средствами Паскаль
- 2.1 Алгоритм решения задачи, выданной преподавателем
- 2.2 Руководство программиста
- 2.3 Руководство оператора
- 3. Результаты работы программы
- 3.1 Решение данной задачи средствами MS Excel
- 3.2 Решение задачи в среде MathCAD
- Заключение
- Литература
- Приложение
- Введение
- Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Стремительно возрастает роль ЭВМ в во всех областях человеческой деятельности. Без использования быстродействующих ЭВМ немыслимо решение задач интенсификации экономического развития ведущих отраслей народного хозяйства.
- Темпы научно-технического прогресса, усиление роли науки в значительной степени определяются качеством и номенклатурой средств вычислительной техники и их программным обеспечением. Именно развитие этих средств обеспечивает успехи в автоматизации производственных процессов, в разработке новых технологий, в повышении эффективности труда и управления, в совершенствовании системы образования и в ускорении подготовки кадров.
- Интенсивное развитие вычислительной техники, ее проникновение во все сферы человеческой деятельности ставит перед специалистами задачу широкого распространения компьютерной грамотности и использования ЭВМ в учебном процессе, в том числе в системе высшего образования.
- Широкое и многообразное применение ЭВМ предъявляет все более высокие требования к их программному обеспечению. Разработка программ и программных комплексов приобретает характер индустриального производства. Значение программного обеспечения трудно переоценивать, т.к именно программы определяют и создают «интеллект» компьютера. В то же время процесс создания программ относится к одной из наиболее сложных сфер творческой деятельности человека, требующий больших усилий и специальной технологии разработки.
- При составлении программ применяются различные языки программирования, среди которых Pascal занимает особое место. Отражая основные концепции структурного программирования, язык Pascal быстро завоевал популярность среди специалистов.
- В данной курсовой работе необходимо научиться решать транспортные задачи средствами Pascal, Ms Excel, MathCad. [л. 3,5,7]
1. Постановка задачи
Требуется провести расчеты по таблице перевозок пассажиров между отдельными регионами с помощью 3-х приложений, а именно, табличного процессора MS Excel, пакета автоматизации математических и инженерных расчетов MathCAD и среды программирования Pascal ABC. [л. 2,4,6]
Необходимо:
а) найти итоги по строкам и столбцам таблицы;
б) определить сумму количества пассажиров, перевозимых в местном сообщении по всем регионам (сумма данных по главной диагонали матрицы)
в) выполнить индивидуальное задание:
определить регионы для максимальной перевозки, расположенной выше побочной диагонали матрицы. Все размеры прибытия количества пассажиров, по региону, принимающему пассажиров уменьшить на 7%.
г) распечатать исходную и результирующую (измененную) таблицу перевозок, а также все расчетные данные.
Исходные данные
Количество регионов N=6
Таблица 1.1
10000 |
13000 |
16000 |
23000 |
26000 |
32000 |
|
15000 |
14000 |
19000 |
25000 |
31000 |
34000 |
|
20000 |
17000 |
21000 |
22000 |
27000 |
31000 |
|
12000 |
16000 |
15000 |
24000 |
29000 |
35000 |
|
11000 |
21000 |
23000 |
30000 |
28000 |
19000 |
|
14000 |
24000 |
20000 |
18000 |
25000 |
29000 |
Названия регионов: Владивосток, Хабаровск, Благовещенск, Чита, Улан-Удэ, Иркутск [л.4]
2. Решение задачи средствами Паскаль
2.1 Алгоритм решения задачи
Алгоритм решения задачи смотрите в приложениях:
Блок-схему алгоритма основной программы смотрите в приложении А рис. 1
Блок-схему алгоритма процедуры vvod смотрите в приложение B рис. 2
Блок-схему алгоритма процедуры vivod смотрите в приложение B рис. 3
Блок-схему алгоритма процедуры sum_str смотрите в приложение B рис. 4
Блок-схему алгоритма процедуры sum_stl смотрите в приложение B рис. 5
Блок-схему алгоритма процедуры sum_diag смотрите в приложение B рис. 6
Блок-схему алгоритма процедуры max_perevozka смотрите в приложение B рис. 7
Блок-схему алгоритма процедуры umenshenie смотрите в приложение B рис. 8
2.2 Руководство программиста
На основании алгоритма написана программа на языке Pascal. Текст программы находится в файле KR.pas. Блок-схему основной программы смотрите в приложении А. Процедуры, входящие в программу выполняют следующие действия:
Procedure vvod - загружает таблицу исходных данных из файла.
Вход: ничего
Выход: таблица исходных данных
Блок-схему этой процедуры смотрите в приложении В рис. 2, текст процедуры смотрите в приложении C, стр.21 , скрин-шот работы процедуры смотрите приложение D рис.9
procedure vivod- выводит матрицу на экран монитора.
Вход: ничего
Выход: таблица исходных данных
Блок-схему этой процедуры смотрите в приложении В рис.3, текст процедуры смотрите в приложении C, стр.21 , скрин-шот работы процедуры смотрите приложение D рис.10
procedure sum_str- вычисляет сумму по строкам.
Вход: ничего
Выход: таблица с суммой по строкам
Блок-схему этой процедуры смотрите в приложении В рис.4, текст процедуры смотрите в приложении C, стр.21 , скрин-шот работы процедуры смотрите приложение D рис.11
procedure sum_stl- вычисляет сумму столбцов.
Вход: ничего
Выход: таблица с суммой по столбцам
Блок-схему этой процедуры смотрите в приложении В рис.5, текст процедуры смотрите в приложении C, стр.22 , скрин-шот работы процедуры смотрите приложение D рис.12
procedure sum_diag-эта процедура находит сумму по главной диагонали, т.е. общее количество пассажиров перевозимых в местном сообщении.
Вход: ничего
Выход: Сумма по главной диагонали.
Блок-схему этой процедуры смотрите в приложении В рис 6, текст процедуры смотрите в приложении C, стр.22 , скрин-шот работы процедуры смотрите приложение D рис.13
procedure max_perevozka - эта процедура нахождения максимальной перевозки выше побочной диагонали .
Вход: ничего.
Выход: регион с максимальным количеством пассажиров, вывозимых на другие регионы.
Блок-схему этой процедуры смотрите в приложении В рис.7 , текст процедуры смотрите в приложении C, стр.22 , скрин-шот работы процедуры смотрите приложение D рис.14
procedure umenshenie- эта процедура уменьшения количества пассажиров, вывозимых на любой другой регион на 7%.
Вход:ничего
Выход: Результирующая таблица пассажироперевозок.
Блок-схему этой процедуры смотрите в приложении В рис 8, текст процедуры смотрите в приложении C, стр.23 , скрин-шот работы процедуры смотрите приложение D рис.15
2.3 Руководство оператора
Чтобы запустить программу, нужно запустить файл KR.ехе.
После запуска программы происходит считывание данных из бестиповых файлов и на экране монитора появляется меню программы (см. приложение D рис 9)
При выборе первого пункта меню на экран монитора будет выведена таблица исходных данных(см. приложение D рис 10)
Второй пункт меню выводит количество вывезенных пассажиров из регионов (см. приложение D рис. 11)
Третий пункт меню выводит на экран количество ввезенных пассажиров в регионы (см. приложение D рис. 12)
Четвертый пункт меню выводит на экран таблицу местного сообщения (см. приложение D рис. 13)
Пятый пункт меню определяет регион для максимальной перевозки, расположенной выше побочной диагонали (см. приложение D рис. 14)
Шестой пункт меню уменьшает все размеры прибытия количества пассажиров по региону, принимающему максимальное количество пассажиров на 7%.(см. приложение D рис. 15)
Пункт № 0 позволяет пользователю выйти из программы.
матрица табличный pascal
3. Результаты работы программы
3.1 Решение данной задачи средствами MS Excel
Таблица 3.1 Таблица исходных данных
Таблица 3.2 Итоги по строкам и столбцам
Расчёты по заданию
При помощи функции “СУММ(ячейка1:ячейка2)” мы высчитали суммы столбцов, суммы столбцов без местного сообщения и суммы строк.
При помощи функций “ИНДЕКС”, “ПОИСКПОЗ” и “МАКС” находим следующие значения в расчетах:
Таблица 3.3
Таблица 3.4
Получили результат:
Таблица 3.5
После нахождения максимального региона уменьшаем максимальный столбец на 7% и получаем таблицу:
Таблица 3.6
Расчет выполнила следующим образом:
Таблица 3.7
Диаграмма по расчетным данным
При построении использовались гистограммы с группировкой, отображающие количество отправленных и принятых пассажиров в каждом регионе до и после увеличения пассажиропотока в регионе с максимальным местным сообщением.
Рис. 1
3.2 Решение задачи в среде MathCAD
Исходные данные:
Найдём сумму по строкам, т.е. общее количество пассажиров, вывозимых с каждого региона в любой другой:
Найдём сумму по столбцам, т.е. общее количество пассажиров, ввозимых с каждого региона в любой другой:
Найдём сумму по главной диагонали, т.е. общее количество пассажиров, перевозимых в местном сообщении:
Определяем регионы для максимальной перевозки расположенной выше побочной диагонали:
Максимальная перевозка составляет:
Измененные данные:
Заключение
Мы произвели расчеты по таблице перевозок пассажиров в Pascal., Microsoft Excel, MathCAD. Результаты совпали, значит можно сделать вывод, что поставленная задача решена верно.
Выполнив курсовую работу, я ознакомилась с основными типами языка Паскаль, структурой программы, алгоритмами решения, работой с циклическими операторами, массивами, процедурами и т.д. Приобрела навыки в решении задач на языке программирования Паскаль, составлении блок-схем, печати программ, работы в MathСad, MS Excel. Особое внимание в данной курсовой работе уделено операторам языка Паскаль. При помощи этого языка программирования решена задача, при тестировании получены и приведены результаты, которые затем совпали с результатами решения задачи в других приложениях.
В оболочке MS Excel получены навыки по работе с таблицами, формулами, диаграммами.
В программе MathCad научилась производить различные операции над матрицами при помощи формул, арифметических выражений и т.д.
Литература
1. Онлайн-карта автодорог России.
2. Борисенко М.В. Основы информационных технологий / М.В. Борисенко - Гомель: УО «БелГУТ››, 2005 - 180 с.
3. Гораев О.П., Лыч Ю.П. Электронные таблицы MS Excel: практикум по компьютерным технологиям / О.П. Гораев, Ю.П. Лыч. - Гомель : БелГУТ, 2003. - 67 с.
4. Гораев О.П., Текстовый процессор MS Word: практикум по компьютерным технологиям/ О.П. Гораев. - Гомель : БелГУТ, 2003. - 68 с.
5. Кейзер А.П. Информатика. Программирование на языке Паскаль: практикум по лабораторным работам.Ч.1/ А.П. Кейзер, Ю.А. Пшеничнов. - Гомель: БелГУТ; Каф. «Информационные технологии»; 2001 - 44 с.
6. Н.А. Рогачёва, М.В. Борисенко Т.Н. Литвинович «Информатика. Программирование на языке Паскаль» 1 и 2 часть, Гомель 2004.
7. Шушкевич Г.Ч. Введение в Mathcad 2000 : учеб. пособие / Г.Ч. Шушкевич, С.В. Шушкевич. - Гродно : ГрГУ, 2001. - 140 с.
Приложение А
Рисунок 1- Блок-схема главной программы
Приложение B
Рисунок 2- Блок-схема процедуры vvod
Рисунок 3- Блок-схема процедуры vivod
Рисунок 4 - Блок-схема процедуры sum_str
Рисунок 5 - Блок-схема процедуры sum_stl
Рисунок 6 - Блок-схема процедуры sum_diag
Рисунок 7- Блок-схема процедуры max_perevozka
Рисунок 8- Блок-схема процедуры umenshenie
Приложение С
program Kursach;
type
mas=array[1..100,1..100] of real;
mas1=array[1..100] of real;
var
A,B:mas;
n,i,j:integer;
fd,f1:text;
region:array [1..100] of string;
p: integer;
imax, jmax:integer;
{-----------------------------------}
{процедура считывания матрицы из файла }
procedure vvod(n:integer;var A:mas);
var
i,j:integer;
begin
for i:=1 to n do readln(f1,region[i]);
for i:=1 to n do
for j:=1 to n do
read(fd,A[i,j]);
end;
{-----------------------------------}
{процедура вывода матрицы на экран монитора }
procedure vivod(n:integer;B:mas);
var
i,j:integer;
begin
writeln ('___________________________________________________');
Write(' |');
for i:=1 to n do write(region[i]:13, ' |');
writeln;
writeln ('____________________________________________________');
for i:=1 to n do
begin
write(region[i]:13,' |');
for j:=1 to n do write(B[i,j]:13:2,' |');
writeln;
writeln ('____________________________________________________');
end;
end;
{-----------------------------------}
{процедура нахождения суммы по строкам }
procedure sum_str(n:integer; A:mas);
var
i,j:integer;
s:real;
begin
for i:=1 to n do
begin
s:=0;
for j:=1 to n do s:=s+A[i,j];
writeln('из региона ', region[i],' вывезено ',s, ' пассажиров');
end;
writeln;
end;
{-----------------------------------}
{процедура нахождения суммы по столбцам }
procedure sum_stl(n:integer; A:mas);
var
i,j:integer;
s:real;
begin
for j:=1 to n do
begin
s:=0;
for i:=1 to n do s:=s+A[i,j];
writeln('в регион ', region[j],' ввезено ', s, ' пассажиров');
end;
writeln;
end;
{-----------------------------------}
{процедура нахождения суммы данных по главной диагонали}
procedure sum_diag(n:integer; A:mas);
var
i,j:integer;
s:real;
begin
s:=0;
for i:=1 to n do
for j:=1 to n do
if i=j then s:=s+A[i,j];
writeln('Количества пассажиров, перевозимых в местном сообщении по всем регионам равно ',s);
end;
{-----------------------------------}
{процедура нахождения максимальной перевозки выше побочной диагонали}
procedure max_perevozka(n:integer; A:mas);
var
i,j:integer;
max:real;
begin
max:=A[1,1];
imax:=1;
jmax:=1;
for i:=1 to n do
for j:=1 to n do
if (i+j<n+1) and (A[i,j]>max) then
begin
max:=A[i,j];
imax:=i;
jmax:=j;
end;
writeln('Из региона ', region[imax],' вывезено в регион ',region[jmax],' ', max, ' пассажиров');
end;
{-----------------------------------}
{процедура уменьшения количества пассажирова, вывозимого на любой другой регион на 7%}
procedure umenshenie(n:integer; A:mas; var B:mas);
var
i,j:integer;
begin
writeln ('___________________________________________________');
Write(' |');
for i:=1 to n do write(region[i]:13, ' |');
writeln;
writeln ('____________________________________________________');
for i:=1 to n do
begin
write(region[i]:13,' |');
for j:=1 to n do
begin
B[i,j]:=A[i,j];
if (j=jmax) then B[i,j]:=A[i,j]*0.93;
write(B[i,j]:13:2,' |');
end;
writeln;
writeln ('____________________________________________________');
end;
end;
begin
n:=6;
Assign (f1,'НазванияРегионов');
Reset (f1);
Assign(fd,'ТаблицаПеревозок');
reset(fd);
writeln('Ввод исходных данных из документа.');
vvod(n,A);
while true do
begin
writeln;writeln;
writeln ('Выберите пункт меню!');
writeln ('1 - вывести таблицу пассажироперевозок');
writeln ('2 - найти количество вывезенных пассажиров из регионов');
writeln ('3 - найти количество ввезенных пассажиров в регионы');
writeln ('4 - найти сумму элементов по главной диагонали');
writeln ('5 - Определить регион для максимальной перевозки пассажиров ,расположенной выше побочной диагонали');
writeln ('6 - Все размеры прибытия пассажиров по региону, принимающему максимальное количество пассажиров, уменьшить на 7%');
writeln ('0 - Заверщение работы программы');
readln(p);
writeln;writeln('Р Е З У Л Ь Т А Т выбора пункта ', p);
case p of
1: BEGIN
writeln('Исходные данные:');
vivod(n,A);
END;
2: BEGIN
writeln;
writeln('Количество вывезенных пассажиров из регионов:');
sum_str(n,A);
END;
3: BEGIN
writeln;
writeln('Количество ввезенных пассажиров в регионы:');
sum_stl(n,A);
END;
4: BEGIN
sum_diag(n,A);
END;
5: BEGIN
writeln;
max_perevozka(n,A);
END;
6: BEGIN
writeln;
max_perevozka(n,A);
writeln('Измененные данные:');
umenshenie(n,A,B);
END;
0:
BEGIN
Close(fd);
close(f1);
writeln('Программа завершила работу!');
halt;
END;
else writeln('Неверно выбран пункт меню.');
end;
end;
end.
Приложение D
Результаты решения задачи
Исходные данные из файла
Рис.9 - Меню
Пункт меню 1 - вывести таблицу пассажироперевозок
Рис.10 - таблица исходных данных
Пункт меню 2 - найти количество вывезенных пассажиров из регионов
Рис 11- сумма по строкам
Пункт меню 3 - найти количество ввезенных пассажиров в регионы
Рис 12- сумма по столбцам
Пункт меню 4 - найти сумму элементов по главной диагонали
Рис. 13 - Сумма пассажироперевозок в местном сообщении
Пункт меню 5 - Определить регион для максимальной перевозки пассажиров, расположенной выше побочной диагонали
Регион с максимальным количеством пассажиров
Рис.14- максимальная перевозка
Пункт меню 6 - Все размеры прибытия пассажиров по региону, принимающему максимальное количество пассажиров, уменьшить на 7%
Результирующая таблица
Рис.15-измененная таблица пассажироперевозок
Размещено на Allbest.ru
Подобные документы
Расчеты по таблице перевозок грузов между отдельными регионами. Решение задачи управления процессами перевозок в среде Pascal. Решение задачи средствами MS Excel. Исходные данные и итоги по строкам и столбцам. Решение задачи средствами MATHCAD.
курсовая работа [1,8 M], добавлен 25.03.2015Характеристика и основные особенности языка Pascal. Создание числового массива с использованием встроенной функции. Использование записей, массивов и файлов. Обработка и графическая визуализация данных средствами табличного процессора и пакета MathCAD.
курсовая работа [1,0 M], добавлен 22.08.2012Разработка алгоритма и написание программы на языке Object Pascal, предназначенной для расчета траверса крюка мостового крана на изгиб. Определение расчетных размеров крана с помощью табличного процессора Microsoft Excel. Блок-схема и алгоритм расчета.
курсовая работа [519,3 K], добавлен 03.06.2010Работа с матрицами и векторами в программе MathCAD, Pascal, Excel. Поиск экстремума целевой функции двух переменных. Дифференциальное уравнения первого порядка с начальными условиями. Определение оптимального плана перевозок. Функция одной переменной.
курсовая работа [21,5 M], добавлен 11.02.2013Определение зависимости между экспериментальными данными при помощи аппроксимации, особенности решения поставленной задачи различными способами, проведение расчетов с помощью табличного процессора Microsoft Excel и среды программирования Turbo Pascal 7.0.
курсовая работа [765,0 K], добавлен 25.02.2012Решение циклических программ и программ вычисления функции с условием. Уравнение в табличном редакторе Microsoft Excel и в Turbo Pascal. Вычисление определенного интеграла методом прямоугольников, трапеции, Симпсона. Линейные и нелинейные уравнения.
курсовая работа [233,6 K], добавлен 27.12.2009Структура программы Pascal и алгоритмы решения задач. Работа с циклическими операторами, массивами, процедурами. Составление блок-схем задач. Операции над матрицами в программе MathCad. Работа формулами, графиками и диаграммами в оболочке MS Excel.
курсовая работа [459,0 K], добавлен 13.08.2012Характеристика принципов решения инженерных задач с помощью различных информационных компьютерных комплексов. Решение задачи на языке программирования Pascal, с помощью средств математического пакета MathCAD, так же с помощь табличного процессора Excel.
курсовая работа [218,1 K], добавлен 22.08.2013Использование текстового редактора MS Word для создания текстовых документов. Расчеты и анализ данных с помощью табличного процессора Excel. Алгоритмизация и программирование на Pascal. Проектирование реляционных баз данных с помощью СУБД Access.
контрольная работа [571,7 K], добавлен 22.02.2012Понятие алгоритма, его свойства и способы описания. Схемы алгоритмических конструкций: линейная, разветвляющаяся, циклическая. Особенности и применение электронных таблиц Excel. Задачи, решаемые с помощью системы Mathcad. История создания языка Pascal.
курсовая работа [601,9 K], добавлен 20.11.2010