Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа Коляда (Вариант 13) Информатика....doc
Скачиваний:
11
Добавлен:
24.12.2018
Размер:
2.18 Mб
Скачать
    1. Текст программы

Program Perevozki;

Const N=7;

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

Var A:Mas;

V_stolbcov:array [1..N] of real;

V_strok:array [1..N] of real;

S, max: real;

i, j, imax, jmax: integer;

Orig:array [1..8] of string;

input, output: text;

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

Procedure Raschet;

Var i, j: integer;

Begin

{находим сумму по строкам}

For i:=1 to N do

Begin

V_strok[i]:=0;

For j:=1 to N do

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

end;

{находим сумму по столбцам}

For i:=1 to N do

Begin

V_stolbcov[i]:=0;

For j:=1 to N do

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

end;

end;

Procedure Vivodfile(N: integer; A:Mas);

Var i, j: integer;

Begin

For i:=1 to N do

begin

For j:=1 to N do write (A[i,j]:7:1);

writeln;

end;

end;

Procedure region;

Begin

Orig[1]:=('Бургун');

Orig[2]:=('Корсик');

Orig[3]:=('Гвадел');

Orig[4]:=('Мартин');

Orig[5]:=('Гвиана');

Orig[6]:=('Пикард');

Orig[7]:=('Майотт');

Orig[8]:=('Сумма ');

end;

Procedure Vivod(N: integer; A:Mas);

Var i, j: integer;

Begin

writeln('------------------------------------------------------------------------------------------------------');

write ( '| ',Orig[1],'|',Orig[2],'|',Orig[3],'|',Orig[4],'|’,Orig[5],'|',Orig[6],’ |',Orig[7],' | ',Orig[8],' | ' );

writeln;

writeln('------------------------------------------------------------------------------------------------------');

For i:=1 to N do

Begin

write(Orig[i]);

For j:=1 to N do

write (' |',A[i,j]:7:1);

write(' | ',V_strok[i]:7:1);

writeln (' |');

if i=N then

Begin

For j:=1 to N do

Begin

if j=1 then

Begin

writeln('----------------------------------------------------------------------------------------');

write('Сумма ');

end;

write(' |',V_stolbcov[j]:7:1);

end;

writeln('|');

end;

writeln('------------------------------------------------------------------------------------------------');

end;

writeln;

end;

Procedure Vivod1(N: integer; A:Mas);

Var i, j: integer;

Begin

writeln('---------------------------------------------------------------------------------------------------');

write ('|',Orig[1],'|',Orig[2],'|',Orig[3],’|',Orig[4],'|' ,Orig[5],' |',Orig[6],'|' ,Orig[7],'| ',Orig[8],' | ');

writeln;

writeln('---------------------------------------------------------------------------------------------------');

For i:=1 to N do

Begin

write(Orig[i]);

For j:=1 to N do

write (' |',A[i,j]:7:1);

writeln (' |');

writeln('-------------------------------------------------------------------------------------------------');

writeln;

end;

end;

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

Begin

cls;

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

assign (input, 'F:\variant13.txt');

assign (output, 'F:\результаты variant13.out');

reset (input); rewrite (output);

For i:=1 to N do

Begin

For j:=1 to N do read (input, A[i,j]);

readln(input);

end;

writeln;

region;

writeln (output, ' Обратная матрица:');

for i:=1 to n do

Begin

for j:=1 to n do write (output, A[i,j]:4:1);

writeln (output)

end;

close (output);

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

Raschet;

Vivod (N,A);

{найдем сумму грузоперевозок в местном сообщении}

S:=0;

For i:=1 to N do

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

writeln ('Сумма эл-тов главной диагонали = ', S,'.');

writeln;

max:=0;

{найдем максимальный элемент таблицы грузоперевозок выше главной диагонали}

For i:=1 to N do

For j:=1 to N do

if(i<j)and (A[i,j]>=max) then

Begin

max:=A[i,j];

imax:=i;

jmax:=j;

end;

writeln ('Значение макс. эл-та табл. выше глав. диагонали = ', max:6:3,'.');

writeln;

writeln ('Значение номера строки с максимальным элементом = ', imax,'.');

writeln;

writeln ('Значение номера столбца с максимальным элементом = ', jmax,'.');

writeln;

{ Уменьшение перевозок по наиденному региону на 9%}

For j:=1 to N do

A[imax,j]:=A[imax,j]-0.09*A[imax,j];

writeln ('Матрица пересчета = ');

Vivod (N,A);

writeln; writeln

End.