.


:




:

































 

 

 

 


1.4. SUMMA2




 

:

 

1. :

 

-.

 

  1. :

 

S , , 5
SU
J

 

 

  1. TP 7.0 , .

 

  1. :

 

.

 

 

1.4.:

 

 

SU: = 0
: {S}, M

 

 

J: = M

 

 
 


SU: = SU + S(J)

 

 
 
J: = J + 1

 

 


 

 
 

 


: SU

 

 
 

 

 


 

 

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





:


: 2016-10-07; !; : 255 |


:

:

, , . , .
==> ...

1389 - | 1225 -


© 2015-2024 lektsii.org - -

: 0.195 .