ΕΠΑΛ Προγραμματισμός με Python, Διαγώνισμα Πανελλαδικών 15-6-2020

Θέμα – Α     (25 μονάδες)

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

  1. Στις εντολές “if” κάποιες εντολές δεν εκτελούνται ποτέ.
  2. Στην Python δεν δηλώνουμε ρητά τους τύπους δεδομένων που χρησιμοποιούμε.
  3. H μέθοδος  a.insert()  εισάγει – παρεμβάλλει ένα αντικείμενο μόνο στο εσωτερικό της λίστας a.
  4. Μπορούμε να προσθέσουμε ή να αφαιρέσουμε χαρακτήρες σε μία συμβολοσειρά.
  5. Η εκτέλεση της συνάρτησης divmod(7, 3)  θα δώσει σαν αποτέλεσμα  (1, 2)

Α2.   Τι θα εμφανίσουν στην οθόνη οι κάτωθι εντολές:      (5 μονάδες)

    1. print len(‘covid19’)             ______________
    2. print pow(8,2)                    ______________
    3. print str(22) + str(33)      ______________
    4. range (3, 15, 4)                   ______________
    5. print 27%7/2                        ______________

Α3.    Να ξαναγράψετε τον κάτωθι κώδικα ισοδύναμα με χρήση for αντί του while.   (6 μονάδες)

x = input(“x=”)
a = 1
s = 0
while
a <= x :
  s = s + a**2
  a = a + 2
print
s

Α4.  Να γράψετε τέσσερις δομές δεδομένων από αυτές που διαθέτει η Python.      (4 μονάδες)

 

Θέμα – Β     (25 μονάδες)

Δίνεται ο κάτωθι κώδικας python:

  1. Τι θα εμφανιστεί στην οθόνη μετά την εκτέλεση του;                     (15 μονάδες)
  2. Να σχεδιάστε το αντίστοιχο διάγραμμα ροής.                                  (10 μονάδες)

y=1
z=5
for a in range(2,8,4):
  x=10*a
  while (y <= 12*a):
    y=y+2*x/4
    x=z+x-1
    print x,y
  y=(x+5)/2
  z=x/z*2
print x,y,z,a

Θέμα – Γ     (25 μονάδες)

Η Cosmote χρεώνει κλιμακωτά τους συνδρομητές της για κάθε τηλεφωνική χρήση σύμφωνα με τον παρακάτω πίνακα:

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

  1. Επαναληπτικά θα διαβάζει το όνομα του συνδρομητή και την διάρκεια των κλήσεων που έκανε (σε δευτερόλεπτα).
    1. Θα υπολογίζει την χρέωση των κλήσεων σύμφωνα με τον ανωτέρω πίνακα. Ο υπολογισμός αυτός να γίνει με τη βοήθεια συνάρτησης που θα  κατασκευάσετε για το σκοπό αυτό.
    2. Η επαναληπτική διαδικασία θα τερματίζεται όταν δοθεί σαν όνομα “END”.
  2. Θα εμφανίζει το όνομα και την συνολική χρέωση του κάθε συνδρομητή.
  3. Θα εμφανίζει το πλήθος των κλήσεων που πραγματοποιήθηκαν από όλους τους συνδρομητές.
  4. Πιο είναι το όνομα του συνδρομητή που είχε την μεγαλύτερη  συνολική χρέωση.

 

Θέμα – Δ     (25 μονάδες)

Η εταιρεία MyMarket με 50 εργαζομένους καταχωρεί τα στοιχεία τους: επίθετο, όνομα, τμήμα και μισθό σε τέσσερις λίστες. Να αναπτύξετε πρόγραμμα το οποίο:

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

Μπάμπης Μπουλής
Master of Science in Computer Engineering


 

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