Προγραμματισμός Υπολογιστών - Quiz

Το quiz περιλαμβάνει 164 ερωτήσεις από τα επτά κεφάλαια του βιβλίου που είναι στην εξεταστέα ύλη και είναι χωρισμένο ανά κεφάλαιο. 
155

ΚΕΦΑΛΑΙΟ 3

1 / 20

Οι χαρακτηριστικοί τύποι δεδομένων στην Python είναι ο αριθμητικός, ο λογικός και οι συμβολοσειρές ή αλφαριθμητικά.

2 / 20

Οι αριθμοί στην Python είναι κυρίως : ακέραιοι (Integer) και αριθμοί κινητής υποδιαστολής (floating point).

3 / 20

Ο 19, αποτελεί παράδειγμα ακέραιου.

4 / 20

Το δεκαδικό τμήμα ενός πραγματικού αριθμού διαχωρίζεται με το χαρακτήρα κόμμα “,”.

5 / 20

28.2E-3 = 0.0282

6 / 20

Ο λογικός τύπος (boolean) έχει σκοπό την καταγραφή του αποτελέσματος ενός ελέγχου.

7 / 20

Μια συμβολοσειρά δεν μπορεί να αποτελείται από περισσότερες από μία λέξεις.

8 / 20

Για να ελέγξουμε τον τύπο δεδομένων χρησιμοποιούμε την εντολή type ().

9 / 20

Οι τελεστές (operators) είναι σύμβολα ή λέξεις για τη δημιουργία αριθμητικών και λογικών εκφράσεων.

10 / 20

2+3*5=30

11 / 20

10**2+5-(6-2)=101

12 / 20

Το αποτέλεσμα μιας λογικής πράξης είναι True (Αληθής) ή False (Ψευδής).

13 / 20

(12<11) and (23>10) = True

14 / 20

not(56<=12) = True

15 / 20

Επιτρέπεται να ξεκινά το όνομα μιας μεταβλητής με αριθμό.

16 / 20

Για να εκχωρήσουμε μια τιμή σε μια μεταβλητή, χρησιμοποιούμε τον τελεστή ίσον " = ".

17 / 20

Ο τύπος της μεταβλητής είναι ο εκάστοτε τύπος του αντικειμένου στην οποία αναφέρεται.

18 / 20

Η abs() επιστρέφει την απόλυτη τιμή ενός αριθμού.

19 / 20

Η pow(a,b) επιστρέφει τη δύναμη του b υψωμένη στο a.

20 / 20

Ένας Τύπος Δεδομένων (Data Τype) είναι ένα σύνολο τιμών δεδομένων και λειτουργιών επί αυτών των τιμών.

Your score is

The average score is 66%

0%

93

ΚΕΦΑΛΑΙΟ 4

1 / 25

Η δομή ακολουθίας χρησιμοποιείται, όπου είναι δεδομένη η σειρά εκτέλεσης ενός συνόλου ενεργειών.

2 / 25

Η δομή επιλογής if (AN) εκτελείται μόνον, εφόσον πληρείται μία συγκεκριμένη συνθήκη.

3 / 25

Αν ισχύει η συνθήκη (έχει τιμή FALSE),αλλιώς (αν δεν ισχύει-έχει τιμή TRUE).

4 / 25

Οι διαδοχικές εντολές που έχουν την ίδια εσοχή ανήκουν στο ίδιο μπλοκ.

5 / 25

if (1 == 1 or (2 != 1 or 5 == 5)): η συνθήκη είναι ΨΕΥΔΗΣ

6 / 25

Η random.randint( start, end ) επιστρέφει, με τυχαίο τρόπο, έναν ακέραιο αριθμό μέσα από το αριθμητικό διάστημα [start, end].

7 / 25

MESOS_OROS = (A+B+C) / 3 == MESOS_OROS = A+B+C/3.0

8 / 25

Οι πολλαπλές επιλογές μπορούν να υλοποιηθούν και με εμφωλευμένες δομές Αν-αλλιώς.

9 / 25

Στην περίπτωση της πολλαπλής επιλογής έχουμε περισσότερες συγκρίσεις σε σχέση με την απλή επιλογή.

