Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
типовик Саши.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
237.57 Кб
Скачать

III Паскаль программы:

3.1 Паскаль-программа блочной структуры:

PROGRAM tipovichok;

TYPE MATRICA=array[1..5,1..6] of real;

MASSIV=array[1..6] of real;

VAR A,B:MATRICA;

C,SU:MASSIV;

N,i,j:integer;

f1,f2:text;

Procedure SUMST(Var A:MATRICA;Var S1:MASSIV);

Var i,j:integer;

Begin

For j:=1 to 6 do

begin

S1[j]:=0;

For i:=1 to 5 do

S1[j]:=S1[j]+A[i,j]

end

End;

Function MST(Var S2;D:integer):integer;

Type AXAXA=array[1..10922] of real;

Var i,ms:integer;

M:real;

Begin

M:=AXAXA(S2)[1];

ms:=1;

For i:=1 to D do

If AXAXA(S2)[i]>=M Then

begin

M:=AXAXA(S2)[i];

ms:=i

end;

MST:=ms

End;

Procedure SOZMATR(Var A:MATRICA;N1:integer;Var B1:MATRICA);

Var i,j:integer;

Begin

For j:=1 to N1 do

For i:=1 to 5 do

B1[i,j]:=A[i,j]

End;

Procedure SOZMAS(Var A:MATRICA;N2:integer;Var C1:MASSIV);

Var i:integer;

Begin

For i:=1 to 5 do

C1[i]:=A[i,N2]

End;

BEGIN

assign(f1,'slish.pas');

assign(f2,'mish.pas');

reset(f1);

rewrite(f2);

For i:=1 to 5 do

begin

For j:=1 to 6 do

Read(f1,A[i,j]);

Readln(f1);

end;

Read(f1,N);

Writeln(f2,' ':35,'Результаты');

Writeln(f2);

SUMST(A,SU);

If MST(SU,6)>N Then

begin

SOZMATR(A,MST(SU,6),B);

Writeln(f2,' ':13,'{B}:');

For i:=1 to 5 do

begin

Write(f2,' ':10);

For j:=1 to MST(SU,6) do

write(f2,B[i,j]:6:1,' ');

Writeln(f2)

end;

end

Else

begin

SOZMAS(A,N,C);

Write(f2,' ':10,'{C}: ');

For i:=1 to 5 do

Write(f2,C[i]:6:1,' ')

end;

close(f1);

close(f2)

END.

3.2 Паскаль-программа модульной структуры:

UNIT OBIVL;

INTERFACE

TYPE MATRICA=array[1..5,1..6] of real;

MASSIV=array[1..6] of real;

VAR A,B:MATRICA;

C,SU:MASSIV;

N,i,j:integer;

f1,f2:text;

IMPLEMENTATION

BEGIN

assign(f1,'slish.pas');

assign(f2,'mish.pas');

reset(f1);

rewrite(f2)

END.

UNIT A1;

INTERFACE

USES OBIVL;

Procedure SUMST(Var A:MATRICA;Var S1:MASSIV);

Function MST(Var S2;D:integer):integer;

IMPLEMENTATION

Procedure SUMST;

Var i,j:integer;

Begin

For j:=1 to 6 do

begin

S1[j]:=0;

For i:=1 to 5 do

S1[j]:=S1[j]+A[i,j]

end

End;

Function MST;

Type AXAXA=array[1..10922] of real;

Var i,ms:integer;

M:real;

Begin

M:=AXAXA(S2)[1];

ms:=1;

For i:=1 to D do

If AXAXA(S2)[i]>=M Then

begin

M:=AXAXA(S2)[i];

ms:=i

end;

MST:=ms

End;

END.

UNIT B1;

INTERFACE

USES OBIVL;

Procedure SOZMATR(Var A:MATRICA;N1:integer;Var B1:MATRICA);

Procedure SOZMAS(Var A:MATRICA;N2:integer;Var C1:MASSIV);

IMPLEMENTATION

Procedure SOZMATR;

Var i,j:integer;

Begin

For j:=1 to N1 do

For i:=1 to 5 do

B1[i,j]:=A[i,j]

End;

Procedure SOZMAS;

Var i:integer;

Begin

For i:=1 to 5 do

C1[i]:=A[i,N2]

End;

END.

Program tipovichok_mod;

USES OBIVL,A1,B1;

Begin

For i:=1 to 5 do

begin

For j:=1 to 6 do

Read(f1,A[i,j]);

Readln(f1);

end;

Read(f1,N);

Writeln(f2,' ':35,'Результаты');

Writeln(f2);

SUMST(A,SU);

If MST(SU,6)>N Then

begin

SOZMATR(A,MST(SU,6),B);

Writeln(f2,' ':13,'{B}:');

For i:=1 to 5 do

begin

Write(f2,' ':10);

For j:=1 to MST(SU,6) do

write(f2,B[i,j]:6:1,' ');

Writeln(f2)

end;

end

Else

begin

SOZMAS(A,N,C);

Write(f2,' ':10,'{C}: ');

For i:=1 to 5 do

Write(f2,C[i]:6:1,' ')

end;

close(f1);

close(f2)

end.