Κεφάλαιο 5 - Βιβλίο-Τετράδιο Εργασιών Μαθητή

You got 17 of 20 possible points.
Your score: 85%
Question 1

Ο αλγόριθμος της σειριακή αναζήτησης μπορεί να χρησιμοποιηθεί μόνο σε ταξινομημένες λίστες

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
True0
Selected
False1
Should have chosen
Question 2

Η αντιμετάθεση (αμοιβαία αλλαγή τιμών των μεταβλητών α, β) γίνεται στην Pyhton με την απλή εντολή:

a, b = b, a

Πως μπορεί να γίνει με επιπλέον μεταβλητή;

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

temp = b

a = b

a = temp

0
Selected

temp = a

a = b

b = temp
 

1
Should have chosen

temp = a

b = a

b = temp

0
Question 3

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

def binarySearch(lista, key):

        first = 0

        last = len(lista) - 1

        found = False

        while not found and first <= last:

                mid = (first + last) / 2

                if lista[mid] == key:

                      found = True

                elif lista[mid] > key:

                      first = mid + 1

                else:

                     last = mid - 1

        return found

Score: 0 of 1
Your answerChoiceScoreFeedbackCorrect answer
True0
Should have chosen
Selected
False0
Question 4

Πόσα περάσματα θα γίνουν για την αύξηση ταξινόμηση της λίστας:

[28, 28, 28, 28, 28, 28, 28, 30, 30, 30, 30]

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected

0

1
Should have chosen

2

0

4

0

1

0
Question 5

Τι θα εμφανίσει το παρακάτω πρόγραμμα;

 def check_D(mylist):

        d = True

        i = 0

        N = len(mylist)

        while d and i < N-1:

                if myList[i] < myList[i + 1]:

                        d = False

                i = i + 1

        return d

L = [20, 12, 4, 2]

print check_D(L)

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

False

0

[2, 4, 12, 20]

0
Selected

True

1
Should have chosen

None

0
Question 6

Στην παρακάτω αύξουσα ταξινομημένη λίστα  L ψάχνουμε το 45.

0 1 2 3 4 5 6 7 8 9 10 11 12 13
5 10 17 23 28 30 35 40 45 50 60 63 68 70

η πρώτη σύγκριση για τον αριθμό 45 θα είναι με το στοιχείο στο δείκτη: (0+13)/2 =6 άρα με τον L[6] άρα με το 35.

Ποιος είναι ο επόμενος αριθμός που θα συγκριθεί το 45;

 

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected

60

1
Should have chosen

17

0

50

0

63

0
Question 7

Ο παρακάτω αλγόριθμος επιλέγει έναν αριθμό από το 1 έως και το 1000 και ο χρήστης προσπαθεί να τον μαντέψει με τη βοήθεια μηνυμάτων από το Η/Υ (αν ο αριθμός που έδωσε ο χρήστης είναι μικρότερος ή μεγαλύτερος). Βελτιώστε τον αλγόριθμο στην  while ώστε ο χρήστης να σκεφτεί με καλύτερη στρατηγική και να μειώσει τις προσπάθειές του για να βρει τον κρυφό αριθμό. Οι προσπάθειες που θα μπορεί να δώσει είναι 10

import random

secret_number = random.randint(1, 1000)  # ο αριθμός που επιλέγει τυχαίο ο Η/Υ

guesses = 0   #προσπάθειες

found = False

while not found:

        guess = input(' Μάντεψε τον αριθμό')  # Ο αριθμός που δίνει ο χρήστης

        guesses + = 1

        if guess == secret_number:

                print 'Μπράβο το βρήκες με', guesses, 'προσπάθειες'

                found = True

        else:

                if guess < secrtet_number:

                        print ' Ο αριθμός σου είναι μικρότερος από τον ζητούμενο'

                else:

                        print ' Ο αριθμός σου είναι μεγαλύτερος από τον ζητούμενο'  

#Τέλος της while

if  found :  # αφού αν είναι True αρκεί (μπορούμε και found == True:)

        print 'Μπράβο το βρήκες με ', guesses, ' προσπάθειες'

else:

        print 'Δυστυχώς δεν το βρήκες'

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected

while not found and guesses < 10:

1
Should have chosen

while not found and guesses > 10:

0

while not found or guesses < 10:

0

while not found or guesses > 10:

0
Question 8

Η δυαδική αναζήτηση μπορεί να γίνει σε στοιχεία που βρίσκονται σε κάποια λογική διάταξη, είτε αυτά είναι αριθμοί είτε αλφαριθμητικά

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected
True1
Should have chosen
False0
Question 9

Τι θα εμφανίσει το παρακάτω πρόγραμμα;

 def isAscending(mylist):

        ascending = True

        i = 0

        N = len(mylist)

        while ascending and i < N-1:

                if myList[i] > myList[i + 1]:

                        ascending = False

                i = i + 1

        return ascending

L = [12, 40, 58, 80, 79]

print isAscending(L)

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

None

0

True

0

[12, 40, 58, 79, 80]

0
Selected

False

1
Should have chosen
Question 10

Η δυαδική αναζήτηση μπορεί να γίνει μόνο σε ταξινομημένες λίστες με αριθμούς, όχι σε λίστες με συμβολοσειρές

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
True0
Selected
False1
Should have chosen
Question 11