10 / 25

Υπάρχουν δύο τύποι επαναλήψεων, οι προκαθορισμένοι και οι μη προκαθορισμένοι.

11 / 25

H range() είναι μια ενσωματωμένη συνάρτηση της γλώσσας Python.

12 / 25

Η συνάρτηση range(10), παράγει τη λίστα: [0,1,2,3,4,5,6,7,8,9,10].

13 / 25

Η συνάρτηση range(8, -1, -1), παράγει τη λίστα [8, 7, 6, 5, 4, 3, 2, 1, 0]

14 / 25

Όταν το βήμα των επαναλήψεων είναι 1, στη συνάρτηση range δεν το αναφέρουμε.

15 / 25

Η δομή while (Όσο <συνθήκη> επανάλαβε) μπορεί να χρησιμοποιηθεί μόνο σε προκαθορισμένο αριθμό επαναλήψεων.

16 / 25

Πριν το βρόχο while θα πρέπει αρχικά να δώσουμε μία τιμή στη μεταβλητή που ελέγχει τη συνθήκη του βρόχου.

17 / 25

Μέσα στο μπλοκ εντολών της while πρέπει να υπάρχει κατάλληλη εντολή, ώστε να εξασφαλίζεται ότι κάποια στιγμή η συνθήκη θα γίνει ψευδής.

18 / 25

Η δομή επανάληψης while χρησιμοποιείται μόνο όταν θέλουμε να ελέγξουμε αν μία τιμή που εισάγεται είναι έγκυρη.

19 / 25

Η εντολές που περιλαμβάνονται μέσα στη δομή while θα εκτελεστούν τουλάχιστον μία φορά.

20 / 25

Οι συναρτήσεις είναι επαναχρησιμοποιήσιμα μέρη προγραμμάτων.

21 / 25

Για να ορίσουμε μια δική μας συνάρτηση χρησιμοποιούμε τη χαρακτηριστική λέξη def.

22 / 25

Οι παράμετροι καθορίζονται μέσα στο ζευγάρι των παρενθέσεων στον ορισμό της συνάρτησης και διαχωρίζονται με τελεία.

23 / 25

Όταν καλούμε τη συνάρτηση, δίνουμε και τις τιμές με τον ίδιο τρόπο, οι οποίες τιμές ονομάζονται ορίσματα.

24 / 25

Οι ενσωματωμένες συναρτήσεις απαιτούν πάντα ορίσματα.

25 / 25

def mesos-oros():

Your score is

The average score is 61%

0%


61

ΚΕΦΑΛΑΙΟ 5

1 / 7

O αλγόριθμος της δυαδικής αναζήτησης, μειώνει το χώρο αναζήτησης στο μισό.

2 / 7

Ο αλγόριθμος της Δυαδικής αναζήτησης εφαρμόζεται σε μη ταξινομημένες λίστες.

3 / 7

Η Δυαδική αναζήτηση εκμεταλλεύεται τη διάταξη των στοιχείων του συνόλου.

4 / 7

Ο αλγόριθμος της Δυαδικής αναζήτησης βασίζεται στο γεγονός ότι τα δεδομένα είναι διατεταγμένοι κατά αύξουσα ή φθίνουσα σειρά.

5 / 7

Η δυαδική αναζήτηση χρειάζεται περισσότερο χρόνο να βρει το ζητούμενο από ότι η σειριακή αναζήτηση.

6 / 7

Ο αλγόριθμος ταξινόμησης ευθείας ανταλλαγής βασίζεται στη σύγκριση και αντιμετάθεση ζευγών που δεν ακολουθούν τη διάταξη της ταξινόμησης.

7 / 7

Ο αλγόριθμος ταξινόμησης φυσαλίδας (bubble sort) μπορεί να τροποποιηθεί, ώστε να τερματίσει μόλις διαπιστώσει ότι η λίστα έχει ταξινομηθεί.

Your score is

The average score is 77%

0%


55

ΚΕΦΑΛΑΙΟ 6

1 / 33

open (“όνομα_αρχείου”, “τρόπος προσπέλασης”)

2 / 33

Η συνάρτηση open() δέχεται ένα ορίσμα (το όνομα του αρχείου).

