You are on page 1of 9

ΠΡΟΓΡΑΜΜΑΣΙ΢ΜΟ΢ ΤΠΟΛΟΓΙ΢ΣΩΝ Γ’ ΛΤΚΔΙΟΤ

ΘΔΜΑ Α

Α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, 2, 3, 4 και 5 που αντιστοιχούν στα κενά του
παραπάνω τμήματος προγράμματος και δίπλα σε κάθε αριθμό αυτό που πρέπει να
συμπληρωθεί ώστε να υλοποιείται σωστά η ταξινόμηση.

Β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. Να ξαναγράψετε το παρακάτω τμήμα προγράμματος, χρησιμοποιώντας την εντολή


επανάληψης while αντί της εντολής επανάληψης for έτσι ώστε να εμφανίζει το ίδιο
αποτέλεσμα.

Β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

Γ2.2. Δίνεται παρακάτω η λίστα Α.

Να γράψετε στο τετράδιό σας τους αριθμούς της λίστας που θα συγκριθούν κατά την
εκτέλεση του αλγορίθμου της δυαδικής αναζήτησης σε κάθε μία από τις παρακάτω
περιπτώσεις:
α) για τον αριθμό 100
β) για τον αριθμό 1

Γ2.2.
α. 13, 89, 96, 99

β. 13, 2, 1

Γ2.3. Δίνεται το παρακάτω τμήμα προγράμματος σε γλώσσα προγραμματισμού Python όπου


υπάρχουν κενά, τα οποία έχουν αριθμηθεί και υπογραμμιστεί.

Να γράψετε στο τετράδιό σας τους αριθμούς (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. Υπολογισμός νομισμάτων ευρώ που θα χρειαστούν για ρέστα σε μια συναλλαγή

values=[100, 50, 20, 10, 5, 2, 1]


cost=int(input('Δώσε το κόστος των αγορών:'))
payment=int(input( 'Δώσε το ποσό της πληρωμής:'))
change=payment-cost
counter=0
5
for value in values :
counter=counter+(change/value)
print change/value, ' των ', value,' ευρώ'
change=change%value
print counter

Γ3. 3. Εύρεση αθροίσματος και μέσου όρου λίστας

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. α) Δίνεται το παρακάτω τμήμα προγράμματος σε γλώσσα προγραμματισμού


Python:
x=0
while x <= 5:
x=x+1
print x
Να γράψετε στο τετράδιό σας τις τιμές του x με τη σειρά που εμφανίζονται στην
οθόνη με την εντολή print κατά την εκτέλεσή του

Λύση Γ3.7. α.
Θα εμφανιστεί:
1
2
3
4
5
6

8
Γ3.7. β) Να ξαναγράψετε το παραπάνω τμήμα προγράμματος χρησιμοποιώντας
την εντολή επανάληψης for αντί της εντολής επανάληψης while, ώστε να εμφανίζει
το ίδιο αποτέλεσμα

Λύση Γ3.7. β.
for x in range (0,6):
print x+1

You might also like