ΑΕΠΠ Δ_ΕΠΑΝ Απαντήσεις Ασκήσεων Α01-ΑΧΧ (Για)

Άσκηση Α01   (Απάντηση)

Α Β
i οθόνη
1
2
3
4
5
1$
2$
3$
4$

Απ//  4 επαναλήψεις

i οθόνη
1
4
7
10
1$
4$
7$


Απ//  3 επαναλήψεις

Γ Δ
i οθόνη
15.0
13.5
12.0
10.5
 9.0
15.0$
13.5$
12.0$
10.5$
9.0

Απ//  4 επαναλήψεις

i οθόνη
5 5

 

Απ//
0 επαναλήψεις.  Έχω ΓΙΑ από μικρότερο σε μεγαλύτερο με βήμα αρνητικό, ενώ έπρεπε να είναι θετικό.

Ε ΣΤ
Απ//
Η τιμή του βήματος είναι μηδέν, επομένως η εντολή «Για» δεν πρόκειται να τερματίσει ποτέ.
ΑΤΕΡΜΩΝ βρόγχος (άπειρες επαναλήψεις).
Απ//
0 επαναλήψεις
.  Έχω ΓΙΑ από μεγαλύτερο σε μικρότερο με βήμα θετικό, ενώ έπρεπε να είναι αρνητικό.

Άσκηση Α02   (Απάντηση)

Α Β
k i j οθόνη
12 3
2
1
0
8
8
8
8

 ∞ 
 

Απ//
Άπειρες επαναλήψεις. 
Όταν το i πάρει την τιμή 0 οδηγεί τον εσωτερικό βρόγχο του j σε άπειρες επαναλήψεις. Το j παραμένει πάντα 8.

k i j οθόνη
0 3   ?  0 

Απ//
0 επαναλήψεις. 
Διότι το βήμα του εξωτερικού βρόγχου i είναι θετικό(1) ενώ έπρεπε να είναι αρνητικό.
Στην εκτύπωση θα εμφανίσει πρόβλημα διότι εκτυπώνουμε το j χωρίς να έχει πάρει τιμή. Δύο σενάρια ανάλογα της γλώσσας: (α)τυπώνει σκουπίδι(τυχαία τιμή), (β)βγάζει μήνυμα λάθους. Στην περίπτωση  της δικιάς μας ΓΛΩΣΣΑΣ βγάζει μήνυμα λάθους.

Γ Δ
i οθόνη
1
2
6
10
14
17
hello
hello
hello

Απ//
3 επαναλήψεις. Προσοχή!!! 
Εξωτερικός και εσωτερικός βρόγχος έχουν την ίδια μεταβλητή ελέγχου(i). Αυτό σε κάποιες γλώσσες απαγορεύεται, γιαυτό καλό είναι να το αποφεύγουμε. Εμείς εδώ στην γλώσσα μας το δεχόμαστε.

k i j οθόνη
1 1
2
3
4
5
10
10
10
10
5  10  1

Απ//
4 επαναλήψεις,
 από τον εξωτερικό βρόγχο με i = 1, 2, 3, 4.
Ο εσωτερικός βρόγχος του j δεν εκτελείται ποτέ αφού πάντα το βήμα i είναι θετικό, ενώ έπρεπε να είναι αρνητικό.
Στην οθόνη θα εμφανίσει:     5  10  1


Άσκηση Α03   (Απάντηση)

Πίνακας τιμών των μεταβλητών

i x y (x<y) οθόνη
7
22
37
52
67
3
18
1
24
2
7
38
17
Αληθής
Ψευδής
Αληθής
Αληθής
 7    3    2
22   18    7
37    1   38
52  24   17

Διάγραμμα ροής


Άσκηση Α04   (Απάντηση)

Αλγόριθμος Ασκ4
 A8r ← 0
 Για i από 1 μέχρι 50
  Διάβασε a
  A8r ← A8r + a
 Τέλος_επανάληψης
 mo ← A8r/50
 Εκτύπωσε
 “άθροισμα”,A8r,”μέσος όρος”,mo
Τέλος Ασκ4

Άσκηση Α05   (Απάντηση)

Αλγόριθμος Ασκ5
 Διάβασε n
 Για i από 1 μέχρι n
  Διάβασε a
  Αν (i=1) τότε
   min ← a
   thesi ← 1
  Αλλιώς_αν (a < min) τότε
   min ← a
   thesi ← i
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 “ελάχιστο”,min,”στη θέση”,thesi
Τέλος Ασκ5

Άσκηση Α06   (Απάντηση)

Αλγόριθμος Ασκ6
 Διάβασε n
 Για i από 1 μέχρι n
  Διάβασε a
  Αν (i=1) τότε
   max ← a
   thesi ← 1
  Αλλιώς_αν (a > max) τότε
   max ← a
   thesi ← i
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 “μέγιστο”,max,”στη θέση”,thesi
Τέλος Ασκ6

 


Άσκηση Α07   (Απάντηση)

Αλγόριθμος Ασκ7
 maxb ← – 1
 maxon ← “”
 Για i από 1 μέχρι 100
  Διάβασε on, b
  Αν (b > maxb) τότε
   maxb ← b
   maxon ← on
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 “βαρύτερος ο”,maxon
Τέλος Ασκ7

Άσκηση Α08   (Απάντηση)

Αλγόριθμος Ασκ8
 Διάβασε a
 min1 ← a
 thesi1 ← 1
 min2 ← a
 thesi2 ← 1
 Για i από 2 μέχρι 100
  Διάβασε a
  Αν (a<min1) τότε
   min2 ← min1
   thesi2 ← thesi1
   min1 ← a
   thesi1 ← i
  Αλλιώς_αν (a < min2) τότε
   min2 ← a
   thesi2 ← i
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 min1, thesi1, min2, thesi2
Τέλος Ασκ8

