Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

...

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

(I<=MAX_DAYS)? MEAN_TEMP:= SUM / MAX_DAYS

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. */

MIN:= MESH_TIMH [1];


I:=2 N
(MESH_TIMH[I]< MIN)
MIN:= MESH_TIMH [I]
-
-;
(" ", MIN, EOLN, EOLN);

/*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; /* */

A: ARRAY[1..M, 1..N] OF INTEGER; /*


*/
COUNT:ARRAY[1..M] OF INTEGER; /* */
TOTAL: INTEGER; /*
*/
EPILOGH: INTEGER; /* */

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;
/* */

COMPUTE_LINE:=(NUMBER MOD M)+1


-

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;

DATA, LINE, POSITION: INTEGER;


CH: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)

(" ", EOLN)


-
-

READ_AND_RETRIEVE(IN, PL)


IN: ARRAY[1..M, 1..N] OF INTEGER;
PL: ARRAY[1..M] OF INTEGER;
/* */

X, LINE, FIRST, LAST, MED: INTEGER;


FOUND: BOOLEAN;

(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

You might also like