ΓΕΛ ΑΕΠΠ Διαγώνισμα Πανελλαδικών 17-06-2021

ΑΕΠΠ Διαγώνισμα Πανελλαδικών

Θέμα-Α     (40 μονάδες)                                                      

Α1.     Να γράψετε στο τετράδιο σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις και δίπλα (Σ) αν είναι σωστή, ή (Λ), αν είναι λανθασμένη.           (10 μονάδες)

  1. Η έκφραση  Αληθής > Ψευδής είναι αποδεκτή στην ΓΛΩΣΣΑ
  2. Μία εντολή ΕΠΙΛΕΞΕ μπορεί να περιέχει εμφωλευμένα άλλες εντολές ΕΠΙΛΕΞΕ.
  3. Οι στοίβες εφαρμόζουν την τεχνική FIFO και οι ουρές την τεχνική LIFO
  4. Τυπικό είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μία λέξη είναι αποδεκτή
  5. Η μη δήλωση μεταβλητής είναι λογικό λάθος.

Α2.   Να αποδώσετε αλγοριθμικά κάθε μία από τις κάτωθι προτάσεις:          (6 μονάδες)

  1. Γράψτε μία έκφραση η οποία θα ελέγχει αν το δεύτερο ψηφίο ενός ακέραιου τετραψήφιου αριθμού Α είναι ίσο με το τρίτο ψηφίο του ίδιου αριθμού.
  2. Γράψτε την έκφραση που ελέγχει αν ο αριθμός Α είναι πραγματικός.
  3. Γράψε μία εντολή εκχώρησης για την πρόταση “Αν |x| + y3  είναι ίσο με 10 τότε το z να παίρνει την τιμή Αληθής αλλιώς το z να παίρνει την τιμή Ψευδής”.

Α3. (10 μονάδες)

  1. Να αναφέρετε δύο συντακτικά λάθη. (2 μονάδες)
  2. Να αναφέρετε δύο λογικά λάθη. (2 μονάδες)
  3. Να αναφέρετε δύο λάθη που μπορεί να συμβούν κατά την εκτέλεση του προγράμματος. (2 μονάδες) 
  4. Τι είναι η στοίβα χρόνου εκτέλεσης.  (4 μονάδες)

