Επιλογή Σελίδας

Παράδειγμα 3.7, Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδας)

Έστω ότι ο αρχικός πίνακας αποτελείται από εννέα κλειδιά τα εξής: 52, 12, 71, 56, 5, 10, 19, 90 και 45. Η μέθοδος εφαρμοζόμενη σε αυτά τα εννέα κλειδιά εξελίσσεται όπως φαίνεται στο επόμενο σχήμα. Κάθε φορά το ταξινομημένο τμήμα του πίνακα εμφανίζεται με χρώμα, ενώ τα στοιχεία που σαν φυσαλίδες ανέρχονται μέσα στον πίνακα εντοπίζονται με το αντίστοιχο βέλος στα δεξιά τους. Κάθε φορά εμφανίζεται η τάξη της επανάληψης (i).

Σχ.3.7 Ταξινόμηση φυσαλίδας.

Σχ.3.7 Ταξινόμηση φυσαλίδας.

ΛΥΣΗ: (περισσότερα…)

ΔΤ2, Κεφάλαιο 3, Τετράδιο Εργασιών, Έξυπνη φυσαλίδα

ΕΚΦΩΝΗΣΗ:

Ο αλγόριθμος της φυσαλίδας όπως διατυπώθηκε στην παράγραφο 3.7 έχει το μειονέκτημα ότι δεν είναι αρκετά “έξυπνος” ώστε να διαπιστώνει στην αρχή ή στο μέσο της διαδικασίας αν ο πίνακας είναι ταξινομημένος. Να σχεδιασθεί μία παραλλαγή του αλγορίθμου αυτού που να σταματά όταν διαπιστωθεί ότι τα στοιχεία του πίνακα είναι ήδη ταξινομημένα. Υπόδειξη: Να χρησιμοποιήσετε μία βοηθητική μεταβλητή που να ελέγχει το τέλος κάθε επανάληψης του εξωτερικού βρόχου (“Για i από 2 μέχρι n”) αν για την τρέχουσα τιμή του i έγιναν αντιμεταθέσεις στοιχείων.

ΛΥΣΗ: (περισσότερα…)

Θέμα Α, Ερώτημα 3, 2014, Επαναληπτικές, Ημερήσια

Να γραφούν σε ΓΛΩΣΣΑ οι εντολές που ανταλλάσσουν τα στοιχεία της δεύτερης γραμμής με εκείνα της πέμπτης γραμμής ενός πίνακα ακεραίων 5×6.

Μονάδες 6

Τα θέματα σε pdf, 2014, Μαΐου-Ιουνίου, Ημερήσια

Θέμα Β, Ερώτημα 1, 2014, Ημερήσια

Για την ταξινόμηση, σε φθίνουσα σειρά, των στοιχείων ενός μονοδιάστατου πίνακα αριθμών Π[30] μπορεί να ακολουθηθεί η παρακάτω διαδικασία: Αρχικά, ο πίνακας σαρώνεται από την αρχή μέχρι το τέλος του, προκειμένου να βρεθεί το μεγαλύτερο στοιχείο του. Αυτό το στοιχείο τοποθετείται στην αρχή του πίνακα, ανταλλάσσοντας θέσεις με το στοιχείο της πρώτης θέσης του πίνακα. Η σάρωση του πίνακα επαναλαμβάνεται, ξεκινώντας τώρα από το δεύτερο στοιχείο του πίνακα. Το μεγαλύτερο από τα στοιχεία που απέμειναν ανταλλάσσει θέσεις με το στοιχείο της δεύτερης θέσης του πίνακα. Η σάρωση επαναλαμβάνεται, ξεκινώντας από το τρίτο στοιχείο του πίνακα, μετά από το τέταρτο στοιχείο του πίνακα κ.ο.κ.

Το παρακάτω ημιτελές τμήμα αλγορίθμου κωδικοποιεί την παραπάνω διαδικασία:

Για k από 1 μέχρι 29

θ <- .(1.).

Για i από k μέχρι 30

Αν Π[i] … Π[θ] τότε
θ<- .(3..)

Τέλος_αν

Τέλοςεπανάληψης
αντιμετάθεσε .(4.). , .(5..)
Τέλος
επανάληψης
Να γράψετε στο τετράδιό σας τους αριθμούς (1) έως (5), που αντιστοιχούν στα κενά του αλγορίθμου και, δίπλα σε κάθε αριθμό, ό,τι πρέπει να συμπληρωθεί, ώστε να γίνεται σωστά η ταξινόμηση.
Μονάδες 10