3 / 33

Η συνάρτηση open() μας επιστρέφει ένα αντικείμενο του αρχείου.

4 / 33

H συνάρτηση open() δεν είναι ενσωματωμένη στην Python.

5 / 33

Ένα αρχείο για να χρησιμοποιηθεί, πρέπει να το ανοίξουμε με την ενσωματωμένη συνάρτηση open().

6 / 33

Ως αρχεία δεδομένων χρησιμοποιούνται συνήθως αρχεία κειμένου.

7 / 33

Ένα αρχείο κειμένου είναι αποθηκευμένο σε μία προσωρινή θέση μνήμης.

8 / 33

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

9 / 33

Το δεύτερο όρισμα καθορίζει τον τρόπο προσπέλασης του αρχείου (σημαία flag).

10 / 33

Αν δε χρησιμοποιηθεί το δεύτερο αυτό όρισμα, τότε θεωρείται εξ ορισμού (προεπιλογή) ότι είναι το “w”.

11 / 33

“r+” → Άνοιγμα αρχείου και για ανάγνωση.

12 / 33

“w” → Εγγραφή (διαγραφή προηγούμενων περιεχομένων, αν υπάρχουν).

13 / 33

readline() → ανάγνωση μίας γραμμής.

14 / 33

Η συνάρτηση close() δεν είναι απαραίτητο να εκτελεστεί.

15 / 33

Η close κλείνει το αρχείο, παρόμοια με την επιλογή File→Save στον επεξεργαστή κειμένου.

16 / 33

Για να ελέγξουμε, αν ένα αρχείο όντως έκλεισε, πρέπει να χρησιμοποιήσουμε την ιδιότητα (attribute) closed.

17 / 33

>>> fin = open("workfile.txt", ”w”) >>> fin.closed → True

18 / 33

Το όρισμα της μεθόδου write πρέπει να είναι συμβολοσειρά.

19 / 33

Πρέπει να σημειώνουμε την αλλαγή γραμμής με το χαρακτήρα “\l”.

20 / 33

Η παράμετρος count καθορίζει τον αριθμό των χαρακτήρων που θα διαβασθούν από το αρχείο → fileObject_despriptor.read([count]);

21 / 33

Στην περίπτωση που η παράμετρος count λείπει, τότε έχουμε λάθος.

22 / 33

Το fin καταγράφει τη θέση που βρίσκεται μέσα στο αρχείο.

23 / 33

H μέθοδος fin.tell() επιστρέφει έναν χαρακτήρα που περιέχει την τρέχουσα θέση στο αρχείο.

24 / 33

Για να αλλάξουμε την τρέχουσα θέση του αρχείου, μπορούμε να χρησιμοποιήσουμε την fin.seek().

25 / 33

>>> fin.seek(5) → πηγαίνει στο 5ο byte στο αρχείο.

26 / 33

fin.seek(-3, 2) → πηγαίνει στο 3ο byte πριν το τέλος.

27 / 33

file.mode Επιστρέφει τον τρόπο προσπέλασης στο αρχείο που έχουμε ανοίξει.

28 / 33

file.closed Επιστρέφει flase, αν το αρχείο είναι ανοιχτό και true, σε διαφορετική περίπτωση.

29 / 33

μετονομασία αρχείου → rename(current_file_name, new_file_name)

30 / 33

διαγραφή αρχείων → os.remove(file_name)

31 / 33

Η μέθοδος mkdir() δημιουργεί (υπο)καταλόγους στον τρέχοντα κατάλογο και δέχεται ως όρισμα το
όνομα του καταλόγου που θα δημιουργηθεί.

32 / 33

Η μέθοδος getcwd(): Επιστρέφει τον τρέχοντα κατάλογο εργασίας.

33 / 33

Η μέθοδος rmdir(): Διαγράφει το φάκελο που δίνουμε ως όρισμα. Πριν διαγραφεί ο φάκελος, όλα τα περιεχόμενά του διαγράφονται.

Your score is

The average score is 59%

0%


26

ΚΕΦΑΛΑΙΟ 7

1 / 28

