Professional Documents
Culture Documents
2h GE 2014-15 ANS
2h GE 2014-15 ANS
2014-2015
11/01/2015
2 2014-2015
1. ( 20)
MAX_DAYS = 31, /* */
MAX = 45.0, /* */
MIN = 0.0; /* */
MEAN_TEMP: REAL; /* */
SUM: REAL; /* */
I: INTEGER; /* */
/* */
TEMPS: ARRAY[1.. MAX_DAYS] OF REAL;
/* */
/* */
SUM:=0;
I:=1 MAX_DAYS /* */
/* */
(" : ", I, EOLN);
(TEMPS[I]);
((TEMPS[I]<MIN) OR (TEMPS[I]>MAX))
(" ", EOLN)
-
((TEMPS[I]>=MIN) AND (TEMPS[I]<=MAX))
-;
/* */
I:=1 MAX_DAYS
SUM:= SUM + TEMPS[I]
-;
MEAN_TEMP:= SUM / MAX_DAYS; /* */
/* */
(" : ", MEAN_TEMP, EOLN);
/* */
I:=1 MAX_DAYS
(TEMPS[I]>MEAN_TEMP)
(" ", I, "
", EOLN)
-
-
/* */
2 13
2 2014-2015
I:=1
MAX_DAYS=31
MAX=45.0 (I<=MAX_DAYS)?
MIN=0.0
NAI OXI
SUM:=0
I:=1
SUM:= SUM + TEMPS[I]
I:=I+1
NAI :
MEAN_TEMP
: I
I:=1
TEMPS[I]
(I<=MAX_DAYS)?
((TEMPS[I]<MIN) OR
(TEMPS[I]>MAX))?
OXI
NAI
NAI
(TEMPS[I]>MEAN_TEMP)?
OXI
NAI
I
OXI
((TEMPS[I]>=MIN) AND
(TEMPS[I]<=MAX))? OXI
NAI
I:=I+1
I:=I+1
3 13
2 2014-2015
- :
1)
. 5 :
5
2) MAX_DAYS,
= :=
.
2. ( 25)
N=10;
I, J, KODIKOS: INTEGER;
EISPRAKSH_MHNA, SUM, MIN: REAL;
AITHOYSA: ARRAY[1..] OF INTEGER; /*
*/
MESH_TIMH: ARRAY[1..N] OF REAL; /*
*/
EISPRAKSI: ARRAY[1..N,1..12] OF REAL; /*
*/
/*1.
*/
(" : ");
(AITHOYSA[1]); /*
*/
(" .
: ");
I:=2 N
(KODIKOS);
J:= 0;
/*
*/
J:= J+1;
(AITHOYSA[J]=KODIKOS )
(" .
: ");
(KODIKOS);
J:=0
-
(J >= I-1);
AITHOYSA[I]:=KODIKOS /* ,
*/
-;
4 13
2 2014-2015
/*2.
*/
I:=1 N
(" ",AITHOYSA[I], EOLN);
J:=1 12 /*
*/
("....... ", J, ":");
(EISPRAKSH_MHNA);
(EISPRAKSH_MHNA<0.0)
(" ");
(EISPRAKSH_MHNA);
-;
EISPRAKSI[I, J]:= EISPRAKSH_MHNA
-
-;
/*3. */
I:=1 N
SUM:=0;
J:=1 12
SUM:=SUM+ EISPRAKSI[I, J]
-;
MESH_TIMH[I]:=SUM/12.0;
(" ", AITHOYSA[I],
" ", MESH_TIMH[I], EOLN)
-;
/*4. */
/*5. */
I:=1 N
(MESH_TIMH[I]=MIN)
(" ", AITHOYSA[I], "
", EOLN)
-
-
5 13
2 2014-2015
3. ( 25)
N=10;
A: ARRAY [1..N] OF INTEGER;
EISAGOGI()
/* */
/* */
/* I
*/
I:INTEGER;
I:=1;
(" A[",I,"]: ");
(A[I]);
/* */
(A[I]<=0)
(" ", EOLN)
I:=I+1
-
(I>N)
-
SORT ()
/* */
/* */
I,J,K,M,NUM,MAX,POS,DENOM:INTEGER;
/* LISTS
.. 1 1
0 , 2
1 ... */
LISTS: ARRAY [1..10, 1..N] OF INTEGER;
6 13
2 2014-2015
NUM:=0;
/*
MAX*/
MAX:=A[1];
I:=2 N
(A[I]>MAX)
MAX:=A[I]
-
-;
/*
NUM*/
(MAX>0)
NUM:=NUM+1;
MAX:=MAX DIV 10
-;
/* DENOM
, .. DENOM=1
( 1), DENOM=10 ( 2), DENOM=100
( 3), ...*/
DENOM:=1;
I:=1 NUM
J:=1 10 /* LISTS*/
K:=1 N
LISTS[J,K]:=0
-
-;
J:=1 N /* LISTS */
/* (POS) LISTS
A[J]*/
POS:=((A[J] DIV DENOM) MOD 10)+1;
/* POS
LISTS K*/
K:=1;
(LISTS[POS,K]<>0 AND K<=N)
K:=K+1
-;
LISTS[POS,K]:=A[J]
-;
/* */
7 13
2 2014-2015
M:=1;
J:=1 10
K:=1;
/* K */
(LISTS[J,K]<>0 AND K<=N)
A[M]:=LISTS[J,K];
M:=M+1;
K:=K+1
-
-;
DENOM:=DENOM*10
-
-
EKTYPOSI()
/* */
/* */
I:INTEGER;
I:=1 N
(A[I]," ")
-;
(EOLN)
-
/* */
(" :",EOLN);
EISAGOGI();
(" :",EOLN);
EKTYPOSI();
SORT();
(" :",EOLN);
EKTYPOSI()
8 13
2 2014-2015
4. ( 30)
1
, :
COUNT A 1 2 3 4 5 6
1 5 1 0 5 10 15 30
2 3 2 6 11 21
3 2 3 2 17
4 4 4 3 3 23 28
5 1 5 24
2
_
N=15, /* */
M=5; /* */
MENU(): INTEGER
/* */
/* */
SELECT: INTEGER;
(EOLN, " ", EOLN);
("1. ( )", EOLN);
("2. ", EOLN);
("3. ", EOLN);
("4. ", EOLN);
("0. ", EOLN);
(":");
(SELECT);
((SELECT<0) OR (SELECT>4))
(" ", EOLN)
-
((SELECT>=0) AND (SELECT<=4));
MENU:=SELECT
-
9 13
2 2014-2015
INITIALIZE(%PL)
/*
0*/
PL: ARRAY[1..M] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
I:INTEGER;
(" .
", EOLN);
I:=1 M
PL[I]:=0 /*
. */
-;
TOTAL:= 0
-
COMPUTE_LINE(NUMBER):INTEGER
NUMBER: INTEGER;
/* */
INPUT_AND_STORE(%IN, %PL)
IN: ARRAY[1..M, 1..N] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
IN: ARRAY[1..M, 1..N] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
(" ? (1 ):");
(CH);
((CH=1) AND (TOTAL<N))
10 13
2 2014-2015
(" :");
(DATA);
(DATA>=0);
TOTAL:=TOTAL+1; /* */
LINE:=COMPUTE_LINE(DATA);/*
*/
(PL[LINE]=0)
IN[LINE, 1]:=DATA; /* */
PL[LINE]:=1
/* LINE*/
(DATA>=IN[LINE, PL[LINE]]) /*
*/
PL[LINE]:=PL[LINE]+1;
IN[LINE, PL[LINE]]:= DATA
/* */
POSITION:=PL[LINE];
(DATA<IN[LINE, POSITION] AND (POSITION>0))
IN[LINE, POSITION+1]:=IN[LINE, POSITION];
POSITION:=POSITION-1
-;
IN[LINE, POSITION+1]:=DATA;
PL[LINE]:=PL[LINE]+1
-
-;
(" ? ((1 ):");
(CH)
-;
(TOTAL=N)
(" ", EOLN)
READ_AND_RETRIEVE(IN, PL)
IN: ARRAY[1..M, 1..N] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
/* */
(TOTAL=0)
(" ")
11 13
2 2014-2015
(" :");
(" :");
(X);
(X>=0);
LINE:=COMPUTE_LINE(X);/* */
(EOLN);
(PL[LINE]<>0) /*
*/
/* LINE
*/
FIRST:=1;
LAST:=PL[LINE];
FOUND:=FALSE;
((FOUND=FALSE) AND (FIRST<=LAST))
MED:=(FIRST+LAST) DIV 2;
(X=IN[LINE, MED])
("To ", X, " ", MED, "
", LINE, EOLN);
FOUND:=TRUE
(X<IN[LINE, MED])
LAST:=MED-1
FIRST:=MED+1
-
-
-
FOUND:=FALSE
-;
(FOUND=FALSE)
(" ", EOLN)
-
-
-
PRINT_DATA(IN, PL)
IN: ARRAY[1..M, 1..N] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
/* */
I, J: INTEGER;
12 13
2 2014-2015
(EOLN);
(TOTAL=0)
(" ", EOLN)
I:= 1 M
(I, ")");
J:= 1 PL[I]
(IN[I, J], " ") /* */
-;
(EOLN) /* */
-
-
-
/*________________________________________________________________*/
/* */
INITIALIZE(%COUNT); /* */
EPILOGH:=MENU();
(EPILOGH=1)
INITIALIZE(%COUNT) /* */
(EPILOGH=2)
INPUT_AND_STORE(%A, %COUNT) /*
*/
(EPILOGH=3)
PRINT_DATA(A, COUNT) /*
*/
(EPILOGH=4)
READ_AND_RETRIEVE(A, COUNT) /*
*/
-
-
-
-
(EPILOGH=0);
(" ")
/* */
13 13