ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΑ ΕΙΔΙΚΟΤΗΤΑΣ ΤΕΤΑΡΤΗ 19/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΠΕΝΤΕ (5) ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1-Σωστό 2-Λάθος 3-Λάθος 4-Σωστό 5-Σωστό Α2. α) και β) σελ. 33 σχολικό εγχειρίδιο Α3. 1 ε 2 γ 3 α 4 β 5 στ Α4. α. x=10 y=3 print x, y x, y=y, x print x, y β. x=10 y=3 if x > y : z=true if x <= y : # ισοδύναμα not(x > y) : z=false print z Α5. (1) i <=200 (2) x > 0 (3) 1 (4) 1 (5) k (6) i-1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ
ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Β Β1. Ενδεικτικός πίνακας τιμών (επισυνάπτεται προαιρετικά) Κύριο πρόγραμμα Συνάρτηση timi_b κ A B C i A B Αρχικές τιμές 0 2 1 η επανάληψη 2 2 2 1 2 6 2 2 η επανάληψη 5 7 7 1 2 6 12 11 12 3 η επανάληψη 8 15 16 4 η επανάληψη 11 26 176 5 η επανάληψη 14 40 2464 Άρα με βάση τον παραπάνω πίνακα τιμών εκτυπώνονται τα ακόλουθα: A B C 40 12 2464 Β2. 1. lexi= Python 2. phrase= is a Language Programming 3. phrase1=lexi + phrase 4. print lexi, phrase, phrase1 5. print len(lexi) 6. y in lexi 7. print phrase1[3] Β3. 1. Ανοίγει το αρχείο output.txt με σκοπό να προσθέσουμε δεδομένα στο τέλος του διατηρώντας τα υπάρχοντα περιεχόμενα και αποδίδουμε το αποτέλεσμα στον περιγραφέα αρχείου fιn. 2. Γράφει με τη βοήθεια του περιγραφέα fin σαν 4 η γραμμή του αρχείου την συμβολοσειρά ΕΠΑΛ Πληροφορική και αλλάζει γραμμή. 3. Γράφει με τη βοήθεια του περιγραφέα fin σαν 5 η γραμμή του αρχείου την συμβολοσειρά 2017. ΤΕΛΟΣ 2ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ
ΑΡΧΗ 3ΗΣ ΣΕΛΙΔΑΣ 4. Κλείνει με τη βοήθεια του περιγραφέα fin το αρχείο output.txt. ΘΕΜΑ Γ (Ενδεικτική Απάντηση) # ΘΕΜΑ_Γ # συνάρτηση taxis def taxis(misthos) : # υπολογισμός κλιμακωτά του ποσού του φόρου if misthos <=1000 : poso=misthos * 0.15 elif misthos <=1400 : poso=1000 * 0.15 + (misthos 1000) * 0.22 poso=1000 * 0.15 + 400 * 0.22 + (misthos 1400) * 0.35 return poso # τέλος συνάρτησης taxis # κύριο πρόγραμμα sum=0 sum2=0 # εισαγωγή δεδομένων για κάθε υπάλληλο for employee in range (50) : name=raw_input( Δώστε το ονοματεπώνυμο του υπαλλήλου: ) salary=float(input( Δώστε τις μηνιαίες αποδοχές του: )) # έλεγχος εγκυρότητας των μηνιαίων αποδοχών while salary <800 or salary > 2000 : print Λάθος τιμή για τις αποδοχές. Προσπαθήστε ξανά salary=float(input( Δώστε ξανά τις μηνιαίες αποδοχές του: )) # κλήση συνάρτησης υπολογισμού του φόρου foros=taxis(salary) # υπολογισμός καθαρών αποδοχών net_salary.= salary foros # συνολικό ποσό καθαρών αποδοχών των υπαλλήλων sum2=sum2 + net_salary. # εμφάνιση αποτελεσμάτων print ονοματεπώνυμο υπαλλήλου:, name print μηνιαίες αποδοχές:, salary print φόρος που αναλογεί:, foros print καθαρές μηνιαίες αποδοχές:, net_salary. # συνολικός φόρων όλων των υπαλλήλων sum=sum + foros #υπολογισμός και εμφάνιση μέσου φόρου υπαλλήλων average_foros=float(sum / 50) print μέσος φόρος υπαλλήλων:, average_foros # εμφάνιση συνολικών καθαρών αποδοχών των υπαλλήλων print συνολικό ποσό καθαρών αποδοχών υπαλλήλων:, sum2 ΤΕΛΟΣ 3ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ
ΑΡΧΗ 4ΗΣ ΣΕΛΙΔΑΣ Παρατηρήσεις: 1) Tα ονόματα των μεταβλητών είναι ενδεικτικά. 2) Tα σχόλια είναι προαιρετικά και τοποθετηθήκαν σε διευκόλυνση του αναγνώστη ΘΕΜΑ Δ (Ενδεικτική Απάντηση) # ΘΕΜΑ_Δ #αρχικοποίηση των λιστών onoma=[] epidosi=[] # εισαγωγή δεδομένων στις δύο λίστες for i in range(12) : name=raw_input( Δώστε το ονοματεπώνυμο του αθλητή: ) onoma.append(name) epi=float(input( Δώστε την επίδοση του σε μέτρα: )) epidosi.append(ep) # ταξινόμηση σε φθίνουσα σειρά της λίστας των επιδόσεων for i in range(1, 12, 1) : for j in range(11, i -1, -1) : if epidosi[j-1] < epidosi[j] : epidosi[j-1], epidosi[j]= epidosi[j], epidosi[j-1] # ταυτόχρονη αντιμετάθεση των ονοματεπωνύμων onoma[j-1], onoma[j]= onoma[j], onoma[j-1] # εμφάνιση των τριών νικητών for i in range (3) : print onoma[i], epidosi[i] # εισαγωγή τιμής αναζήτησης wr=float(input( Δώστε το παγκόσμιο ρεκόρ του αθλήματος: )) # δυαδική αναζήτηση position=0 found=false first=0 last=12 while ( first < = last) and (not (found)) : mid=(first + last) / 2 if epidosi[mid] == wr : position=mid found=true elif epidosi[mid] < wr : first=mid +1 last=mid -1 # εμφάνιση μηνύματος ανάλογα με το αποτέλεσμα της αναζήτησης if fund == True : print Ο αθλητής:, onoma[position], ισοφάρισε το παγκόσμιο ρεκόρ print Δεν ισοφαρίστηκε το παγκόσμιο ρεκόρ ΤΕΛΟΣ 4ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ
ΑΡΧΗ 5ΗΣ ΣΕΛΙΔΑΣ Παρατηρήσεις: 1) Tα ονόματα των μεταβλητών στον αλγόριθμο της ταξινόμησης και της αναζήτησης είναι ενδεικτικά. 2) Tα σχόλια είναι προαιρετικά και τοποθετηθήκαν σε διευκόλυνση του αναγνώστη. ΤΕΛΟΣ 5ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