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

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

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

  1. το 28.2E-5 σημαίνει 28.2 * 105
  2. Η Python παρακολουθεί όλες τις τιμές και τις διαγράφει όταν πάψουν να υπάρχουν μεταβλητές που να αναφέρονται σε αυτές
  3. H μέθοδος  a.append(10)  εισάγει τιμή 10 στην αρχή της λίστας a.
  4. Πολυμορφισμός είναι η διεργασία μέσω της οποίας μια κλάση μπορεί να αποκτήσει – κληρονομήσει τις ιδιότητες και τις μεθόδους μιας άλλης κλάσης.
  5. Το δυαδικό αρχείο περιέχει δεδομένα κωδικοποιημένα τα οποία μπορούν να αναγνωστούν μόνο με ειδικά προγράμματα

Α2.  
α) Γράψτε τον ορισμό για την εμβέλεια των μεταβλητών (3 μον). Αναφέρετε δύο τύπους εμβέλειας (2 μον)       (5 μονάδες)

β) Αντιστοίχισε σωστά τις εντολές της στήλης Α με μία μόνο από τις επιλογές της στήλης Β. Ένα στοιχείο στην στήλη Β περισσεύει. (5 μονάδες)

Α Β
  1. f.tell()
  2. f.seek(2,1)
  3. f.read(5)
  4. f.seek(2,0)
  5. f.seek(-2,2)
  1. μετακίνησε τον δείκτη 2 χαρακτήρες από την τρέχουσα θέση
  2. μετακίνησε τον δείκτη 2 χαρακτήρες από την αρχή
  3. μετακίνησε τον δείκτη 2 χαρακτήρες πριν από το τέλος
  4. κλείσε το αρχείο
  5. διάβασε τους επόμενους 5 χαρακτήρες
  6. τρέχουσα θέση δείκτη ανάγνωσης/εγγραφής ?
  1.  

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

 

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

Β1. Δίνεται το κάτωθι πρόγραμμα. Αν για είσοδο μας δίνονται οι τιμές  5 και 3 τι θα εκτυπωθεί  στην οθόνη.  (10 μονάδες)

def syn1(x):
  f = 1
  for i in range(2, x+1,1):
    f = f*i
    print ‘inside function’,i, f
  return f

i = 1
while i < 4 :
    n=int(input(“n=”))
    print ‘main’, i, n, syn1(n)
    i = i + 3
print “save the whales”

 

Β2. (15 μονάδες)

Δίνεται η κάτωθι κλάση Student

class Student:
   def __init__(self,am,name,grades):
      self.am = am
      self.name = name
      self.grades = grades[:4]

   def ShowStudentData(self):
      __(1)__ 

   def CalculateGPA(self):
      s=0
      __(2)__
      return gpa

babbis = __(3)__
__(4)__
print ‘Grade Point Average:’, __(5)__

Nα συμπληρώσετε σωστά τα ανωτέρω αριθμημένα κενά ώστε:

  1. στο (1) να εμφανίζει τις τιμές των ιδιοτήτων του αντικειμένου. (3 μον)
  2. στο (2) να υπολογίζει τον μέσο όρο βαθμολογίας του μαθητή στα 4 μαθήματα. (4 μον)
  3. στο (3) να δημιουργεί αντικείμενο (babbis) της κλάσης Student με αριθμό μητρώου 5199, όνομα “babbis boulis” και βαθμούς [15,17,18,19]. (3 μον)
  4. στο (4) να εμφανίζει τα στοιχεία του μαθητή με χρήση της αντίστοιχης μεθόδου. (2 μον)
  5. στο (5) με χρήση της κατάλληλης μεθόδου να υπολογίζει και να εμφανίζει το μέσο όρο βαθμολογίας του babbis. (3 μον)

 

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

Στο μαιευτήριο ΙΑΣΩ κατέγραψαν τα στοιχεία γεννήσεων του 2021 ώστε να μπορέσουν να κάνουν καλύτερο προγραμματισμό το νέο έτος. Έτσι λοιπόν σας ζητήθηκε να γράψετε ένα πρόγραμμα σε γλώσσα προγραμματισμού Python το οποίο:

Για κάθε μέρα από τις 365 ημέρες του 2021 να κάνει τα εξής:

Γ1. Για κάθε παιδί που γεννήθηκε εκείνη τη μέρα να ζητάει και να διαβάζει το φύλο του (Α ή Κ), το επώνυμο της μητέρας, το βάρος του(θετικό) και το ύψος του (θετικό). Να γίνουν οι έλεγχοι ορθότητας. (6 μον)

Γ2. Να εμφανίζει το επώνυμο της μητέρας που γέννησε το παιδί με το μεγαλύτερο βάρος εκείνη την ημέρα. (3 μον)

Γ3. Η εισαγωγή των στοιχειών θα τερματίζει όταν δοθεί σαν επώνυμο μητέρας η λέξη «TELOS». (3 μον)

Γ4. Να εμφανίζει ποια μέρα γεννήθηκαν μόνο κορίτσια. Αν δεν υπήρξε τέτοια μέρα, να εμφανίζει κατάλληλο μήνυμα. (6 μον)

Τελικά το πρόγραμμα θα πρέπει:

Γ5. Να εμφανίζει το μέσο βάρος και μέσο ύψος για όλα τα παιδιά της χρονιάς 2021. (4 μον)

Γ6. Να εμφανίζει το επώνυμο της μητέρας που γέννησε το πρώτο μωρό του 2021. (3 μον)

 

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

Η εταιρεία “duffy” καταγράφει για έναν χρόνο τα μηνιαία έσοδά της σε σε μία λίστα eso και αντίστοιχα τα έξοδά της σε  λίστα exo. Επίσης σε λίστα mhnes καταχωρούμε τα ονόματα των μηνών του έτους. Να γράψετε πρόγραμμα το οποίο:

  1. Θα αρχικοποιεί την λίστα mhnes με τους 12 μήνες και θα διαβάζει τα στοιχεία για τους eso και exo.
  2. Θα βρίσκει και θα τυπώνει τον μήνα που είχε τα περισσότερα έξοδα (υπάρχει μόνο ένας) η duffy.
  3. Θα ζητάει έναν μήνα, θα τον αναζητεί στους mhnes και για αυτόν τον μήνα να επιστρέφει τα έσοδα της duffy.
  4. Θα ελέγχει αν η χρονιά ήταν κερδοφόρα (σύνολο εσόδων > σύνολο εξόδων) ή όχι και να εμφανίζει κατάλληλο μήνυμα.
  5. Να ταξινομεί σε φθίνουσα σειρά ως προς τα έξοδα και αν είναι ίσα να ταξινομεί ως προς τους μήνες αλφαβητικά. Να εκτυπώνει μήνες και έξοδα ανά μήνα.

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


 

Σχολιάστε

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

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