:
1. :
-.
- :
S | , , 5 | ||
SU | |||
J |
- TP 7.0 , .
- :
.
1.4.:
|
|
|
|
|
III. :
:
PROGRAM TR_V7;
TYPE MASS1=ARRAY[1..5,1..5] OF REAL;
MASSIV=ARRAY[1..5] OF REAL;
VAR A:MASS1;
S:MASSIV;
SU:REAL;
I,J,M:INTEGER;
F1,F2:TEXT;
PROCEDURE SUMJ(VAR A:MASS1;VAR S1:MASSIV);
VAR I,J:INTEGER;
BEGIN
FOR J:=1 TO 5 DO
BEGIN
S1[I]:=0;
FOR I:=1 TO 5 DO
S1[J]:=S1[J]+A[I,J]
END;
END;
FUNCTION MINJ(VAR S2;N:INTEGER):INTEGER;
TYPE XM=ARRAY[1..10922] OF REAL;
VAR K,J:INTEGER;
MIN:REAL;
BEGIN
MIN:=XM(S2)[1];
K:=1;
FOR J:=1 TO N DO
BEGIN
IF XM(S2)[J]<=MIN THEN
BEGIN
MIN:=XM(S2)[J];
K:=J
END;
END;
MINJ:=K
END;
FUNCTION SUMMA1(VAR S;K:INTEGER):REAL;
TYPE BR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=1 TO MINJ(S,5) DO
BEGIN
SU:=SU+BR(S)[J]
END;
SUMMA1:=SU
END;
FUNCTION SUMMA2(VAR S;M:INTEGER):REAL;
TYPE TR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=M TO 5 DO
BEGIN
SU:=SU+TR(S)[J]
END;
SUMMA2:=SU
END;
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
READ(F1,M);
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SUMJ(A,S);
IF MINJ(S,5)=M THEN
SU:= SUMMA1(S,MINJ(S,5))
ELSE
SU:=SUMMA2(S,M);
WRITELN(F2,' ':20,'SU= ',SU:6:3);
CLOSE(F1);
CLOSE(F2)
END.
- :
UNIT OBIVL;
INTERFACE
TYPE MASS1=ARRAY[1..5,1..5] OF REAL;
MASSIV=ARRAY[1..5] OF REAL;
VAR A:MASS1;
S:MASSIV;
SU:REAL;
I,J,M:INTEGER;
F1,F2:TEXT;
IMPLEMENTATION
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2)
END.
UNIT OPRSUMJ;
INTERFACE
USES OBIVL;
PROCEDURE SUMJ(VAR A:MASS1;VAR S1:MASSIV);
|
|
IMPLEMENTATION
PROCEDURE SUMJ;
VAR I,J:INTEGER;
BEGIN
FOR J:=1 TO 5 DO
BEGIN
S1[I]:=0;
FOR I:=1 TO 5 DO
S1[J]:=S1[J]+A[I,J];
END;
END;
END.
UNIT OPRMINJ;
INTERFACE
USES OBIVL;
FUNCTION MINJ(VAR S2;N:INTEGER):INTEGER;
IMPLEMENTATION
FUNCTION MINJ;
TYPE XM=ARRAY[1..10922] OF REAL;
VAR K,J:INTEGER;
MIN:REAL;
BEGIN
MIN:=XM(S2)[1];
K:=1;
FOR J:=1 TO N DO
BEGIN
IF XM(S2)[J]<=MIN THEN
BEGIN
MIN:=XM(S2)[J];
K:=J
END;
END;
MINJ:=K
END;
END.
UNIT OPRSU1;
INTERFACE
USES OBIVL;
FUNCTION SUMMA1(VAR S;K:INTEGER):REAL;
IMPLEMENTATION
FUNCTION SUMMA1;
TYPE BR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=1 TO K DO
BEGIN
SU:=SU+BR(S)[J]
END;
SUMMA1:=SU
END;
END.
UNIT OPRSU2;
INTERFACE
USES OBIVL;
FUNCTION SUMMA2(VAR S;M:INTEGER):REAL;
IMPLEMENTATION
FUNCTION SUMMA2;
TYPE TR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=M TO 5 DO
BEGIN
SU:=SU+TR(S)[J]
END;
SUMMA2:=SU
END;
END.
PROGRAM MODYLTR7;
USES OBIVL,OPRSUMJ,OPRMINJ,OPRSU1,OPRSU2;
BEGIN
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SUMJ(A,S);
IF MINJ(S,5)=M THEN
SU:=SUMMA1(S,MINJ(S,5))
ELSE
SU:=SUMMA2(S,M);
WRITELN(F2,' ':20,'SU ',SU:6:3);
CLOSE(F1);
CLOSE(F2)
END.
IV. :
- :
:
1. , :
, .
.
2. , , :
MINJ ( ) .
3. :
, .
, 3.
:
1. :
- IF;
SUMMA1 SU ;
- , .
- .
- , .
- ( ).
- .
- .
- .
- .
- .
2. :
.
|
|
3. :
. - . .
:
-:
SUMJ:
PROGRAM DRAV1;
TYPE MASS1=array(1..5,1..5):real;
TYPE MASSIV=array(1..5):real;
VAR A:MASS1;
S:MASSIV;
I,J:INTEGER;
F1,F2:TEXT;
PROCEDURE SUMJ(VAR A:MASS1;VAR S1:MASSIV);
VAR I,J:INTEGER;
BEGIN
FOR J:=1 TO 5 DO
BEGIN
S1[I]:=0;
FOR I:=1 TO 5 DO
S1[J]:=S1[J]+A[I,J]
END;
END;
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
READ(F1,M);
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SUMJ(A,S);
FOR i:=1 to 5 do
WRITELN(F2,' ':20,'s= ',S[i]:6:3);
CLOSE(F1);
CLOSE(F2)
END.
MINJ:
PROGRAM DRAV2:
TYPE MASS1=array(1..5,1..5):real;
TYPE MASSIV=array(1..5):real;
VAR A:MASS1;
S:MASSIV;
I,J:INTEGER;
F1,F2:TEXT;
FUNCTION MINJ(VAR S2;N:INTEGER):INTEGER;
TYPE XM=ARRAY[1..10922] OF REAL;
VAR K,J:INTEGER;
MIN:REAL;
BEGIN
MIN:=XM(S2)[1];
K:=1;
FOR J:=1 TO N DO
BEGIN
IF XM(S2)[J]<=MIN THEN
BEGIN
MIN:=XM(S2)[J];
K:=J
END;
END;
MINJ:=K
END;
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
READ(F1,M);
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
MINJ(S,5,K);
WRITELN(F2,' ':20,'K= ',K);
CLOSE(F1);
CLOSE(F2)
END.
SUMMA1:
PROGRAM DRAV3;
TYPE MASS1=ARRAY[1..5,1..5] OF REAL;
MASSIV=ARRAY[1..5] OF REAL;
VAR A:MASS1;
S:MASSIV;
SU:REAL;
I,J:INTEGER;
F1,F2:TEXT;
FUNCTION SUMMA1(VAR S;K:INTEGER):REAL;
TYPE BR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=1 TO K DO
BEGIN
SU:=SU+BR(S)[J]
END;
SUMMA1:=SU
END;
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
READ(F1,M);
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SU:= SUMMA1(S,K)
WRITELN(F2,' ':20,'SU= ',SU:6:3);
CLOSE(F1);
CLOSE(F2)
END.
SUMMA2:
TYPE MASS1=ARRAY[1..5,1..5] OF REAL;
MASSIV=ARRAY[1..5] OF REAL;
VAR A:MASS1;
S:MASSIV;
SU:REAL;
I,J,:INTEGER;
F1,F2:TEXT;
FUNCTION SUMMA2(VAR S;M:INTEGER):REAL;
TYPE TR=ARRAY[1..10922] OF REAL;
VAR J:INTEGER;
SU:REAL;
BEGIN
SU:=0;
FOR J:=M TO 5 DO
BEGIN
SU:=SU+TR(S)[J]
END;
SUMMA2:=SU
END;
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
RESET(F1);
REWRITE(F2);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
READ(F1,M);
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SUMJ(A,S);
SU:=SUMMA2(S,M);
WRITELN(F2,' ':20,'SU= ',SU:6:3);
CLOSE(F1);
CLOSE(F2)
END.
. , .
- :
, . - :
PROGRAM;
OPRMINJ INTERFACE.
- . , , .
|
|
. , - . . 1 , . , , .
UNIT OBIVL;
INTERFACE
TYPE MASS1=ARRAY[1..5,1..5] OF REAL;
MASSIV=ARRAY[1..5] OF REAL;
VAR A:MASS1;
S:MASSIV;
SU:REAL;
I,J,M:INTEGER;
F1,F2, F3:TEXT;
IMPLEMENTATION
BEGIN
ASSIGN(F1,'VGIK.PAS');
ASSIGN(F2,'BGIK.PAS');
ASSIGN(F3,'SCHET.PAS');
RESET(F1);
REWRITE(F2);
REWRITE(F3)
END.
UNIT OPRSUMJ;
INTERFACE
USES OBIVL;
PROCEDURE SUMJ(VAR A:MASS1;VAR S1:MASSIV);
IMPLEMENTATION
PROCEDURE SUMJ;
VAR I,J, M1,M2:INTEGER;
BEGIN
M1:=0;
FOR J:=1 TO 5 DO
BEGIN
M2:=0;
S1[I]:=0;
FOR I:=1 TO 5 DO
BEGIN
S1[J]:=S1[J]+A[I,J];
M2:=M2+1;
END;
M1:=M1+1;
END;
WRITELN(F3,M1,' ',M2);
END;
END.
UNIT OPRMINJ;
INTERFACE
USES OBIVL;
FUNCTION MINJ(VAR S2:MASSIV;N:INTEGER):INTEGER;
IMPLEMENTATION
FUNCTION MINJ;
TYPE XM=ARRAY[1..10922] OF REAL;
VAR K,J, M1,M2:INTEGER;
MIN:REAL;
BEGIN
MIN:=S2[3];
K:=1;
M1:=0;
FOR J:=1 TO N DO
BEGIN
M2:=0;
IF S2[J]<=MIN THEN
BEGIN
M2:=M2+1;
MIN:=S2[J];
K:=J
END;
M1:=M1+1;
END;
MINJ:=K;
WRITELN(F3,M1,' ',M2);
END;
END.
UNIT OPRSU1;
INTERFACE
USES OBIVL;
FUNCTION SUMMA1(VAR S;K:INTEGER):REAL;
IMPLEMENTATION
FUNCTION SUMMA1;
TYPE BR=ARRAY[1..10922] OF REAL;
VAR J, M1:INTEGER;
SU:REAL;
BEGIN
SU:=0;
M1:=0;
FOR J:=1 TO K DO
BEGIN
SU:=SU+BR(S)[J];
M1:=M1+1;
END;
SUMMA1:=SU;
WRITELN(F3,M1);
END;
END.
UNIT OPRSU2;
INTERFACE
USES OBIVL;
FUNCTION SUMMA2(VAR S;M:INTEGER):REAL;
IMPLEMENTATION
FUNCTION SUMMA2;
TYPE TR=ARRAY[1..10922] OF REAL;
VAR J, M1:INTEGER;
SU:REAL;
BEGIN
SU:=0;
M1:=0;
FOR J:=M TO 5 DO
BEGIN
SU:=SU+TR(S)[J];
M1:=M1+1;
END;
SUMMA2:=SU;
WRITELN(F3,M1);
END;
END.
PROGRAM MODYLTR7;
USES OBIVL,OPRSUMJ,OPRMINJ,OPRSU1,OPRSU2;
BEGIN
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
READ(F1,A[I,J]);
READLN(F1)
END;
WRITELN(F2,' ':35,'REZYLTAT');
WRITELN(F2);
SUMJ(A,S);
IF MINJ(S,5)=M THEN
SU:=SUMMA1(S,MINJ(S,5))
ELSE
SU:=SUMMA2(S,M);
WRITELN(F2,' ':20,'SU ',SU:6:3);
CLOSE(F1);
CLOSE(F2);
CLOSE(F3);
END.
.
V. :
. , .
( )
.
7
: 11 08
: . .
: . .
2009