Ανάπτυξη εφαρμογών σε Προγραμματιστικό Περιβάλλον (ΑΕΠΠ)

Κριτήριο Αξιολόγησης - Δομές Επανάληψης 2

Θεωρία και προβλήματα στη δομή επανάληψης

 

Ερώτηση 1 (Σωστό / Λάθος — 2 βαθμοί) 

Ο έλεγχος ορθότητας καταχώρησης δεδομένων μπορεί να επιτευχθεί και με τη δομή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ

Ερώτηση 2 (Σωστό / Λάθος — 2 βαθμοί) 

Στη δομή ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ το βήμα πρέπει να είναι θετικός αριθμός

Ερώτηση 3 (Σωστό / Λάθος — 2 βαθμοί) 

Στη δομή ΓΙΑ...ΑΠΟ..ΜΕΧΡΙ, όταν η αρχική τιμή είναι μεγαλύτερη από την τελική , τότε το βήμα μπορεί να παραληφθεί.

Ερώτηση 4 (Σωστό / Λάθος — 2 βαθμοί) 

Ο έλεγχος εγκυρότητας μπορεί να οδηγήσει σε επαναληπτική είσοδο των δεδομένων του αλγορίθμου.

Ερώτηση 5 (Σωστό / Λάθος — 2 βαθμοί) 

Στη συνθήκη ελέγχου του ΟΣΟ...ΕΠΑΝΑΛΑΒΕ δεν μπορεί να περιλαμβάνονται μεταβολές του αθροιστή και μετρητή ταυτόχρονα.

Ερώτηση 6 (Ελεύθερου Κειμένου — 6 βαθμοί) 

Να παρουσιάσετε ένα βρόγχο που θα παραβιάζει το αλγοριμικό κριτήριο της περατότητας με χρήση:

α. της δομής ΓΙΑ...ΑΠΟ...ΜΕΧΡΙ

β. της δομής ΟΣΟ...ΕΠΑΝΑΛΑΒΕ

γ. της δομής ΜΕΧΡΙΣ_ΟΤΟΥ

Ερώτηση 7 (Πολλαπλής Επιλογής (Πολλαπλές Απαντήσεις) — 6 βαθμοί) 

Ποια από τα παρακάτω τμήματα προγράμματος ελέγχουν την εγκυρότητα εισόδου μιας τιμής στο διάστημα (0,20].

α.

ΔΙΑΒΑΣΕ Α
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ Α>0 ΚΑΙ Α<=20

β.

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ Α>0 ΚΑΙ Α<=20

γ.

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ Α>0 Η Α<=20

δ.

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α
ΜΕΧΡΙΣ_ΟΤΟΥ ΟΧΙ(Α<=0 ΚΑΙ Α>20)

ε.

ΔΙΑΒΑΣΕ Α
ΟΣΟ ΟΧΙ(Α>0 ΚΑΙ Α<=20) ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ Α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 

στ.

ΔΙΑΒΑΣΕ Α
ΟΣΟ Α>0 ΚΑΙ Α<=20 ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ Α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 

ζ.

ΔΙΑΒΑΣΕ Α
ΟΣΟ Α>0 Η Α<=20 ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ Α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 

η.

ΔΙΑΒΑΣΕ Α
ΟΣΟ Α<=0 Η Α>20 ΕΠΑΝΑΛΑΒΕ
ΔΙΑΒΑΣΕ Α
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

 

 

Ερώτηση 8 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 3 βαθμοί) 

Δίνεται το παρακάτω τμήμα αλγορίθμου

ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ

  ΔΙΑΒΑΣΕ Α

ΜΕΧΡΙΣ_ΟΤΟΥ συνθήκη

 

Να συμπληρώσετε τη συνθήκη ώστε να γίνεται έλεγχος αν η τιμή που εισάγεται είναι:

α. θετικός διψήφιος

β. κάποιο από τα 'ΝΑΙ', 'ΟΧΙ', 'ΔΕΝ ΞΕΡΩ'

Γ. περιττός αριθμός ή μηδέν.

α. ΜΕΧΡΙΣ_ΟΤΟΥ | β. ΜΕΧΡΙΣ_ΟΤΟΥ |γ. ΜΕΧΡΙΣ_ΟΤΟΥ Α=0

Ερώτηση 9 (Ελεύθερου Κειμένου — 3 βαθμοί) 

Το παρακάτω τμήμα προγράμματος αναπτύχθηκε ώστε να διαβάζει 100 αριθμούς και να εμφανίζει το γινόμενό τους. Επιτελεί το σκοπό αυτό ή υπάρχει κάποιο λάθος; Αν ναι, να το περιγράψετε.

ΓΙΝΟΜΕΝΟ <- 0