Μια από τις βασικότερες τεχνικές του διαδικαστικού προγραμματισμού είναι ο Τμηματικός Προγραμματισμός.

2 / 28

Κάθε υποπρόγραμμα πρέπει να έχει δύο σημεία εισόδου από τα οποία δέχεται τα δεδομένα του.

3 / 28

Το (υπο)πρόγραμμα το οποίο καλεί ένα άλλο υποπρόγραμμα σταματάει την εκτέλεσή του όσο εκτελείται το καλούμενο υποπρόγραμμα.

4 / 28

Ο έλεγχος επιστρέφει στο (υπο)πρόγραμμα το οποίο καλεί, όταν το καλούμενο υποπρόγραμμα σταματήσει να εκτελείται.

5 / 28

Η Python παρέχει ένα μόνο τύπο υποπρογραμμάτων, τις συναρτήσεις, τις οποίες τις θεωρεί ως ορίσματα.

6 / 28

Ο ορισμός μιας συνάρτησης περιλαμβάνει το όνομά της και τις παραμέτρους εισόδου.

7 / 28

Η δήλωση στην συνάρτηση τελειώνει με ερωτηματικό (;).

8 / 28

Ο τύπος των παραμέτρων δηλώνεται στην συνάρτηση.

9 / 28

Μια συνάρτηση μπορεί να καλείται από διάφορα σημεία του κύριου προγράμματος ή και μέσα από μια άλλη συνάρτηση.

10 / 28

Η συνάρτηση μας βοηθά στην πολλαπλή εισαγωγή δεδομένων.

11 / 28

Μια κλήση συνάρτησης είναι σαν μια παράκαμψη στη ροή της εκτέλεσης.

12 / 28

Ένα υποπρόγραμμα δέχεται τιμές από το τμήμα προγράμματος που το καλεί.

13 / 28

Οι τιμές που μεταβιβάζονται από το ένα υποπρόγραμμα στο άλλο λέγονται αντικείμενα.

14 / 28

Οι παράμετροι μοιάζουν με τις μεταβλητές και καθορίζονται μέσα στο ζευγάρι των παρενθέσεων.

15 / 28

Τα ορίσματα εκχωρούνται σε μεταβλητές οι οποίες ονομάζονται παράμετροι.

16 / 28

Όλες οι μεταβλητές σε ένα πρόγραμμα μπορούν να είναι προσπελάσιμες από όλα τα μέρη του προγράμματος.

17 / 28

Η εμβέλεια (scope) μιας μεταβλητής αναφέρεται στο τμήμα του προγράμματος που μπορεί αυτή να έχει πρόσβαση.

18 / 28

Απεριόριστη εμβέλεια έχουν οι μεταβλητές που χαρακτηρίζονται ως καθολικές (global).

19 / 28

Περιορισμένη εμβέλεια έχουν οι τοπικές (local) μεταβλητές, ισχύουν δηλαδή για το υποπρόγραμμα στο οποίο δηλώθηκαν.

20 / 28

Οι μεταβλητές που έχουν οριστεί μέσα στο σώμα της συνάρτησης, έχουν καθολική εμβέλεια.

21 / 28

Οι καθολικές μεταβλητές μπορεί να είναι προσβάσιμες από όλες τις συναρτήσεις.

22 / 28

Σε μια συνάρτηση τα ονόματα των μεταβλητών χρησιμοποιούνται μόνο τοπικά.

23 / 28

Οι παράμετροι είναι καθολικές μεταβλητές.

24 / 28

Οι μεταβλητές που δηλώνονται έξω από τις συναρτήσεις του προγράμματος, είναι καθολικές μεταβλητές (global).

25 / 28

Ένα άρθρωμα είναι ένα αρχείο αποτελούμενο από κώδικα Python και μπορεί να ορίσει συναρτήσεις, κλάσεις και μεταβλητές.

26 / 28

Για να χρησιμοποιήσουμε ένα άρθρωμα στο πρόγραμμά μας, θα πρέπει να το "εισάγουμε" σε αυτό. Αυτό γίνεται με τη δήλωση insert.

27 / 28

from math import sqrt

28 / 28

from math import * → Δηλώνει την εισαγωγή όλων από την βιβλιοθήκη math.

