Professional Documents
Culture Documents
ΘΔΜΑ Α
Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας στο τετράδιό σας, δίπλα στο
γράμμα που αντιστοιχεί σε κάθε πρόταση τη λέξη Σωστό, αν η πρόταση είναι σωστή ή τη λέξη
Λάθος, αν η πρόταση είναι λανθασμένη.
α. Η δομή while χρησιμοποιείται για μη προκαθορισμένο αριθμό επαναλήψεων.
β. Η μέθοδος L.pop() προσθέτει ένα στοιχείο στο τέλος της λίστας L.
γ. Ο αριθμός 28.2Ε-5 είναι ένας αριθμός κινητής υποδιαστολής.
δ. Η int(x) μετατρέπει σε ακέραιο την αριθμητική τιμή x.
ε.Ένα αντικείμενο δημιουργείται από μία ειδική μέθοδο που ονομάζεται αποδομητής
(destructor).
Α1.
α. ΩΣΟ
β. ΛΑΘΟ
γ. ΩΣΟ
δ. ΩΣΟ
ε. ΛΑΘΟ
Α2.Να γράψετε στο τετράδιό σας τους αριθμούς 1, 2, 3, 4, 5 από τη Στήλη Α του παρακάτω
πίνακα και δίπλα ένα από τα γράμματα α, β, γ, δ, ε, στ της Στήλης Β, που δίνει τη σωστή
αντιστοιχία. Σημειώνεται ότι ένα γράμμα από τη στήλη Β θα περισσέψει.
Α2.
1. ζη
2. γ
3. δ
4. α
5. β
Α3. Να χαρακτηρίσετε καθεμιά από τις ακόλουθες λογικές εκφράσεις ως True ή False αν x=3
και y=1:
1
Α3.
α. False
β. True
γ. True
δ. True
ε. False
ΘΕΜΑ B
B1. Δίνεται το παρακάτω τμήμα προγράμματος σε γλώσσα προγραμματισμού Python που
υλοποιεί ταξινόμηση ευθείας ανταλλαγής (bubble sort) στα στοιχεία της λίστας lista κατά
φθίνουσα σειρά
Β1.
1. N
2. 1
3. i-1
4. j
5. >
B2. Να γράψετε στο τετράδιό σας ό,τι ακριβώς εμφανίζεται στην οθόνη κατά την εκτέλεση του
παρακάτω τμήματος προγράμματος:
2
Β2.
a=2 x=1
a=6 x=3
b=2
Β3.
s=0
i=1
while i < 10:
s=s+i
print s
i=i+2
print s
ΘΕΜΑ Γ1
Γ1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας στο τετράδιό σας, δίπλα στο
γράμμα που αντιστοιχεί σε κάθε πρόταση, τη λέξη Σωστό, αν η πρόταση είναι σωστή, ή τη
λέξη Λάθος, αν η πρόταση είναι λανθασμένη.
α. Στη γλώσσα προγραμματισμού Python για τη χρησιμοποίηση μιας μεταβλητής δεν
απαιτείται η δήλωσή της.
β. Στη γλώσσα προγραμματισμού Python χρησιμοποιούμε την εντολή for για να εκτελεστεί
ένα τμήμα του κώδικα για έναν καθορισμένο αριθμό επαναλήψεων.
γ. Η συνάρτηση pow(4,2) επιστρέφει την τιμή 8.
δ. Η μέθοδος λίστας L.append(object), όπου L το όνομα της λίστας χρησιμοποιείται για
προσθήκη του στοιχείου object στο τέλος της λίστας L.
ε.Στον αντικειμενοστραφή προγραμματισμό τα χαρακτηριστικά (attributes) ενός αντικειμένου
ονομάζονται και μέθοδοι.
Γ1.
α. ΩΣΟ
β. ΩΣΟ
3
γ. ΛΑΘΟ
δ. ΩΣΟ
ε. ΛΑΘΟ
ΘΕΜΑ Γ2
Γ2.1. Δίνεται το παρακάτω τμήμα προγράμματος σε γλώσσα προγραμματισμού Python. for i
in range(15,5,-5): for j in range(2,10,4): print i,j Να γράψετε στο τετράδιό σας τα ζεύγη των
τιμών i,j με τη σειρά που εμφανίζονται στην οθόνη με την εντολή print κατά την εκτέλεσή του.
Γ2.1.
15 2
15 6
10 2
10 6
Να γράψετε στο τετράδιό σας τους αριθμούς της λίστας που θα συγκριθούν κατά την
εκτέλεση του αλγορίθμου της δυαδικής αναζήτησης σε κάθε μία από τις παρακάτω
περιπτώσεις:
α) για τον αριθμό 100
β) για τον αριθμό 1
Γ2.2.
α. 13, 89, 96, 99
β. 13, 2, 1
Να γράψετε στο τετράδιό σας τους αριθμούς (1), (2), (3), (4) και (5) που αντιστοιχούν στα κενά
του παραπάνω τμήματος προγράμματος και δίπλα σε κάθε αριθμό, αυτό που πρέπει να
συμπληρωθεί, ώστε να υπολογιστούν διαδοχικά τα παρακάτω αθροίσματα:
4
α) 20+40+60+80+100
β) 1 +2 +3 +4 +5
Γ2.3.
α. (1) : 20
(2) : <=
(3) : 100
(4) : i
(5) : 20
β. (1) : 1
(2) : <=
(3) : 5
(4) : i
(5) : 1
ΘΕΜΑ Γ3
Γ3.1. Διαχωρισμός λίστας αριθμών σε 2 νέες λίστες με τους θετικούς και τους
αρνητικούς ξεχωριστά
numbers=[12,-3,5,-4,-9,-1,6,15,32,0,-1]
print numbers
positives=[]
negatives=[]
for number in numbers:
if number > 0 : # αν είναι θετικός
positives.append(number) # πρόσθεσέ τον στη λίστα με τους
θετικούς
else :
negatives.append(number ) # αλλιώς στη λίστα με τους
αρνητικούς
print positives
print negatives
Γ3.2. Υπολογισμός νομισμάτων ευρώ που θα χρειαστούν για ρέστα σε μια συναλλαγή
L=[12,4,5,6,7,3,9,15,10]
print L
sum = 0.0 # το sum είναι πραγματικός (float)
for number in L :
sum=sum+number
average=sum/len(L)#δεν θα γίνει ακέραια διαίρεση
print 'Πλήθος:',len(L)
print 'Άθροισμα:',sum
print 'Μέσος όρος:',average
Γ3.4. Να γράψετε στο τετράδιό σας ότι ακριβώς εμφανίζεται στην οθόνη κατά την
εκτέλεση του παρακάτω τμήματος προγράμματος:
s=10
k=12
while k>=4:
if k%4==0:
s=s%k+2
else:
s=s%k+1
print s,k
k=k-2
print s+20
Λύζη Γ3.4.
s=10
# Βλέπω από ποια μεταβλητή (κ) εξαρτάται η επανάληψη, από ποια τιμή ξεκινά,
μέχρι που φτάνει και κατά πόσο μεταβάλλεται. Στη συνέχεια αντιγράφω όλες τις
υπόλοιπες εντολές μέσα και έξω. Καλό θα είναι να κάνω και ένα πίνακα τιμώ και
για τις δύο περιπτώσεις για να σιγουρευτώ.
for k in range(12,3,-2):
6
if k%4==0:
s=s%k+2
else:
s=s%k+1
print s,k
print s+20
Γ3.5. Ένας από τους πιο γνωστούς και χρήσιμους αλγορίθμους της Πληροφορικής
είναι ο αλγόριθμος της συγχώνευσης των στοιχείων δυο ταξινομημένων λιστών σε
μία νέα, επίσης ταξινομημένη, λίστα. Ο αλγόριθμος αξιοποιεί το γεγονός ότι οι
αρχικές λίστες είναι ήδη ταξινομημένες, ώστε να μη χρειαστεί να ταξινομήσει από
την αρχή την τελική λίστα, κάτι το οποίο έχει σημαντικό υπολογιστικό κόστος για
πολύ μεγάλες λίστες.
def merge( A, B ) :
L=(1)
while A != [ ] and B != ( 2 ) :
if A[0] < ( 3 ) :
L.append( A.pop(0) )
else :
L.append( ( 4 ) )
return ( 5 )
Στο τμήμα προγράμματος υπάρχουν υπογραμμισμένα κενά τα οποία έχουν
αριθμηθεί. Να γράψετε στο τετράδιό σας τους αριθμούς 1, 2, 3, 4 και 5 που
αντιστοιχούν στα κενά του παραπάνω τμήματος προγράμματος και δίπλα σε κάθε
αριθμό αυτό που πρέπει να συμπληρωθεί ώστε να υλοποιείται σωστά η συγχώνευση
διατεταγμένων λιστών.
Λύση Γ3.5.
def merge( A, B ) :
L = [ ] # όσο οι δυο λίστες έχουν στοιχεία
while A != [ ] and B != [ ] :
if A[0] < B[0] : # Αν το 1ο στοιχείο της Α είναι το μικρότερο
L.append( A.pop(0) ) # το μεταφέρουμε στο τέλος της L
else :
L.append( B.pop(0)) # αλλιώς μεταφέρουμε το πρώτο στοιχείο της
Β στην L
return L + A + B # στο τέλος προσθέτουμε τα στοιχεία που έχουν μείνει
7
Γ3.6. Να γράψετε στο τετράδιό σας τους αριθμούς 1, 2, 3, 4, 5 από τη στήλη Α του
παρακάτω πίνακα και δίπλα ένα από τα γράμματα α, β, γ, δ, ε, στ της στήλης Β, που
δίνει τη σωστή αντιστοίχιση. Σημειώνεται ότι ένα γράμμα από τη στήλη Β θα
περισσέψει.
Λύση Γ3.6.
1. δ
2. α
3. ε
4. στ
5. β
Λύση Γ3.7. α.
Θα εμφανιστεί:
1
2
3
4
5
6
8
Γ3.7. β) Να ξαναγράψετε το παραπάνω τμήμα προγράμματος χρησιμοποιώντας
την εντολή επανάληψης for αντί της εντολής επανάληψης while, ώστε να εμφανίζει
το ίδιο αποτέλεσμα
Λύση Γ3.7. β.
for x in range (0,6):
print x+1