ΓΙΑ ΑΡΙΘΜΟΙ ΑΠΟ 1 ΜΕΧΡΙ 100

  ΔΙΑΒΑΣΕ Α

  ΓΙΝΟΜΕΝΟ <- ΓΙΝΟΜΕΝΟ*Α

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΓΡΑΨΕ ΓΙΝΟΜΕΝΟ

Ερώτηση 10 (Ελεύθερου Κειμένου — 10 βαθμοί) 

Έστω το παρακάτω πρόγραμμα, το οποίο περιέχει λάθη:

ΠΡΟΓΡΑΜΜΑ ΕΠΕΞΕΡΓΑΣΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: _ _ _(1) _ _
  ΠΡΑΓΜΑΤΙΚΕΣ: Α, _ _(2) _ _
ΑΡΧΗ
  Σ <- 0
  ΟΛΟΙ <- 0
  ΔΙΑΒΑΣΕ Α
  ΟΣΟ Α > 0 ΕΠΑΝΑΛΑΒΕ
    Σ <- Σ + Α
    ΟΛΟΙ <- ΟΛΟΙ + 1
    ΑΝ Α mod 2 = 1 ΤΟΤΕ
      ΠΕΡΙΤΤΟΙ <- ΠΕΡΙΤΤΟΙ + 1
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ ΟΛΟΙ<>0 ΤΟΤΕ
     ΓΡΑΨΕ Σ/ΟΛΟΙ
  ΤΕΛΟΣ_ΑΝ
  ΠΟΣΟΣΤΟ <- 100*ΠΕΡΙΤΤΟΙ/ΟΛΟΙ
  ΓΡΑΨΕ ΠΟΣΟΣΤΟ
ΤΕΛΟΣ ΕΠΕΞΕΡΓΑΣΙΑ

α. Να συμπληρώσετε το τμήμα δηλώσεων

β. Να εντοπίσετε τα λάθη που υπάρχουν.

γ. Ποια η εκφώνηση του προβλήματος που επιλύει το πρόγραμμα αυτό;

Ερώτηση 11 (Συμπλήρωση Κενών (Χαλαρή Ταυτοποίηση) — 20 βαθμοί) 

Δίνεται το επόμενο πρόγραμμα

ΠΡΟΓΡΑΜΜΑ ΕΝΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: __(1)_
  ΠΡΑΓΜΑΤΙΚΕΣ: __(2)__
  ΧΑΡΑΚΤΗΡΕΣ: __(3)___
ΑΡΧΗ
  Σ1 <- 0
  Σ2 <- 0
  Π <- 0
  Κ <- 0
  Μ <- -1
  ΔΙΑΒΑΣΕ ΟΝΟΜΑ
  ΟΣΟ ΟΝΟΜΑ <> 'ΤΕΛΟΣ' ΕΠΑΝΑΛΑΒΕ
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΕΞΕΤΑΣΗ
    ΜΕΧΡΙΣ_ΟΤΟΥ ΕΞΕΤΑΣΗ = 'ΠΡΟΦΟΡΙΚΗ' Η ΕΞΕΤΑΣΗ = 'ΓΡΑΠΤΗ'
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      ΔΙΑΒΑΣΕ ΒΑΘΜΟΣ
    ΜΕΧΡΙΣ_ΟΤΟΥ ΒΑΘΜΟΣ >= 0 ΚΑΙ ΒΑΘΜΟΣ <= 10
    Π <- Π + 1
    ΑΝ ΕΞΕΤΑΣΗ = 'ΠΡΟΦΟΡΙΚΗ' ΤΟΤΕ
      Κ <- Κ + 1
      ΑΝ ΒΑΘΜΟΣ > Μ ΤΟΤΕ
        Μ <- ΒΑΘΜΟΣ
        ΜΟΝ <- ΟΝΟΜΑ
      ΤΕΛΟΣ_ΑΝ
    ΑΛΛΙΩΣ
      Σ2 <- Σ2 + ΒΑΘΜΟΣ
    ΤΕΛΟΣ_ΑΝ
    Σ1 <- Σ1 + ΒΑΘΜΟΣ
    ΔΙΑΒΑΣΕ ΟΝΟΜΑ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΑΝ Π <> 0 ΤΟΤΕ
    Θ <- Κ/Π*100
    ΓΡΑΨΕ Θ
  ΤΕΛΟΣ_ΑΝ
  ΑΝ Κ <> 0 ΤΟΤΕ       
    ΓΡΑΨΕ ΜΟΝ          
  ΤΕΛΟΣ_ΑΝ
  ΑΝ Π <> 0 ΤΟΤΕ
    ΓΡΑΨΕ Σ1/Π        !ΣΗΜΕΙΟ 1
  ΤΕΛΟΣ_ΑΝ
  ΓΡΑΨΕ Σ2/(Π - Κ)    !ΣΗΜΕΙΟ 2
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