Your score is

The average score is 69%

0%

31

ΚΕΦΑΛΑΙΟ 8

1 / 26

Μια δομή δεδομένων μπορεί να οριστεί ως ένα σχήμα οργάνωσης σχετικών μεταξύ τους στοιχείων δεδομένων.

2 / 26

Τα αλφαριθμητικά ή συμβολοσειρές στην Python είναι ακολουθίες από χαρακτήρες που έχουν σταθερό μέγεθος και μεταβαλλόμενα περιεχόμενα.

3 / 26

Η αρίθμηση των χαρακτήρων σε ένα αλφαριθμητικό ξεκινάει από το 0.

4 / 26

Η συνάρτηση len επιστρέφει το μήκος, δηλαδή το πλήθος των χαρακτήρων του αλφαριθμητικού.

5 / 26

Α=[3,5,2,7,9,3,0] len(A) → 6

6 / 26

Η συνάρτηση str μετατρέπει μια τιμή σε συμβολοσειρά.

7 / 26

Ο υπαρξιακός τελεστής in, ο οποίος ελέγχει, αν ένα αντικείμενο ανήκει σε ένα σύνολο αντικειμένων.

8 / 26

Η λίστα είναι μια διατεταγμένη ακολουθία τιμών.

9 / 26

Η λίστα, σε αντίθεση με τη συμβολοσειρά, είναι μια δυναμική δομή.

10 / 26

Η αρίθμηση των στοιχείων, όπως στις συμβολοσειρές, έτσι και στις λίστες, ξεκινάει από το 0.

11 / 26

>>> L = [ 3, 5, 8, 13, 21, 34 ] >>> print L[ 2 ] → 5

12 / 26

>>> days = ["Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή"]
>>> print days[ 0 ] + daysofweek[ 4 ] → ΔευτέραΠαρασκευή

13 / 26

Οι λίστες στην Python έχουν σταθερό μέγεθος, δηλαδή δεν μπορούν να αυξάνονται και να μειώνονται κατά την εκτέλεση του προγράμματος.

14 / 26

>>> mix = [6, 3.14159 , True, “Guido Van Rossum”] >>> len(mix) → 4

15 / 26

item in List: επιστρέφει True, αν το στοιχείο item υπάρχει μέσα στη λίστα List, αλλιώς επιστρέφει False.

16 / 26

item not in List: επιστρέφει False, αν το στοιχείο item δεν υπάρχει μέσα στη λίστα List, αλλιώς, αν υπάρχει επιστρέφει True.

17 / 26

list ( String ): Επιστρέφει μια λίστα με στοιχεία τους χαρακτήρες της συμβολοσειράς string.

18 / 26

L.append( object ): προσθήκη του στοιχείου object στην αρχή της λίστας L.

19 / 26

L.pop( [ index ] ): Αφαίρεση από τη λίστα του στοιχείου που βρίσκεται στη θέση index.

20 / 26

L.pop( [ index ] ): Αν δεν δοθεί θέση, τότε θα αφαιρεθεί το πρώτο στοιχείο της λίστας.

21 / 26

L.pop( [ index ] ): Αφαίρεση από τη λίστα του στοιχείου που βρίσκεται στη θέση index.

22 / 26

Η συνάρτηση range( A, M, B ) επιστρέφει μια λίστα αριθμών από τον αριθμό Α μέχρι το Μ με βήμα Β. Το Μ δεν συμπεριλαμβάνεται στη λίστα.

23 / 26

Οι λειτουργίες της Στοίβας είναι γνωστές στη βιβλιογραφία ως εισαγωγή και εξαγωγή.

24 / 26

Η δομή της στοίβας στην Python υλοποιείται με μια λίστα στην οποία οι εισαγωγές και οι εξαγωγές στοιχείων γίνονται μόνο από το ένα άκρο.

25 / 26

LIFO (Last In First Out) → Στοίβα

26 / 26

Σε αντίθεση με τη στοίβα, η λειτουργία της ουράς είναι γνωστή στη βιβλιογραφία ως FIFO (First In First Out).

Your score is

The average score is 71%

0%


39

