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

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

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

  1. H επανάληψη  while x < x + 1 :  δεν θα εκτελεστεί καθόλου.
  2. Η εντολή f.seek(3, 0) θα μετακινήσει τον δείκτη 3 – χαρακτήρες από το τέλος του αρχείου f.
  3. Το αποτέλεσμα της έκφρασης 2+3*5 /6 % 2 == 2 είναι True.
  4. Η δυαδική αναζήτηση εφαρμόζεται μόνο σε ταξινομημένες λίστες.
  5. Στις εντολές “if” πάντα θα εκτελείται τουλάχιστον μία εντολή.

Α2.   Να γράψετε σε Python τις κάτωθι προτάσεις:          (10 μονάδες)

  1. Αν η τάξη(taxi) είναι “A” και ο βαθμός(vath) μεγαλύτερος του 9.5 τότε να τυπώνει “πρωτάκι οκ”
  2. Αν ο βαθμός(vath) υπερβαίνει τον μέσο όρο(mo) τουλάχιστον κατά 4 να τον απομειώνει κατά 2.
  3. Αν η απάντηση(ap) δεν είναι “Υ” ή “Ν” να εκτυπώνει “ΛΑΘΟΣ ΑΠΑΝΤΗΣΗ”
  4. Προσαύξησε την τιμή του x κατά το τριπλάσιο του κατά 2 μειωμένου y.
  5. Να διαβάζεις επαναληπτικά έναν αριθμό x μέχρις ότου το  1≤x≤100.

Α3.    Συμπληρώστε τα κενά στον κάτωθι πίνακα, με τις τιμές που παίρνει η μεταβλητή x μετά την εκτέλεση των εκχωρήσεων, καθώς και τον τύπο της.           (6 μονάδες)

  εκχώρηση τιμή(ές) της x στην μνήμη τύπος x
πχ// x = 11*2 % 7 1 int
α) x = 3+5*3/2.0    
β) x=len(“aygo”)==len(“koko”)    
γ) x = “45.67”    
δ) x = 2*pow(2,3)     
ε) x = divmod(7,3)    
ζ) x=str(12.25)    

Α4.   Να γράψετε τέσσερις βασικούς τύπους δεδομένων που υποστηρίζει η PYTHON  καθώς και από μία τιμή για κάθε έναν τύπο από τους τέσσερις.      (4 μονάδες)


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

Β1.   Μετά την εκτέλεση του παρακάτω τμήματος προγράμματος τι θα εμφανιστεί στην οθόνη;    (12 μονάδες)      

def afunc1(a, b):
     a = b/2
     b = a ** 2
     print a, b
     return a+b

x = 4
y = 7
z = 5
print x, y, z
x=afunc1(x,y)
y=afunc1(y,z)
z=afunc1(z,x)
print x, y, z

Β2.   Να δημιουργήσετε μια κλάση με όνομα soccerPlayer που θα έχει τις ιδιότητες:
name(όνομα), team(ομάδα που παίζει), position(θέση που παίζει), fouls(που έχει κάνει), goals(που έχει βάλει)
και τις μεθόδους :
scores(γκολ που σκοράρει)
makesfoul(φάουλ που κάνει).
Στην συνέχεια να δημιουργήσετε δύο παίκτες αντικείμενα(στιγμιότυπα) αυτής της κλάσης:
player1 με αρχικές τιμές “messi”, “barcelona”, “forward”, 0, 45

player2 με αρχικές τιμές “ramos”, “real”, “defence”, 10, 0

Nα υλοποιήσετε με κώδικα την ακόλουθη περιγραφή του αγώνα:

ο player1 σκόραρε 2 γκολ
ο player2 έχει κάνει 3 φάουλ
ο player1 κάνει φάουλ
ο player2 σκοράρει γκολ
ο player2 κάνει φάουλ
ο player1 σκοράρει

Μετά να εκτυπώσετε τα γκολ και τα φάουλ του κάθε παίχτη.      (13 μονάδες)


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

Ο Γιώργος επισκέπτεται στο διαδίκτυο το e-shop “COINS” που πουλάει παλιά νομίσματα και διαθέτει για αγορές  μέχρι 700 ευρώ. Να αναπτύξετε πρόγραμμα Python το οποίο:

  1. Για κάθε νόμισμα, να διαβάζει την τιμή και την προέλευσή του (ΕΛΛ ή ΞΕΝΟ), με έλεγχο εγκυρότητας, και να επιτρέπει την αγορά, εφόσον η τιμή του δεν υπερβαίνει το διαθέσιμο υπόλοιπο των χρημάτων του, αλλιώς να τερματίζει τυπώνοντας το μήνυμα «ΤΕΛΟΣ». (Μονάδες 12)
  2. Να τυπώνει:
    1. Το συνολικό ποσό που ξόδεψε ο Γιώργος.  (Μονάδες 3)
    2. Το πλήθος των ελληνικών και το πλήθος των ξένων νομισμάτων που αγόρασε. (Μονάδες 5)
    3. Το ποσό που περίσσεψε, αν όχι το μήνυμα “ΜΗΔΕΝ”. (Μονάδες 5 )

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

Τα 50 ονόματα των μαθητών της Γ’ τάξης  βρίσκονται αποθηκευμένα, ένα όνομα ανά γραμμή, στο αρχείο “students.txt” στον τρέχοντα φάκελο.

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

Δ1. Θα διαβάζει τα ονόματα από το αρχείο “students.txt” και θα τα τοποθετεί στην λίστα on.  (μονάδες 4)

Δ2. Θα διαβάζει από το πληκτρολόγιο τους βαθμούς του κάθε μαθητή στην κλίμακα 0-20 με έλεγχο ορθότητας και θα τους τοποθετεί στην λίστα vath(μονάδες 3)

Δ3. Να τυπώνει τα ονόματα των μαθητών με τον χαμηλότερο βαθμό.  (μονάδες 4)

Δ4. Να διαβάζει το όνομα ενός μαθητή και αν αυτός υπάρχει στην λίστα ονομάτων να τυπώνει τον βαθμό του. Αν δεν υπάρχει να τυπώνει κατάλληλο μήνυμα.  (μονάδες 5)

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

Δ6. Να κατασκευάσετε συνάρτηση με όνομα taxinomisi που θα δέχεται δύο λίστες a και b και θα τις ταξινομεί σε φθίνουσα σειρά ως προς την b και αν 2 στοιχεία της b είναι ίσα τότε να λαμβάνει υπόψη τα αντίστοιχα στοιχεία της λίστας a σε αύξουσα σειρά.  (μονάδες 5)

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


 

Σχολιάστε

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

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