Αφού μελετήσετε το πρόγραμμα να απαντήστε στα παρακάτω ερωτήματα

 

α. | Συμπληρώστε τις μεταβλητές στον πίνακα δηλώσεων(αλφαβητική σειρά): |1. 2. 3. | β. Υπάρχει περίπτωση η δομή ΟΣΟ να μην εκτελέσει καμιά επανάληψη; | γ. Ο μετρητής , μετράει όλους τους φοιτητές (και τις επαναλήψεις). | Ο μετρητής μετράει τους φοιτητές που εξετάστηκαν μόνο προφορικά. | δ. Η μεταβλητή περιέχει το ποσοστό των φοιτητών που εξετάστηκαν προφορικά (επί του συνόλου). | ε. η μεταβλητή περιέχει το όνομα του φοιτητή με το βαθμό που εξετάστηκε προφορικά. Αν το κ =, κανείς φοιτητής δεν εξετάστηκε προφορικά και η μεταβλητή mon δεν έχει . | στ. Στο ΣΗΜΕΙΟ_1 εμφανίζεται ο βαθμολογίας των φοιτητών | ζ. Στο ΣΗΜΕΙΟ_2 εμφανίζει το μέσο όρο όσων εξετάστηκαν . Αν σημαίνει πως κανείς δεν εξετάστηκε γραπτά και όλοι εξετάστηκαν προφορικά. Συνεπώς παραβιάζεται η καθοριστικότητα, αφού ο παρονομαστής είναι. Πρέπει να προστεθεί αντίστοιχη δομή επιλογής. | η. Αν επιθυμούσαμε συμπληρωματικά στη υπάρχουσα συνθήκη συνέχειας της δομής ΟΣΟ..ΕΠΑΝΑΛΑΒΕ να εκτελεστούν το πολύ 100 επαναλήψεις τότε η συνθήκη θα είχε τη μορφή - Όσο όνομα <> "τέλος" και επανάλαβε

Ερώτηση 12 (Ελεύθερου Κειμένου — 20 βαθμοί) 

Να γραφεί πρόγραμμα σε γλώσσα που επιλύει το παρακάτω πρόβλημα.

Το εισιτήριο εισόδου στ νέο αρχαιολογικό μουσείο είναι 8 ? για άτομα έως 25 ετών και 10 ? για τους υπόλοιπους. Έχει προβλεφθεί έκπτωση 20% σε επισκέπτες ειδικών κατηγοριών, όπως φοιτητές, εκπαιδευτικούς, πολύτεκνους. Η έκπτωση υπολογίζεται με βάση τις παραπάνω τιμές που αφορούν στην ηλικία του επισκέπτη.

Να αναπτύξετε πρόγραμμα το οποίο θα διαβάζει την ηλικία ενός επισκέπτη του μουσείου καθώς και αν ανήκει σε ειδική κατηγορία ή όχι και θα εμφανίζει το κόστος του εισιτηρίου του. Η παραπάνω διαδικασία θα ολοκληρώνεται μόλις δοθεί ως ηλικία η τιμή μηδέν(0). Σε εκείνο το σημείο πρέπει να εμφανίζονται οι ημερήσιες εισπράξεις του μουσείου καθώς και το σύνολο των επισκεπτών.

Ερώτηση 13 (Ελεύθερου Κειμένου — 20 βαθμοί) 

Να γραφεί πρόγραμμα σε γλώσσα που επιλύει το παρακάτω πρόβλημα.

Η υπηρεσία ταχυδρομείων έχει χωρίσει μια περιοχή ευθύνης σε 3 μεγάλες ζώνες για την καλύτερη οργάνωση διακίνησης της αλληλογραφίας. Όλα τα γράμματα μοιράζονται στις τρεις ζώνες και στη συνέχεια καλούνται οι ταχυδρόμοι κάθε ζώνης να τα διανείμουν στον προορισμό τους. Όμως κάθε ταχυδρόμος μπορεί να μοιράσει το πολύ 50 γράμματα. Έτσι, αν για μια ζώνη υπάρχουν 4 γράμματα, θα χρειαστεί 1 ταχυδρόμος, αν υπάρχουν 63 γράμματα θα χρειαστούν 2 ταχυδρόμοι, ενώ αν υπάρχουν 124 γράμματα, θα χρειαστούν 3 ταχυδρόμοι. Να γραφεί πρόγραμμα το οποίο:

α. θα διαβάζει για κάθε γράμμα που εισέρχεται τη ζώνη που αντιστοιχεί ('Α','Β','Γ' μέχρι να δοθεί ως ζώνη το κενό.

β. θα υπολογίζει πόσα γράμματα πρέπει να διαμοιραστούν σε κάθε ζώνη.

γ. θα υπολογίζει και θα εμφανίζει πόσοι ταχυδρόμοι χρειάζονται συνολικά τη μέρα αυτή.