Professional Documents
Culture Documents
2h GRAPTI ERGASIA 2010-11 ANSWERS
2h GRAPTI ERGASIA 2010-11 ANSWERS
2010-2011
17/01/2011
- 2
1
A
TELEIOI(N)
N: INTEGER; // //
I: INTEGER; // //
J: INTEGER; // //
TELEIOI_SUM: INTEGER; // //
TELEIOI_COUNT: INTEGER; // //
TELEIOI_MEAN: REAL; // //
SUM: INTEGER; // //
TMP: INTEGER; // //
:= 0; // //
J:= 0;
TELEIOI_SUM:= 0;
TELEIOI_COUNT:= 0;
TELEIOI_MEAN:= 0;
SUM:= 0;
TMP:= 0;
:= 1 N // 1 //
SUM:= 0; // //
(SUM=I) TOTE // //
// //
("o ", , " ");
TELEIOI_SUM:= TELEIOI_SUM + I; // //
// //
TELEIOI_COUNT:= TELEIOI_COUNT + 1
-
-;
(TELEIOI_COUNT = 0) TOTE // //
(" 1 ", )
// //
TELEIOI_MEAN:= TELEIOI_SUM / (TELEIOI_COUNT *1.0); // 1.0//
// //
(" 1 ", , " ",
TELEIOI_MEAN)
-;
2 14
- 2
:=0
J:=0
TELEIOI_SUM:=0
TELEIOI_COUNT:=0
TELEIOI_MEAN:=0 SUM:=SUM+J
TMP:=0
SUM:=0
NAI
TMP=0?
:=1
OXI
NAI
NAI
I:=I+1
SUM:=0
J<=(I DIV 2)? J:=J+1
J:=1
TELEIOI_SUM:=TELEIOI_SUM + I
TELEIOI_COUNT:=TELEIOI_COUNT + 1
OXI
SUM=I?
TELEIOI_COUNT=0?
TELEIOI_MEAN:= TELEIOI_SUM/(TELEIOI_COUNT*1.0)
TELEIOI_MEAN
3 14
- 2
2.
1.
() =8
() ={1, 2, 3, 4, 5, 6, 7, 8}
() =14
() = {(1,2), (1,3), (2,5), (3,2), (3,5), (4,2), (4,3), (4,5), (4,7), (5,7),
(6,4), (6,7), (6,8), (8,7)}
() :
1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 1 0 1 0 0 0 0 0 0 0 0
0 1 0 1 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 1 0 0 0
ANA =
0 0 1 0 1 0 0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 1 1 0 1 0 1
0 0 0 0 0 0 0 0 0 0 0 0 1 1
() :
0 1 1 0 0 0 0 0
0 0 0 0 1 0 0 0
0 1 0 0 1 0 0 0
0 1 1 0 1 0 1 0
ANN =
0 0 0 0 0 0 1 0
0 0 0 1 0 0 1 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
2. __ (, M, )
: ARRAY [1..6, 1..6] OF INTEGER;
, : INTEGER;
4 14
- 2
S:=1 // //
P:= 1 T
ANA[S,P]:=0
-
-;
arrow:=0;
// //
:=1 M // //
J:=1 M
ANN[I, J]=1 TOTE // 1 //
arrow:=arrow+1;
ANA[I, arrow]:=1; // [, arrow] A 1//
ANA[J, arrow]:= 1 // [J, arrow] A -1//
-
-
-;
K:=1 // A//
L:= 1
(ANA[K,L]) // [,L] //
-;
(EOL) // //
-
-
3. __ (, M, )
: ARRAY [1..6, 1..10] OF INTEGER;
, : INTEGER;
S:=1 // //
P:= 1 M
ANN[S,P]:=0
-
-;
// N//
J:=1 T // //
I:=1 M
(ANA[I, J]=1) TOTE // 1 //
tail:=I // tail //
-;
(ANA[I, J]= 1) TOTE // -1 //
head:=I // head //
-
-;
ANN[tail, head]:=1 // [tail,head] 1//
-;
5 14
- 2
K:=1 // //
L:= 1 M
(ANN[K,L]) // [,L] //
-;
(EOL) // //
-
-
3
- 1-2
=18; // //
: ARRAY[1..N] OF CHAR; // //
I, : INTEGER; // //
STAT: CHAR; // - //
_(%B, L, R, %p)
//L R B, p //
B: ARRAY[1..N] OF CHAR;
R, L: INTEGER;
B: ARRAY[1..N] OF CHAR;
p: INTEGER; // //
// //
partition, tmp: CHAR; // //
left,right: INTEGER; // //
////
partition:=B[R]; // //
left:=L-1;
right:=L R-1
(B[right]<partition) TOTE // //
left:=left+1;
tmp:=B[left];
B[left]:=B[right];
B[right]:=tmp
-
-;
tmp:=B[left+1];
B[left+1]:=B[R];
B[R]:=tmp;
p:=left+1 // //
- //_//
6 14
- 2
// //
:=1
( ,);
([])
_;
( : );
();
((<1) OR (>))
( .
[1]. : );
()
-;
_(%, 1, , , %STAT);
( ,, - : ,STAT)
// //
- 3
L R
6 1 18
6 1 17
6 1 8
2 5 8
2 5 6
6 .
( )
_ .
1 _ L=1 R=18.
left, right partition
, .
.
17 17
17 18
.
.
7 14
- 2
2 _ L=1
R=17.
left right partition
0 1
1 2
1 3
2 4
3 5
4 6
4 7
5 8
5 9
6 10
7 11
7 12
7 13
7 14
7 15
8 16
8 17
,
9 .
4_
=5;
=7; // //
KOMBOS: // //
DATA: INTEGER;
NEXT: POINTER[KOMBOS];
: ARRAY[1..N] OF INTEGER;
: ARRAY[1..N, 1..] OF INTEGER;
__(%) // //
: ARRAY[1..N] OF INTEGER;
: ARRAY[1..N] OF INTEGER;
// //
I: INTEGER;
8 14
- 2
////
:= 1
( , I, );
([I])
-
- // //
__(%) // //
: ARRAY[1..N, 1..] OF INTEGER;
: ARRAY[1..N, 1..] OF INTEGER;
// //
I, J: INTEGER;
////
:= 1
J:= 1
( , I, , J, );
([I,J])
-
-
- // //
__(%List, number) // //
List: POINTER[KOMBOS];
number: INTEGER;
List: POINTER[KOMBOS];
// //
new, telos: POINTER[KOMBOS];
////
_(new); // //
new^.DATA:= number;
new^.NEXT:= NIL;
EAN (List=NIL) TOTE
List:=new // ...//
telos:=EYRESH_TELOYS_LISTAS(List); // //
telos^.NEXT:=new // //
-
- // //
9 14
- 2
EYRESH_TELOYS_LISTAS(List): POINTER[KOMBOS] // //
List: POINTER[KOMBOS];
EYRESH_TELOYS_LISTAS: POINTER[KOMBOS];
// //
current: POINTER[KOMBOS];
////
current:=List;
(current^.NEXT <> NIL)
current:=current^.NEXT // //
-;
EYRESH_TELOYS_LISTAS:=current // //
- // //
_(List) // //
List: POINTER[KOMBOS];
// //
current: POINTER[KOMBOS];
////
current:=List;
EAN (List=NIL)
( )
( :);
(current<>NIL)
(current^.DATA);
current:= current^.NEXT
-
-
- ////
_1_(A) // 1_//
: ARRAY[1..N] OF INTEGER;
// //
I, 1: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
10 14
- 2
(" 1 1 ");
(1)
((1>=1) AND (1<=));
:= 1
__(%L, A[I]) // //
-;
_(L) // //
- // 1_//
_1_() // 1_//
: ARRAY[1..N] OF INTEGER;
// //
I, 2: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" 2 1 ");
(2)
((2>=1) AND (2<=));
:= 1 2
__(%L, [I]) // //
-;
_(L) // //
- // 1_//
_1_() // 1_//
: ARRAY[1..N] OF INTEGER;
// //
I, 1, 2: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" 1 1 ");
(1)
((1>=1) AND (1<=));
(" 2 1 ");
(2)
((2>=1) AND (2<=));
11 14
- 2
:= 1 2
__(%L, [I]) // //
-;
_(L) // //
- // 1_c//
_1_ // 1_//
: ARRAY[1..N] OF INTEGER;
// //
I, 1, 2: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" 1 1 ");
(1)
((1>=1) AND (1<=));
(" 2 1 ");
(2);
((2>=1) AND (2<=));
:= 1 2
EAN ((A[I] mod 2)=0) TOTE // []
__(%L, [I]) // //
EAN-TE
-;
_(L) // //
- // 1_d//
_2_() // 2_//
: ARRAY[1..N, 1..] OF INTEGER;
// //
I, J: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" 1 ");
()
((>=1) AND (<=));
12 14
- 2
J:= 1 M
__(%L, [I, J]) // //
-;
_(L) // //
- // 2_a//
_2_() // 2_//
: ARRAY[1..N, 1..] OF INTEGER;
// //
I, J: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" J 1 M");
(J)
((J>=1) AND (J<=M));
I:= 1 N
__(%L, [I, J]) // //
-;
_(L) // //
- // 2_b//
_2_() // 2_//
: ARRAY[1..N, 1..] OF INTEGER;
// //
I, J, 1, 2: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" 1 ");
()
((>=1) AND (<=));
(" 1 1 ");
(1)
((1>=1) AND (1<=));
(" 2 1 ");
(2)
((2>=1) AND (2<=));
13 14
- 2
J:= 1 2
__(%L, [I, J]) // //
-;
_(L) // //
- // 2_c//
_2_() // 2_//
: ARRAY[1..N, 1..] OF INTEGER;
// //
I, J, 1, 2: INTEGER;
L: POINTER[KOMBOS]; // //
////
L:=NIL; // //
(" J 1 ");
(J)
((J>=1) AND (J<=M));
(" 1 1 N");
(1)
((1>=1) AND (1<=N));
(" 2 1 N");
(2)
((2>=1) AND (2<=N));
I:= 1 2
__(%L, [I, J]) // //
-;
_(L) // //
- // 2_c//
// //
__(%); // //
__(%); // //
_1_(); // 1_//
_1_(); // 1_//
_1_(); // 1_//
_1_(); // 1_//
_2_(); // 2_//
_2_(); // 2_//
_2_(); // 2_//
_2_() // 2_//
// //
14 14