Επιλέξτε έναν πιο συνοπτικό τρόπο εκτέλεσης των παρακάτω εντολών, που δηλώνουν το πρώτο πέρασμα της αύξουσας ταξινόμησης σε μια λίστα 5 στοιχείων:

if students[4] < students[3]:

        students[4], students[3] = students[3], students[4]

if students[3] < students[2]:

        students[3], students[2] = students[2], students[3]

if students[2] < students[1]:

        students[2], students[1] = students[1], students[2]

if students[1] < students[0]:

        students[1], students[0] = students[0], students[1]

 

 

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

for j in range( 4, -1, -1):

        if studnets[j] < students[j-1]:

                students[j], students[j-1] = students[j-1], students[j]

0

for j in range( 4, 0, -1):

        if studnets[j-1] < students[j-2]:

                students[j-1], students[j-2] = students[j-2], students[j-1]

0
Selected

for j in range( 4, 0, -1):

        if studnets[j] < students[j-1]:

                students[j], students[j-1] = students[j-1], students[j]

1
Should have chosen

for j in range( 5, 0, -1):

        if studnets[j] < students[j-1]:

                students[j], students[j-1] = students[j-1], students[j]

0
Question 12

Σε μια ταξινομημένη λίστα 1000 στοιχείων, πόσες είναι οι περισσότερες συγκρίσεις που θα χρειαζόταν για να βρεθεί οποιοδήποτε στοιχείο χρησιμοποιοώντας τη δυαδική αναζήτηση;

 

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

20

0

50
 

0

5

0
Selected

10
 

1
Should have chosen
Question 13

Στην παρακάτω αύξουσα ταξινομημένη λίστα  L ψάχνουμε το 45.

0 1 2 3 4 5 6 7 8 9 10 11 12 13
5 10 17 23 28 30 35 40 45 50 60 63 68 70

η πρώτη σύγκριση για τον αριθμό 45 θα είναι με το στοιχείο στο δείκτη: (0+13)/2 =6 άρα με τον L[6] άρα με το 35.

επειδή 45>35 θα ελέγξει από το δείκτη 6+1 = 7 έως το τέλος της λίστας.

Άρα ο επόμενος έλεγχος θα είναι με το στοιχείο στο δείκτη: (7 + 13) / 2 = 10, άρα με το 60

Με ποιο στοιχείο θα ελεγχθεί μετά;

 

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

68 και θα κάνει και άλλον έλεγχο

0

40 και θα κάνει και άλλον έλεγχο

0

50 και θα κάνει και άλλον έλεγχο

0
Selected

45 και θα το βρει

1
Should have chosen
Question 14

Δίνεται η λίστα με τους αριθμούς [60, 38, 98, 54, 32, 90, 20] . Πως θα γίνει η λίστα μετά από 3 περάσματα μιας αύξουσας ταξινόμησης;

Score: 0 of 1
Your answerChoiceScoreFeedbackCorrect answer

1ο πέρασμα: [20, 60, 38, 98, 54, 32, 90]

2ο πέρασμα: [20, 32, 60, 38, 98, 54, 90]

3ο πέρασμα: [20, 32, 38, 60, 54, 98, 90]

0
Should have chosen
Selected

1ο πέρασμα: [20, 60, 38, 98, 54, 32, 90]

2ο πέρασμα: [20, 32, 60, 38, 98, 54, 90]

3ο πέρασμα: [20, 32, 38, 60, 98, 54, 90]

0

1ο πέρασμα: [20, 60, 38, 98, 54, 32, 90]

2ο πέρασμα: [20, 32, 60, 38, 98, 54, 90]

3ο πέρασμα: [20, 32, 38, 60, 90, 54, 98]

0
Question 15

Σε μια ταξινομημένη λίστα 16 στοιχείων, πόσες είναι οι περισσότερες συγκρίσεις που θα χρειαζόταν για να βρεθεί οποιοδήποτε στοιχείο χρησιμοποιοώντας τη δυαδική αναζήτηση;

 

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

16

0

2

0
Selected

4

1
Should have chosen

8

0
Question 16

Ο αλγόριθμος της Σειριακή αναζήτησης θα ελέγξει όλα τα στοιχεία σε μια λίστα ακόμα και αν είναι ταξινομημένη

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected
True1
Should have chosen
False0
Question 17

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

Score: 0 of 1
Your answerChoiceScoreFeedbackCorrect answer
True0
Should have chosen
Selected
False0
Question 18

Πόσα περάσματα θα γίνουν για την αύξηση ταξινόμηση της λίστας:

[28, 28, 28, 6, 6, 6, 6, 6, 6, 6, 6]

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer

10

0

3

0
Selected

8

1
Should have chosen

7

0
Question 19

Δίνεται το πρόβλημα: Να βρεθούν οι τρεις μεγαλύτεροι αριθμοί σε μια λίστα

Τι λύση θα επιλέγατε;

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected

Φθίνουσα ταξινόμηση και μετά με τη for i in range(3)  θα εμφάνιζα τους τρεις πρώτους

1
Should have chosen

Αύξουσα ταξινόμηση και μετά με τη for i in range(3)  θα εμφάνιζα τους τρεις πρώτους

0

Φθίνουσα ταξινόμηση και μετά με τη for i in range(Ν-1, Ν-4, -1)  θα εμφάνιζα τους τρεις πρώτους

0
Question 20

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

Score: 1 of 1
Your answerChoiceScoreFeedbackCorrect answer
Selected
True1
Should have chosen
False0