ΚΕΦΑΛΑΙΟ 11

1 / 25

Ο Αντικειμενοστρεφής προγραμματισμός αλλάζει την εστίαση του προγραμματισμού από τις διαδικασίες στις έννοιες.

2 / 25

Τα χαρακτηριστικά (attributes) ενός αντικειμένου ονομάζονται και ιδιότητες (properties).

3 / 25

Οι μέθοδοι επιτρέπουν στα αντικείμενα να κάνουν διάφορες ενέργειες, μέσω των οποίων, μπορούμε να ελέγχουμε τις ιδιότητες αυτού.

4 / 25

Ένα αντικείμενο δημιουργείται από μια ειδική μέθοδο που στην αντικειμενοστρεφή ορολογία ονομάζεται διαμορφωτής (constructor).

5 / 25

Η μέθοδος η οποία να καταστρέφει τα αντικείμενα αυτά και απελευθερώνει την αντίστοιχη μνήμη ονομάζεται αποδομητής (destructor).

6 / 25

Τα πρότυπα που συγκεντρώνουν τα κοινά στοιχεία άλλων αντικειμένων, έχουν ένα ειδικό όνομα και ονομάζονται κλάσεις (classes).

7 / 25

Η μεταβίβαση ιδιοτήτων και μεθόδων ονομάζεται κληρονομικότητα (inheritance).

8 / 25

Ο ορισμός μιας κλάσης στην Python γίνεται με τη λέξη κλειδί class.

9 / 25

Οι ιδιότητες της κλάσης εισάγονται σε μια ιδιαίτερη συνάρτηση την —init— ως παράμετροι.

10 / 25

Οι μέθοδοι της κλάσης, έχουν τη μορφή συναρτήσεων, τοποθετούνται όμως, μέσα στο σώμα της κλάσης.

11 / 25

Η self ως παράμετρος επιτρέπει στη μέθοδο να αναφέρεται σε ολόκληρη την κλάση, πράγμα που τουλάχιστον ισχύει στη γενική περίπτωση.

12 / 25

Στη self διασφαλίζουμε ότι μια μέθοδος που θα κληθεί μέσω ενός αντικειμένου, θα επιδράσει μόνο σε αυτό.

13 / 25

Η λέξη self αποτελεί δεσμευμένη λέξη της Python.

14 / 25

Δεν καλούμε άμεσα την ίδια την μέθοδο, αλλά, αυτή καλείται έμμεσα μέσα από κλήση της κλάσης.

15 / 25

Η μέθοδος —init— ονομάζεται κατασκευαστής.

16 / 25

Σημαντικό είναι όταν ορίζουμε κατασκευαστές, να θυμόμαστε ότι κάθε ιδιότητα που χρησιμοποιείται από άλλες μεθόδους, πρέπει να αρχικοποιείται.

17 / 25

Επίσης μπορούμε να πούμε στο πρόγραμμα να τρέξει δύο μεθόδους για αρχικοποίηση.

18 / 25

Προσοχή γιατί η αρχικοποίηση ιδιοτήτων έξω από την —init— οδηγεί εύκολα σε λογικά λάθη.

19 / 25

Η σωστή πρακτική είναι να δίνουμε αρχική τιμή σε όλες τις ιδιότητες των αντικειμένων μιας κλάσης έξω από την —init—.

20 / 25

Στην Python, μια ιδιότητα μπορεί να δημιουργηθεί μέσα στην κλάση.

21 / 25

Για να αποκτήσουμε πρόσβαση στις ιδιότητες των αντικειμένων που δημιουργήσαμε, χρησιμοποιούμε το λεγόμενο dot notation.

22 / 25

dot notation = όνομα_αντικειμένου.μέθοδος

23 / 25

Οι μέθοδοι είναι σημασιολογικά ίδιες με τις συναρτήσεις και καλούνται μέσα στην κλάση.

24 / 25

Ως υπογραφή ορίζεται το όνομα, τα ορίσματα και η τιμή επιστροφής του αντικειμένου.

25 / 25

Πρόσβαση στις μεθόδους των αντικειμένων → όνομα_αντικειμένου.μέθοδος()

Your score is

The average score is 64%

0%