Τα θέματα σε pdf, 2014, Μαΐου-Ιουνίου, Ημερήσια

Θέμα A, Ερώτημα 3, 2012, Μαΐου-Ιουνίου, Ημερήσια

Δίνεται ο πίνακας Α[10], στον οποίο επιθυμούμε να αποθηκεύσουμε όλους τους ακεραίους αριθμούς από το 10 μέχρι το 1 με φθίνουσα σειρά. Στον πίνακα έχουν εισαχθεί ορισμένοι αριθμοί, οι οποίοι εμφανίζονται στο παρακάτω σχήμα:

1 2 3 4 5 6 7 8 9 10
10 9 5 4 1

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

Α[3] <- 3 + Α[…]

Α[9] <- Α[…] – 2

Α[8] <- Α[…] – 5

Α[4] <- 5 + Α[…]

Α[5] <- (Α[…] + Α[7]) div 2

(μονάδες 5)

β.     Να συμπληρώσετε το παρακάτω τμήμα αλγορίθμου, το οποίο αντιμεταθέτει τις τιμές των κελιών του πίνακα Α, έτσι ώστε η τελική διάταξη των αριθμών να είναι από 1 μέχρι 10.

Για i απόμέχρι

αντιμετάθεσε Α[…], Α[…]

Τέλος_επανάληψης

(μονάδες 4)

Μονάδες 9

Τα θέματα σε pdf, 2012, Μαΐου-Ιουνίου, Ημερήσια

Ερώτημα 2, Θέμα Β, 2011, Επαναληπτικές, Ημερήσια

Δίνεται ο πίνακας Α τεσσάρων στοιχείων με τιμές:
Α[1]=3, Α[2]=5, Α[3]=8, Α[4]=13 και το παρακάτω τμήμα αλγορίθμου:
i <- 1 j <- 4
Όσο i<=3 επανάλαβε
πρόχειρο <- Α[j]
A[j] <- Α[i]
Α[i] <- πρόχειρο
Γράψε   Α[1], Α[2], Α[3]
i <- i + 1
j <- j – 1
Τέλος_επανάληψης
Να γράψετε στο τετράδιό σας τις τιμές που θα εμφανισθούν κατά την εκτέλεσή του.
Μονάδες 9

Τα θέματα σε pdf, 2011, Επαναληπτικές, Ημερήσια

Ερώτημα 1, Θέμα B, 2009, Μαΐου-Ιουνίου, Ημερήσια

Δίνεται o παρακάτω αλγόριθμος, στον οποίο έχουν αριθμηθεί οι εντολές εκχώρησης:
Αλγόριθμος Πολλαπλασιασμός
Δεδομένα //α,β//
Αν α>β τότε αντιμετάθεσε α, β
1     γ<-0
       Όσο α>0 επανάλαβε
2                 δ<-α mod 10
                   Όσο δ>0 επανάλαβε
3                          δ<- δ – 1
4                          γ<- γ + β
Τέλος_επανάληψης
5             α<- α div 10
6             β<- β*10
Τέλος_επανάληψης
Αποτελέσματα //γ//
Τέλος πολλαπλασιασμός

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

Αριθμός Εντολής α β γ δ
20 50
1 0

Α. Να μεταφέρετε στο τετράδιό σας τον πίνακα και να τον συμπληρώσετε, εκτελώντας τον αλγόριθμο με αρχικές τιμές α=20, β=50 (που ήδη φαίνονται στον πίνακα).

Για κάθε εντολή εκχώρησης που εκτελείται να γράψετε σε νέα γραμμή του πίνακα:
α.   Τον αριθμό της εντολής που εκτελείται (στην πρώτη στήλη).
β.    Τη  νέα τιμή της μεταβλητής που  επηρεάζεται από την εντολή (στην αντίστοιχη στήλη).
Μονάδες 10

Τα θέματα σε pdf, 2009, Μαΐου-Ιουνίου, Ημερήσια

Ερώτημα 2, Θέμα B, 2009, Μαΐου-Ιουνίου, Ημερήσια

Να γράψετε τμήμα αλγορίθμου, που θα έχει το ίδιο αποτέλεσμα με την εντολή:

Αν α>β τότε αντιμετάθεσε α, β χωρίς να χρησιμοποιήσετε την εντολή αντιμετάθεσε.

Μονάδες 5

Τα θέματα σε pdf, 2009, Μαΐου-Ιουνίου, Ημερήσια