Α4.(Δίνεται το κάτωθι τμήμα προγράμματος. Για ποιες τιμές του x θα εμφανιστεί στην οθόνη “Cat”.      (4 μονάδες)

Διάβασε x
Αν x mod 2 = 0 τότε
 Αν x div 2 = 4 Τότε
  Γράψε “Aligator”
 Αλλιώς
  Γράψε “Beetle”
 Τέλος_αν
Αλλιώς
  x div 2 = 4 Τότε
  Γράψε “Cat”
 Αλλιώς
  Γράψε “Dog”
 Τέλος_αν
Τέλος_αν

Α4.(Να μετατρέψετε το κάτωθι αδόμητο τμήμα αλγορίθμου και να το ξαναγράψετε σύμφωνα με τις αρχές του δομημένου προγραμματισμού.           (5 μονάδες)

Διάβασε x, y
2:Αν
 x > 0 τότε

a = x+y
Αν y > 0 τότε
b = x – y

y = x
Πήγαινε στο 5
Τέλος_αν
x = a + b

5: Τύπωσε a, b
Διάβασε x, y
Πήγαινε στο 2
Τέλος_αν
Τύπωσε
a, b, x, y

Α5.  Δίνεται το ακόλουθο τμήμα κώδικα:                      (5 μονάδες)

Διάβασε x
y ← 1
Αρχή_επανάληψης
 Γράψε y
 y  ← y+2
Μέχρις_ότου y>x

Να ξαναγραφτεί ισοδύναμα με την εντολή «Όσο…Επανάλαβε»                           

 

Θέμα-Β   (20 μονάδες)                                                          

Β1.    Να ξαναγράψετε τον κάτωθι κώδικα χωρίς την χρήση υποπρογραμμάτων.           (10 μονάδες)

ΠΡΟΓΡΑΜΜΑ Κύριο
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: α,β,γ,δ,ε
ΑΡΧΗ
  ΔΙΑΒΑΣΕ α
  β ← 0
  ΓΙΑ γ ΑΠΟ 1 ΜΕΧΡΙΜΕ ΒΗΜΑ 2
    ΚΑΛΕΣΕ Διαδ (α, β, γ, δ)
    β ← β + 3
    ΓΡΑΨΕ α, β, δ
    ε ← Συν(α, β)
    ΓΡΑΨΕ ε
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
! – – – – – – – – – – – – – – 
ΔΙΑΔΙΚΑΣΙΑ Διαδ(x, y, z, w)
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x,y,z,w
ΑΡΧΗ
  z ← (x + y ) mod 2
  w ← x * y
  x ← x + z – 1
ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ
! – – – – – – – – – – – – – – 
ΣΥΝΑΡΤΗΣΗ Συν(x, y): ΑΚΕΡΑΙΑ
ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: x,y
ΑΡΧΗ
  Συν1 ← (x + y^2) div 5
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Β2.   Να μετατρέψετε τον παρακάτω κώδικα με χρήση μόνο εντολών ΕΠΙΛΕΞΕ ώστε να εκτελεί ακριβώς τις ίδιες λειτουργίες.
         (10 μονάδες)

ΔΙΑΒΑΣΕ a
ΑΝ a div 3 = 0 ΤΟΤΕ
 b ← a+3

 ΑΝ (b > 10) ΤΟΤΕ
  a ← 2*a+1

 ΑΛΛΙΩΣ
  a ← 2*a-1

 ΤΕΛΟΣ_ΑΝ
ΑΛΛΙΩΣ_ΑΝ a div 3 = 1 ΤΟΤΕ
 b ← a-3
ΑΛΛΙΩΣ
 b ← a
ΤΕΛΟΣ_ΑΝ
ΓΡΑΨΕ
a, b

 

Θέμα-Γ   (20 μονάδες)                                                         

Στους αγώνες σκαφών ανοικτής θαλάσσης, για την απόσταση Αλιβέρι – Ωρωπός, συμμετείχαν 100 διαγωνιζόμενοι με ο σκάφος τους. Στα σκάφη είχαμε δύο κατηγορίες R1, R2 ανάλογα με το μήκος τους. Στους αγωνιζόμενους ήταν και ο περσινός πρωταθλητής  Nick Pappas με αριθμό συμμετοχής 77.

Να γραφεί πρόγραμμα το οποίο:

  1. Για κάθε σκάφος θα διαβάζει  το όνομα του διαγωνιζόμενου,  την κατηγορία του σκάφους, τον μοναδικό αριθμό συμμετοχής του και τον χρόνο που κάλυψε την απόσταση σε λεπτά. Να γίνει έλεγχος ορθότητας για την κατηγορία.
  2. Να βρίσκει και να τυπώνει το όνομα του πρώτου νικητή και τον χρόνο του, ανεξαρτήτως κατηγορίας.
  3. Να βρίσκει και να τυπώνει το όνομα του νικητή και τον χρόνο του, για κάθε μία από τις δύο κατηγορίες.
  4. Να ελέγξετε αν ο Νick Pappas τερμάτισε στις δύο πρώτες πρώτες θέσεις της γενικής κατάταξης και να εκτυπώσετε κατάλληλο μήνυμα.
  5. Σε ποια κατηγορία είχαμε την μεγαλύτερη συμμετοχή στους αγώνες.

Σημείωση
 Για την επίλυση να μην γίνει χρήση πινάκων. Θεωρείστε ότι συμμετείχαν τουλάχιστον 2 σκάφη από κάθε κατηγορία. Δεν υπάρχουν ισοψηφίες στους χρόνους.

 

Θέμα-Δ   (20 μονάδες)                                                         

Το Εθνικό Σεισμολογικό Ινστιτούτο κατέγραψε για διάρκεια ενός χρόνου, την σεισμική δραστηριότητα για 52 πόλεις της Ελλάδας.

Να γράψετε πρόγραμμα το οποίο:

Δ1   Θα καταγράφει σε έναν μονοδιάστατο πίνακα Π τα ονόματα πόλεων της Ελλάδας και σε πίνακα Ρ την σεισμική δραστηριότητα, σε κλίμακα Ρίχτερ 1 έως 10, των πόλεων αυτών στην διάρκεια των 360 ημερών. Να γίνει έλεγχος ορθότητας για τα Ρίχτερ.

Δ2    Θα εκτυπώνει το όνομα της πόλης με την μεγαλύτερη μέση δραστηριότητα. Θεωρείστε ότι είναι μοναδική.

Δ3    Θα διαβάζει μία πόλη και αν αυτή υπάρχει στον πίνακα Π να επιστρέφει ποια μέρα αυτή η πόλη είχε την υψηλότερη δραστηριότητα.

Δ4    Να διαβάζει μία ημέρα και να βρίσκει για την συγκεκριμένη μέρα την χαμηλότερη και την υψηλότερη σεισμικής δραστηριότητα ανάμεσα σε όλες τις πόλεις.

Δ5    Να εκτυπώνει σε φθίνουσα σειρά ως προς την μέση σεισμική δραστηριότητα τις πόλεις που είναι πάνω από το κρίσιμο όριο των 4.5 Ρίχτερ και αν έχουν την ίδια τιμή να τις ταξινομεί αλφαβητικά ως προς το όνομα της πόλης. Αν δεν υπάρχουν τέτοιες πόλεις να τυπώνει κατάλληλο μήνυμα.

Καλή Επιτυχία
Μπάμπης Μπουλής

Master of Science in Computer Engineering

Σχολιάστε

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.

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