Άσκηση Α09   (Απάντηση)

Αλγόριθμος Ασκ9
 pl ← 0
 Για a από 100 μέχρι 999
  Αν (a mod 9 = 0) τότε
   pl ← pl + 1
   Εκτύπωσε a
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 “βρέθηκαν”,pl
Τέλος Ασκ9

Άσκηση Α10   (Απάντηση)

Αλγόριθμος Ασκ10
 pl ← 0
 Διάβασε a
 Για d από 2 μέχρι a div 2
  Αν (a mod d = 0) τότε
  pl ← pl + 1
  Εκτύπωσε d
 Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 pl
Τέλος Ασκ10
παράδειγμα για a=18

a d pl οθόνη
18
2
3

4
5
6
7
8
9
10
0
1
2

3

4


2

3

6


9
4

 

 

Άσκηση Α11   (Απάντηση)

Αλγόριθμος Ασκ11
 pl ← 0
 Για a από 100 μέχρι 999
  d3 ← a div 100
  d2 ← (a mod 100) div 10
  d1 ← (a mod 100) mod 10
  Αν (d1*d2*d3 = a mod (d1 + d2 + d3)) τότε
   pl ← pl + 1
   Εκτύπωσε a
  Τέλος_αν
 Τέλος_επανάληψης
 Εκτύπωσε
 “βρέθηκαν”,pl
Τέλος Ασκ11

Άσκηση Α12   (Απάντηση)

Αλγόριθμος Ασκ12
 Για x από  -20 μέχρι 20 με βήμα 0.5
  Αν (5*x+1<>0) τότε
   y ← (12*x^5+4*x^2-3)/(5*x+1)
   Εκτύπωσε x, y
  Τέλος_αν
 Τέλος_επανάληψης
Τέλος Ασκ12

Άσκηση Α13   (Απάντηση)

Αλγόριθμος  Ασκ13
 skrat1 ← 0

 skrat1 ← 0
 Για erg από 1 μέχρι 270

  Εμφάνισε  “Δώσε όνομα και μισθό: ”
  Διάβασε  on, mis
  Αν  mis <= 0  τότε
   krat1 ←  0
   krat2 ←  0
  Αλλιώς_Αν
  mis <= 800  τότε
   krat1 ←  mis  *  2/100
   krat2 ←  mis  *  2/100
  Αλλιώς_Αν  mis <= 1200  τότε
   krat1 ←  800*2/100 + (mis-800)*5/100
   krat2 ←  mis * 5/100
  Αλλιώς
   krat1 ←  800*2/100 + (1200-800)*5/100+ (mis-1200)*10/100
   krat2 ←  mis * 10/100
  Τέλος_Αν

  nmis ←  mis-krat1
  Εμφάνισε  on, “συνεισφορά”, krat1, “νέος μισθός”, nmis
  skrat1 ← skrat1+krat1
  skrat2 ← skrat2+krat2
 Τέλος_επανάληψης
 Εμφάνισε  on, “συνεισφορά”, krat1, “νέος μισθός”, nmis
Τέλος  Ασκ13


Άσκηση Α14   (Απάντηση)

Αλγόριθμος  Ασκ14
 stelos ← 0

 sylik ← 0
 Για d από 1 μέχρι 7500

  Εμφάνισε  “Δώσε όνομα, αξία νερού, κιλά ανακύκλωσης:”
  Διάβασε  on, axian, kg
  Αν axian > 500 τότε
   telos ←  50*0/100 + (300-50)*0.01/100 + (500-300)*0.02/100 + (axian-500)*0.03/100
  Αλλιώς_αν axian > 300 τότε
   telos ←  50*0/100 + (300-50)*0.01/100 + (axian-300)*0.02/100
  Αλλιώς_αν axian > 50 τότε
   telos ←  50*0/100 + (axian-50)*0.01/100
  Αλλιώς
   telos ←  0
  Τέλος_Αν
  Αν
 kg <= 0 τότε
   pylik ← 0
  Αλλιώς_αν
 kg <= 100 τότε
   pylik ← kg*0.02
  Αλλιώς
   pylik ← 20
  Τέλος_Αν

  telos ← telos – pylik
  stelos ← stelos + telos
  sylik ← sylik + kg
  Εμφάνισε  on, “συνεισφορά”, telos
 Τέλος_επανάληψης
 Εμφάνισε “συνολικό ποσό”, stelos, “τόνοι ανακύκλωσης”, sylik/1000
Τέλος  Ασκ14


Άσκηση Α15   (Απάντηση)

ΠΡΟΓΡΑΜΜΑ fibonacci
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: a, b, c, n, i
ΑΡΧΗ
  ΓΡΑΨΕ ‘n=’
  ΔΙΑΒΑΣΕ n
  a ← 0
  b ← 1
  ΑΝ n < 0 ΤΟΤΕ
    ΓΡΑΨΕ ‘Incorrect input’
  ΑΛΛΙΩΣ_ΑΝ n = 0 ΤΟΤΕ
    ΓΡΑΨΕ ‘0’
  ΑΛΛΙΩΣ_ΑΝ n = 1 ΤΟΤΕ
    ΓΡΑΨΕ ‘1’
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ ‘Fibonacci αριθμοί για n=’, n
    ΓΡΑΨΕ ‘F(1)=0’
    ΓΡΑΨΕ ‘F(2)=1’
    ΓΙΑ i ΑΠΟ 3 ΜΕΧΡΙ n
      c ← a + b
      a ← b
      b ← c
      ΓΡΑΨΕ ‘F(‘, i, ‘)=’, c
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ


 

 

error: το περιεχόμενο προστατεύεται !!