Мегаобучалка Главная | О нас | Обратная связь


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



2019-12-29 237 Обсуждений (0)
Программа решения задачи на языке Паскаль 0.00 из 5.00 0 оценок




 

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% и получаем таблицу:

 

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

 

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

 




2019-12-29 237 Обсуждений (0)
Программа решения задачи на языке Паскаль 0.00 из 5.00 0 оценок









Обсуждение в статье: Программа решения задачи на языке Паскаль

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (237)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)