Κεφάλαιο ο Σπύρος Ζυγούρης Καθηγητής Πληροφορικής Να δοθεί ο ορισμός της ταξινόμησης Ν στοιχείων Η τακτοποίηση των κόμβων μιας δομής με μια ιδιαίτερη σειρά ονομάζεται ταξινόμηση (sorting) ή διάταξη (ordering). Η ταξινόμηση των στοιχείων συνίσταται στην μετάθεση της θέσης των στοιχείων, ώστε να τοποθετηθούν σε μια σειρά ώστε δοθείσης μιας συνάρτησης διάταξης f, να ισχύει: f(α k1 ) f(α k2 ). f(α kν ) ορισμός
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο(min) στοιχείο και να το τοποθετήσει στην πρώτη θέση. Τελευταίο στοιχείο Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. Τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] min 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο(min) στοιχείο και να το τοποθετήσει στην πρώτη θέση. Τελευταίο στοιχείο Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. Τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] min, δεν χρειάζεται αντιμετάθεση 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών. Στη συνέχεια συγκρίνουμε το ο με το 2ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών. Στη συνέχεια συγκρίνουμε το ο με το 2ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 1 ο Βήμα Ο αλγόριθμος έχει ως στόχο να βρει το μικρότερο στοιχείο και να το τοποθετήσει στην πρώτη θέση. Αρχίζοντας από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο. τα αντιμεταθέτουμε, αν χρειασθεί, ώστε το μικρότερο από τα δύο στοιχεία να βρεθεί πρώτο. Στη συνέχεια συγκρίνουμε το 4ο με το ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών. Στη συνέχεια συγκρίνουμε το ο με το 2ο και αν χρειάζεται κάνουμε αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] min2 min1 2 ο Βήμα Δεν ασχολούμαστε με το πρώτο στοιχείο. Διότι αυτό είναι το μικρότερο στοιχείο. Ο αλγόριθμος προσπαθεί να βρει το αμέσως επόμενο μικρότερο στοιχείο (min2) και να το τοποθετήσει στη δεύτερη θέση Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 min2 min1 2 ο Βήμα Δεν ασχολούμαστε με το πρώτο στοιχείο. Διότι αυτό είναι το μικρότερο στοιχείο. Ο αλγόριθμος προσπαθεί να βρει το αμέσως επόμενο μικρότερο στοιχείο (min2) και να το τοποθετήσει στη δεύτερη θέση Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 2 ο Βήμα Δεν ασχολούμαστε με το πρώτο στοιχείο. Διότι αυτό είναι το μικρότερο στοιχείο. Ο αλγόριθμος προσπαθεί να βρει το αμέσως επόμενο μικρότερο στοιχείο (min2) και να το τοποθετήσει στη δεύτερη θέση Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 4 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 5 ο στοιχείο με τιμή Οπότε παραμένουν ως έχουν και δεν κάνουμε αντιμετάθεση.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 2 ο Βήμα Δεν ασχολούμαστε με το πρώτο στοιχείο. Διότι αυτό είναι το μικρότερο στοιχείο. Ο αλγόριθμος προσπαθεί να βρει το αμέσως επόμενο μικρότερο στοιχείο (min2) και να το τοποθετήσει στη δεύτερη θέση Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 4 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 5 ο στοιχείο με τιμή Οπότε παραμένουν ως έχουν.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 2 ο Βήμα Συγκρίνουμε τα επόμενα 2 στοιχεία.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 2 ο Βήμα Συγκρίνουμε τα επόμενα 2 στοιχεία.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 2 ο Βήμα Συγκρίνουμε τα επόμενα 2 στοιχεία.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 2 ο Βήμα Συγκρίνουμε τα επόμενα 2 στοιχεία.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] min1 min2 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min) από τις μη ταξινομημένες τιμές. min
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min) από τις μη ταξινομημένες τιμές. Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 5 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 4 ο στοιχείο με τιμή, άρα γίνεται αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min) από τις μη ταξινομημένες τιμές. Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 5 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 4 ο στοιχείο με τιμή, άρα γίνεται αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min) από τις μη ταξινομημένες τιμές. Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 5 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 4 ο στοιχείο με τιμή, άρα γίνεται αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min) από τις μη ταξινομημένες τιμές. Αρχίζοντας πάλι από το τελευταίο στοιχείο του πίνακα, συγκρίνουμε τα στοιχεία ανά δυο Το 5 ο στοιχείο του πίνακα με τιμή είναι μικρότερο από το 4 ο στοιχείο με τιμή, άρα γίνεται αντιμετάθεση τιμών.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] min1 min2 min 4 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min4) από τις 2 μη ταξινομημένες τιμές. min4
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] Ανά 2 4 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min4) από τις 2 μη ταξινομημένες τιμές.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 4 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min4) από τις 2 μη ταξινομημένες τιμές.
Κεφάλαιο ο Να περιγραφεί η μέθοδος ευθείας ανταλλαγής στοιχείων (φυσαλίδα) και να δοθεί ο αλγόριθμος για έναν μονοδιάστατο πίνακα Ν στοιχείων. Βασίζεται στις διαδοχικές αντιμεταθέσεις των στοιχείων ώστε τα στοιχεία με τις μικρότερες τιμές να ανεβαίνουν στις πρώτες θέσεις του πίνακα. Τα μικρότερα (ή κατά μια έννοια τα ελαφρύτερα), ακολουθούν την πορεία μιας φυσαλίδας. Για να γίνει αντιληπτός ο αλγόριθμος θα χρησιμοποιήσουμε τον ακόλουθο μονοδιάστατο πίνακα [,, 7,, ] 4 ο Βήμα προσπαθούμε να βρούμε την αμέσως μικρότερη τιμή,(min4) από τις 2 μη ταξινομημένες τιμές.
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα ο Βήμα 4 ο Βήμα
Κεφάλαιο ο Συνολικά έχουμε την εξής εικόνα: 1 ο Βήμα 2 ο Βήμα ο Βήμα 4 ο Βήμα Από το παράδειγμα μπορούμε να εξάγουμε τα ακόλουθα συμπεράσματα, σχετικά με τη λειτουργία της μεθόδου της ταξινόμησης: 1. Για να πάει κάθε στοιχείο στη τελική του θέση, έγιναν συνολικά τόσα βήματα όσα τα στοιχεία του πίνακα μείον ένα. Συνεπώς, αν είχαμε Ν στοιχεία θα γινόντουσαν Ν-1 βήματα ή διαφορετικά Ν-1 επαναλήψεις της ίδιας διαδικασίας. 2. Σε κάθε βήμα γινόταν διαφορετικός αριθμός συγκρίσεων των ζευγών των αριθμών. Στο 1ο βήμα έγιναν 4 συγκρίσεις, στο 2ο βήμα συγκρίσεις, στο ο βήμα 2 συγκρίσεις και στο 4ο βήμα 1 σύγκριση. Αν προσπαθήσουμε να το εκφράσουμε αλγοριθμικά ως μια επανάληψη, η επανάληψη θα γίνεται κάθε φορά όσα και τα εναπομείναντα αταξινόμητα στοιχεία μείον ένα.
Κεφάλαιο ο Αλγόριθμος Φυσαλίδας. Αλγόριθμος Φυσαλίδα Ο αλγόριθμος είναι ο ακόλουθος: Εμφάνισε Δώσε το πλήθος των στοιχείων του πίνακα. Διάβασε Ν Για i από 1 μέχρι Ν Εμφάνισε Δώσε το στοιχείο, i Διάβασε Π[i] Για i από 2 μέχρι Ν Για j από N μέχρι i με_βήμα 1 Αν Π[j-1] > Π[j] τότε Αντιμετάθεσε Π[j-1], Π[j] Τέλος_αν Για i από 1 μέχρι Ν Εμφάνισε Π[i] Ηεντολή Αντιμετάθεσε Π[j-1],Π[j] αντιμεταθέτει τις τιμές των στοιχείων. Θα μπορούσε να γραφεί και ως εξής: temp Π[ j-1] Π[ j-1] Π[ j ] Π[ j] temp Τέλος Φυσαλίδα
Κεφάλαιο ο
.5 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος που θα διαβάζει ένα πίνακα 0 θέσεων και θα εμφανίζει τους 5 μεγαλύτερους αριθμούς του πίνακα. Όταν είχαμε να βρούμε το μέγιστο στοιχείο ενός πίνακα, ελέγχαμε ένα προς ένα τα στοιχεία του πίνακα, Και τελικά καταλήγαμε στο μέγιστο. Γενικά όταν μας ζητηθεί να βρούμε τα x μεγαλύτερα ή μικρότερα στοιχεία ενός πίνακα, πρώτα θα τον ταξινομούμε και κατόπιν θα εμφανίζουμε τα στοιχεία που μας έχουν ζητηθεί. Αφού ταξινομηθεί ο πίνακας σε αύξουσα σειρά, πρέπει να εμφανίσουμε τα στοιχεία Π[0],Π[99],Π[98],Π[97],Π[96].(5 στοιχεία ) Δηλ τα 5 μεγαλύτερα στοιχεία αρχίζοντας από τον απολύτως μεγαλύτερο αριθμό. Η εμφάνιση των στοιχείων θα γίνει με τη βοήθεια μιας επανάληψης από το 0 μέχρι 96 με βήμα -1.
.5 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Αλγόριθμος Μέγιστοι_Αριθμοί_Πίνακα Ο αλγόριθμος είναι ο ακόλουθος: Για i από 1 μέχρι 0 Εμφάνισε Δώσε το στοιχείο, i Διάβασε Π[i] Για i από 2 μέχρι 0 Για j από 0 μέχρι i με_βήμα 1 Αν Π[j-1] > Π[j] τότε Αντιμετάθεσε Π[j-1], Π[j] Τέλος_αν Είναι ο ίδιος ο αλγόριθμος με τη φυσαλίδα. Εμφάνισε Τα 5 μεγαλύτερα στοιχεία του πίνακα είναι Για i από 0 μέχρι 96 με_βήμα -1 Εμφάνισε Π[i] από 1 ως 5 Τέλος Μέγιστοι_Αριθμοί_Πίνακα Σημείωση: Αν στο τμήμα της ταξινόμησης του πίνακα, αλλάξω το Π[j-1] > Π[j] με Π[j-1] < Π[j], Τότε ο πίνακας Π ταξινομείται σε φθίνουσα σειρά. Οπότε η τελευταία επανάληψη εμφάνισης των 5 μεγαλύτερων αριθμών είναι θα εκτελούνταν από 1 ως 5.
.6 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Μια οικολογική οργάνωση διαθέτει στοιχεία για το ποσοστό δασών για 50 διαφορετικές χώρες. Χρειάζεται να πάρει απόφαση για να διοργανώσει μια εκδήλωση διαμαρτυρίας στις χώρες που έχουν το χαμηλότερο ποσοστό δασών. Να δοθεί αλγόριθμος που θα ταξινομεί τα ποσοστά δασών των χωρών με χρήση της μεθόδου ευθείας ανταλλαγής και θα εκτυπώνει τις χώρες στις οποίες θα διοργανωθούν οι εκδηλώσεις. Χρησιμοποιούμε 2 πίνακες για να αποθηκεύσουμε : 1. Τα ονόματα των χωρών και 2. Τα ποσοστά των δασών. Κατόπιν για να βρούμε τα χαμηλότερα ποσοστά πρέπει,να ταξινομήσουμε τον πίνακα με τα ποσοστά. Προσοχή όμως σε μια σημαντική λεπτομέρεια. Ας πάρουμε τους 2 πρώτους πίνακες: Ονόματα Χωρών Ιταλία Σουηδία Ισπανία Γερμανία Ποσοστά Δασών 55 5 Προκύπτει δηλαδή μια λανθασμένη αντιστοιχία. Ταξινομημένος Πίνακας Ποσοστών δασών Για να αποφευχθεί αυτό το πρόβλημα όταν κάνουμε αντιμετάθεση των στοιχείων του πίνακα των ποσοστών, θα πρέπει να κάνουμε αντιμετάθεση και των αντιστοίχων στοιχείων του πίνακα με τα ονόματα χωρών. 5 55
.6 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα: Ονόματα Χωρών Ιταλία Σουηδία Ισπανία Γερμανία Ποσοστά Δασών 55 5 Όταν γίνει αντιμετάθεση του 2 ου στοιχείου με το ο στοιχείο στο πίνακα των ποσοστών. Θα γίνει αντιμετάθεση και στον πίνακα με τα ονόματα χωρών.
.6 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα: Ονόματα Χωρών Ιταλία Ισπανία Σουηδία Γερμανία Ποσοστά Δασών 55 5 Όταν γίνει αντιμετάθεση του 2 ου στοιχείου με το ο στοιχείο στο πίνακα των ποσοστών. Θα γίνει αντιμετάθεση και στον πίνακα με τα ονόματα χωρών. Όταν γίνει αντιμετάθεση του ου στοιχείου με το 4 ο στοιχείο στο πίνακα των ποσοστών. Θα γίνει πάλι αντιμετάθεση καιστονπίνακαμεταονόματαχωρών. Με αυτό τον τρόπο θα υπάρχει αντιστοιχία μεταξύ των δύο πινάκων. Κατόπιν αρκεί να εμφανίσουμε τα ονόματα των πρώτων χωρών του πίνακα που θα προκύψει..
.6 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Αλγόριθμος Ποσοστό_Δασών Ο αλγόριθμος είναι ο ακόλουθος: Για i από 1 μέχρι 50 Εμφάνισε Διάβασε Εμφάνισε Διάβασε Δώσε το όνομα της χώρας, i Χώρα [i] Δώσε το ποσοστό της χώρας, i Ποσοστό [i] Για i από 2 μέχρι 50 Για j από 50 μέχρι i με_βήμα 1 Αν Ποσοστό[j-1] > Ποσοστό[j] τότε Αντιμετάθεσε Ποσοστό[j-1], Ποσοστό[j] Αντιμετάθεσε Χώρα[j-1], Χώρα[j] Τέλος_αν Εμφάνισε Οι χώρες με τα χαμηλότερα ποσοστά δασών είναι Για i από 1 μέχρι με_βήμα 1 Εμφάνισε Χώρα[i] Τέλος Ποσοστό_Δασών
.7 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Ένας μαθητής έχει μια συλλογή από CD και για κάθε CD έχει καταγράψει στον Η.Υ. τον τίτλο και την χρονιά έκδοσης του. Να ταξινομηθούν τα CD με βάση τη χρονιά έκδοσης τους και να υπολογιστεί ο αριθμός των CD που έχει ο μαθητής με χρονολογία έκδοσης πριν από το 1995. Επίσης να υπάρχει δυνατότητα να βρίσκεις εάν ένα CD με συγκεκριμένο τίτλο υπάρχει στη συλλογή του ή όχι, δίνοντας τον τίτλο του. Χρησιμοποιούμε 2 πίνακες Νθέσεων για να αποθηκεύσουμε : 1. Τους τίτλους των CD και 2. Τις χρονιές έκδοσης των CD. Στη συνέχεια θα ταξινομηθούν τα CD με βάση τη χρονιά έκδοσης τους και θα γίνει και αντιμετάθεση του πίνακα με τους τίτλους των CD. Ο υπολογισμός του πλήθους των CD με χρονιά έκδοσης πριν το 1995 θα γίνει με το γνωστό τρόπο με χρήση της μεταβλητής πλήθος. Τέλος θα διαβάζεται ένας τίτλος και θα γίνεται έλεγχος αν υπάρχει στη συλλογή του μαθητή κάνοντας χρήση της σειριακής μεθόδου αναζήτησης πρώτης εμφάνισης. Ο αλγόριθμος είναι ο ακόλουθος:
Αλγόριθμος Δισκοθήκη Εμφάνισε ΑΝΑΠΤΥΞΗ Δώσε τον πλήθος ΕΦΑΡΜΟΓΩΝ των CD Διάβασε ΝΚεφάλαιο ο Για i από 1 μέχρι Ν Εμφάνισε Δώσε τον τίτλο του CD, i Διάβασε Τίτλος[ i ] Εμφάνισε Δώσε τη χρονιά έκδοσης του CD, i Διάβασε Χρονιά[ i ] Για i από 2 μέχρι Ν Για j από Ν μέχρι i με_βήμα 1 Αν Χρονιά[j-1] > Χρονιά[j] τότε Αντιμετάθεσε Χρονιά[j-1], Χρονιά[j] Αντιμετάθεσε Τίτλος[j-1], Τίτλος[j] Τέλος_αν Εμφάνισε Τα CD με βάση τη χρονολογία έκδοσης τους είναι Για i από 1 μέχρι Νμε_βήμα 1 Εμφάνισε Τίτλος [i], Χρονιά[i] πλήθος 0 Για i από 1 μέχρι Νμε_βήμα 1 Αν Χρονιά[i ] < 1995 τότε πλήθος πλήθος+1 Τέλος_αν Εμφάνισε Τα CD που εκδοθήκαν πριν Εμφάνισε Τέλος το 1995 είναι,πλήθος Εμφάνισε Δώσε τίτλο CD Διάβασε Τίτλος_CD βρέθηκε Ψευδής Όσο i 0 i Νκαιβρέθηκε=Ψευδής επανέλαβε Αν Τίτλος[i] = τίτλος_cd τότε Εμφάνισε Το CD υπάρχει στη συλλογή. Εμφάνισε Η χρονιά έκδοσης,χρονιά[i] βρέθηκε Αληθής Τέλος_αν i i+1 Αν βρέθηκε = Ψευδής τότε Εμφάνισε Το CD δεν υπάρχει στη συλλογή Τέλος_αν Δισκοθήκη
.8 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Σε ένα αγώνα σφαίρας συμμετέχουν αθλητές. Κάθε αθλητής κάνει 5 προσπάθειες. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει επώνυμο και τις 5 μετρήσεις κάθε αθλητή και θα εμφανίζει για κάθε αθλητή τη καλύτερη προσπάθεια του. Επίσης θα εμφανίζει τον πρώτο, το δεύτερο και τον τρίτο αθλητή. Χρησιμοποιούμε 2 πίνακες για να αποθηκεύσουμε : 1. Σε ένα πίνακα θέσεων τα επώνυμα των αθλητών, 2. Σε ένα πίνακα x5 θα αποθηκεύω σε κάθε γραμμή του, για κάθε αθλητή τα αποτελέσματα των 5 προσπαθειών του. Πίνακας Ονομάτων Παπαδάκης Γεωργίου Φαράκος Οικονόμου Βασιλείου Πίνακας Προσπαθειών 42 54 55 46 9 4 52 51 49 41 46 58 51 5 21 42 54 55 46 9 42 54 55 46 9
.8 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Σε ένα αγώνα σφαίρας συμμετέχουν αθλητές. Κάθε αθλητής κάνει 5 προσπάθειες. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει επώνυμο και τις 5 μετρήσεις κάθε αθλητή και θα εμφανίζει για κάθε αθλητή τη καλύτερη προσπάθεια του. Επίσης θα εμφανίζει τον πρώτο, το δεύτερο και τον τρίτο αθλητή. Χρησιμοποιούμε 2 πίνακες για να αποθηκεύσουμε : 1. Σε ένα πίνακα θέσεων τα επώνυμα των αθλητών, 2. Σε ένα πίνακα x5 θα αποθηκεύω σε κάθε γραμμή του, για κάθε αθλητή τα αποτελέσματα των 5 προσπαθειών του. Στη συνέχεια με μια διπλή επανάληψη θα υπολογίζουμε το μέγιστο για κάθε γραμμή του πίνακα Προσπαθειών. Πίνακας Καλύτερης Πίνακας Ονομάτων Πίνακας Προσπαθειών Προσπάθειας ανά Αθλητή Παπαδάκης Γεωργίου Φαράκος Οικονόμου Βασιλείου 42 4 46 40 42 54 52 58 54 57 Άρα ο τρίτος πίνακας περιέχει τη μεγαλύτερη τιμή κάθε γραμμής του 2 ου πίνακα. 55 51 51 55 51 46 49 5 56 46 9 41 21 49 7 55 52 58. 56 57
.8 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Σε ένα αγώνα σφαίρας συμμετέχουν αθλητές. Κάθε αθλητής κάνει 5 προσπάθειες. Να γραφεί αλγόριθμος ο οποίος θα διαβάζει επώνυμο και τις 5 μετρήσεις κάθε αθλητή και θα εμφανίζει για κάθε αθλητή τη καλύτερη προσπάθεια του. Επίσης θα εμφανίζει τον πρώτο, το δεύτερο και τον τρίτο αθλητή. Χρησιμοποιούμε 2 πίνακες για να αποθηκεύσουμε : 1. Σε ένα πίνακα θέσεων τα επώνυμα των αθλητών, 2. Σε ένα πίνακα x5 θα αποθηκεύω σε κάθε γραμμή του, για κάθε αθλητή τα αποτελέσματα των 5 προσπαθειών του. Στη συνέχεια με μια διπλή επανάληψη θα υπολογίζουμε το μέγιστο για κάθε γραμμή του πίνακα Προσπαθειών. Πίνακας Καλύτερης Πίνακας Ονομάτων Πίνακας Προσπαθειών Προσπάθειας ανά Αθλητή Παπαδάκης Γεωργίου Φαράκος Οικονόμου Βασιλείου 42 4 46 40 42 54 52 58 54 57 Άρα ο τρίτος πίνακας περιέχει τη μεγαλύτερη τιμή κάθε γραμμής του 2 ου πίνακα. 55 51 51 55 51 46 49 5 56 46 9 41 21 49 7 55 52 58. 56 57 max τιμές Αφού υπολογιστεί ο πίνακας με τις καλύτερες προσπάθειες, μπορούμε να εμφανίσουμε το επώνυμο κάθε αθλητή δίπλα στο αντίστοιχο στοιχείο του πίνακα,
Αλγόριθμος Αθλητές ΑΝΑΠΤΥΞΗ Για i από 1 μέχρι ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Εμφάνισε Δώσε το επώνυμο του αθλητή, i Διάβασε Επώνυμο[ i ] Για i από 1 μέχρι Για j από 1 μέχρι 5 Εμφάνισε Διάβασε Μέτρηση[ i,j ] Για i από 1 μέχρι max[ i ] Μέτρηση[i,1] Για i από 1 μέχρι Για j από 1 μέχρι 5 Δώσε τη μέτρηση της προσπάθειας, j του αθλητή,i Αν Μέτρηση[i,j] > max[ i ] τότε max [ i ] Μέτρηση[i,j] Τέλος_αν Για i από 1 μέχρι Εμφάνισε Εμφάνισε είναι, max[i]! Το πρώτο στοιχείο κάθε γραμμής Η καλύτερη προσπάθεια του, Επώνυμο[i] Για i από 2 μέχρι Για j από μέχρι i με βήμα -1 Τέλος Αν max[ j-1] < max[ j ] τότε! Φθίνουσα σειρά Αντιμετάθεσε max[j-1], max[j] Αντιμετάθεσε Επώνυμο[j-1], Επώνυμο[j] Τέλος_αν Για i από 1 μέχρι Εμφάνισε Επώνυμο[ i ] Εμφάνισε Θέση, i Αθλητές
.9 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Δίνεται ο παρακάτω κατάλογος όπου φαίνονται οι τιμές σε Ευρώ, 4 προϊόντων υπολογιστών από 5 καταστήματα. ETHERNET TFT Monitor USB Πληκτρολόγιο Καταστήματα SOFT-IN FRAME-T MicroComp PC View Spyzy Net 220 12 1 12 245 16 11 11 295 16 1 24 20 20 11 17,5 200 21 8 Να γραφεί αλγόριθμος ο οποίος θα διαβάζει τα στοιχεία του καταλόγου, θα τα αποθηκεύει στις κατάλληλες δομές δεδομένων και θα υπολογίζει τη μέση τιμή για κάθε προϊόν. Επίσης θα υπολογίζεται το σύνολο των εσόδων κάθε καταστήματος σε περίπτωση που ένας πελάτης αγοράσει και τα τέσσερα προϊόντα. Χρησιμοποιούμε πίνακες για να αποθηκεύσουμε : 1. Σε ένα πίνακα 4 θέσεων τα όνομα κάθε προϊόντος, 2. Σε ένα πίνακα 5 θέσεων θα αποθηκεύω τα ονόματα των πελατών.. Σε ένα πίνακα 4x5 θέσεων θα αποθηκεύω τις τιμές των προϊόντων. Κάθε γραμμή του τρίτου πίνακα θα έχει τις τιμές κάθε προϊόντος. Όταν ένας πελάτης αγοράσει και τα 4 προϊόντα Πρέπει στην ουσία να υπολογίσουμε το άθροισμα κατά στήλη. Και να το εμφανίσουμε με το όνομα του αντίστοιχου καταστήματος.
Αλγόριθμος Τιμές_Προϊόντων ΑΝΑΠΤΥΞΗ! Διάβασμα στοιχείων ΕΦΑΡΜΟΓΩΝ Για i από 1 μέχρι 4 Κεφάλαιο ο Εμφάνισε Δώσε το επώνυμο του προϊόντος, i Διάβασε Προϊόν[ i ] Για i από 1 μέχρι 5 Εμφάνισε Διάβασε Κατάστημα[ i ] Για i από 1 μέχρι 4 Για j από 1 μέχρι 5 Δώσε το όνομα του καταστήματος, i Εμφάνισε Δώσε τη τιμή του προϊόντος Διάβασε Τιμή [i,j]! Υπολογισμός μέσης τιμής για κάθε προϊόν Για i από 1 μέχρι 4 Άθροισμα[i] 0 Για i από 1 μέχρι 4 Για j από 1 μέχρι 5 Άθροισμα[i] Άθροισμα[i] +Τιμή [i,j ] Για i από 1 μέχρι 4 Τέλος Η μέση τιμή του προϊόντος,προϊόν [i] Εμφάνισε Εμφάνισε είναι,άθροισμα [i]/5! Υπολογισμός εσόδων ανά κατάστημα Για j από 1 μέχρι 5 ΆθροισμαΣ[j] 0 Για j από 1 μέχρι 5 Για i από 1 μέχρι 4 ΆθροισμαΣ[j] ΆθροισμαΣ[j] +Τιμή [i,j ] Για j από 1 μέχρι 5 Εμφάνισε Τα έσοδα του καταστήματος,κατάστημα [j] Εμφάνισε είναι,άθροισμασ[j] Τιμές_Προϊόντων
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα 50x50.Στη συνέχεια θα ζητά έναν αριθμό από το 1 έως το 50 (αν ο αριθμός δεν είναι μεταξύ του 1 και 50 να ζητείται επαναληπτικά μέχρι να δοθεί αποδεκτό νούμερο) και θα δημιουργεί έναν 2ο πίνακα 49x49 στον οποίο θα έχουν αντιγραφεί τα στοιχεία του πρώτου πίνακα, πλην των στοιχείων που βρίσκονται στη γραμμή και τη στήλη που αντιστοιχεί στον αριθμό εισόδου. Χρησιμοποιούμε ένα πίνακα για να αποθηκεύσουμε : Πίνακας Α 50x50 θέσεων Πίνακας Α 50x50 θέσεων Α 1,1 Α 1,2... Α 1,49 Α 1,50 Α 2,1 Α,50 Α 2,2 Α 2,49 Α 2,50 ή Α 1,1 Α 1,2... Α 1,49 Α 1,50 Α 2,2 Α 2,49 Α 2,50 Α,1 Α,2 Α,49 Α,1 Α,2 Α 2,1 Α,50 Α,49 Α 49,2 Α 49,49 Α 49,50 Α 50,1 Α 50,2 Α 49,1 Α 50,50 Α 49,2 Α 49,49 Α 49,50 Α 50,49 Α 50,1 Α 50,2 Α 49,1 Α 50,50 Α 50,49 Πίνακας Β 49x49 θέσεων Πίνακας Β 49x49 θέσεων Δηλώνω νούμερο πχ α = 49
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα 50x50.Στη συνέχεια θα ζητά έναν αριθμό από το 1 έως το 50 (αν ο αριθμός δεν είναι μεταξύ του 1 και 50 να ζητείται επαναληπτικά μέχρι να δοθεί αποδεκτό νούμερο) και θα δημιουργεί έναν 2ο πίνακα 49x49 στον οποίο θα έχουν αντιγραφεί τα στοιχεία του πρώτου πίνακα, πλην των στοιχείων που βρίσκονται στη γραμμή και τη στήλη που αντιστοιχεί στον αριθμό εισόδου. Χρησιμοποιούμε 1πίνακα για να αποθηκεύσουμε : Πίνακας Α 50x50 θέσεων Πίνακας Α 50x50 θέσεων Α 1,1 Α 1,2... Α 1,49 Α 2,1 Α,49 Α 2,2 Α 2,49 ή Α 1,1 Α 1,2... Α 1,50 Α 2,2 Α 2,50 Α,1 Α,2 Α,1 Α,2 Α 2,1 Α,50 Α 49,1 Α 49,2 Α 49,49 Α 50,1 Α 50,2 Α 50,50 Πίνακας Β 49x49 θέσεων Πίνακας Β 49x49 θέσεων Δηλώνω νούμερο πχ α = 49
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα 50x50.Στη συνέχεια θα ζητά έναν αριθμό από το 1 έως το 50 (αν ο αριθμός δεν είναι μεταξύ του 1 και 50 να ζητείται επαναληπτικά μέχρι να δοθεί αποδεκτό νούμερο) και θα δημιουργεί έναν 2ο πίνακα 49x49 στον οποίο θα έχουν αντιγραφεί τα στοιχεία του πρώτου πίνακα, πλην των στοιχείων που βρίσκονται στη γραμμή και τη στήλη που αντιστοιχεί στον αριθμό εισόδου. Χρησιμοποιούμε 1πίνακα για να αποθηκεύσουμε : Πίνακας Α 50x50 θέσεων Πίνακας Α 50x50 θέσεων Α 1,1 Α 1,2... Α 1,49 Α 2,1 Α,49 Α 2,2 Α 2,49 ή Α 1,1 Α 1,2... Α 1,50 Α 2,2 Α 2,50 Α,1 Α,2 Α,1 Α,2 Α 2,1 Α,50 Α 49,1 Α 49,2 Α 49,49 Α 50,1 Α 50,2 Α 50,50 Πίνακας Β 49x49 θέσεων Πίνακας Β 49x49 θέσεων Δηλώνω νούμερο πχ α = 49
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος ο οποίος θα διαβάζει έναν πίνακα 50x50.Στη συνέχεια θα ζητά έναν αριθμό από το 1 έως το 50 (αν ο αριθμός δεν είναι μεταξύ του 1 και 50 να ζητείται επαναληπτικά μέχρι να δοθεί αποδεκτό νούμερο) και θα δημιουργεί έναν 2ο πίνακα 49x49 στον οποίο θα έχουν αντιγραφεί τα στοιχεία του πρώτου πίνακα, πλην των στοιχείων που βρίσκονται στη γραμμή και τη στήλη που αντιστοιχεί στον αριθμό εισόδου. Χρησιμοποιούμε 1πίνακα για να αποθηκεύσουμε : Πίνακας Α 50x50 θέσεων Πίνακας Α 50x50 θέσεων Α 1,1 Α 1,2... Α 1,49 Α 2,1 Α,49 Α 2,2 Α 2,49 ή Α 1,1 Α 1,2... Α 1,49 Α 2,2 Α 2,49 Α,1 Α,2 Α,1 Α,2 Α 2,1 Α,49 Α 49,1 Α 49,2 Α 49,49 Α 49,1 Α 49,2 Α 49,49 Πίνακας Β 49x49 θέσεων Πίνακας Β 49x49 θέσεων Δηλώνω νούμερο πχ α = 49
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Στην ουσία χωρίζουμε τον πίνακα Π σε 4 τμήματα: Έστω ότι δηλώνω α= Π 1 Στήλες Παραμένουν όπως είναι 1 24 Για i από 1 μέχρι α-1 επανέλαβε Στήλες Μεταφορά προς τα αριστερά 26 50 Για i από 1 μέχρι α-1 επανέλαβε 1 Για j από 1 μέχρι α-1 επανέλαβε Για j από α+1 μέχρι 50 επανέλαβε γραμμές α-1 24 Β[i,j] Α[i,j] Β[i,j-1] Α[i,j] 24 γραμμές,
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο 2ο τεταρτημόριο Α 7,7
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο 2ο τεταρτημόριο Β 7,6 Δηλαδή μειώνεται κατά 1 η στήλη.
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Στην ουσία χωρίζουμε τον πίνακα σε 4 τμήματα: Έστω ότι δηλώνω α= Α 1 1 24 Παραμένουν όπως είναι Για i από 1 μέχρι α-1 επανέλαβε 26 50 Μεταφορά προς τα αριστερά Για i από 1 μέχρι α-1 επανέλαβε 1 Για j από 1 μέχρι α-1 επανέλαβε Για j από α+1 μέχρι 50 επανέλαβε Β[i,j] Α[i,j] Β[i,j-1] Α[i,j] 24 24 26 1 24 Μεταφορά προς τα πάνω α+1 Για i από α+1 μέχρι 50 επανέλαβε Για j από 1 μέχρι α-1 επανέλαβε γραμμές Β[i-1,j] Α[i,j], 50 Στήλες
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο ο τεταρτημόριο Α 5,
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο ο τεταρτημόριο Β 4, Δηλαδή μειώνεται κατά 1 η γραμμή.
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Στην ουσία χωρίζουμε τον πίνακα σε 4 τμήματα: Έστω ότι δηλώνω α= Α 1 1 24 Παραμένουν όπως είναι Για i από 1 μέχρι α-1 επανέλαβε 26 50 Μεταφορά προς τα αριστερά Για i από 1 μέχρι α-1 επανέλαβε 1 Για j από 1 μέχρι α-1 επανέλαβε Για j από α+1 μέχρι 50 επανέλαβε Β[i,j] Α[i,j] Β[i,j-1] Α[i,j] 24 24 26 1 24 Μεταφορά προς τα πάνω Για i από α+1 μέχρι 50 επανέλαβε, Μεταφορά προς τα πάνω & αριστερά 26 50 Για i από α+1 μέχρι 50 επανέλαβε 26 Για j από 1 μέχρι α-1 επανέλαβε Β[i-1,j] Α[i,j] Για j από α+1 μέχρι 50 επανέλαβε Β[i-1,j-1] Α[i,j] γραμμές 50 50 Στήλες
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο 4ο τεταρτημόριο Α 5,5
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Για παράδειγμα στο 4ο τεταρτημόριο Β 4,4 Δηλαδή μειώνεται κατά 1 και η γραμμή και η στήλη.
.40 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Στην ουσία χωρίζουμε τον πίνακα σε 4 τμήματα: Έστω ότι δηλώνω α= Α 1 1 24 Παραμένουν όπως είναι Για i από 1 μέχρι α-1 επανέλαβε 26 50 Μεταφορά προς τα αριστερά Για i από 1 μέχρι α-1 επανέλαβε 1 Για j από 1 μέχρι α-1 επανέλαβε Για j από α+1 μέχρι 50 επανέλαβε Β[i,j] Α[i,j] Β[i,j-1] Α[i,j] 24 24 26 1 24 Μεταφορά προς τα πάνω Για i από α+1 μέχρι 50 επανέλαβε, Μεταφορά προς τα πάνω & αριστερά 26 50 Για i από α+1 μέχρι 50 επανέλαβε 26 Για j από 1 μέχρι α-1 επανέλαβε Για j από α+1 μέχρι 50 επανέλαβε 50 Άρα ο αλγόριθμος είναι: Β[i-1,j] Α[i,j] Β[i-1,j-1] Α[i,j] 50
Αλγόριθμος Διαγραφή_Γραμμής_Στήλης ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Για i από 1 μέχρι 50 Για j απόκεφάλαιο 1 μέχρι 50 ο Εμφάνισε Δώσε το στοιχείο,i, j του πίνακα Α Διάβασε Α[ i,j ] Αρχή_επανάληψης Διάβασε α Μέχρις_ότου α>=1 και α=<50 Για i από 1 μέχρι α-1 Για j από 1 μέχρι α-1 Β [ i, j ] A [i,j] Για i από 1 μέχρι α-1 Για j από α+1 μέχρι 50 Β [ i, j-1 ] A [i,j] Για i από α+1 μέχρι 50 Για j από 1 μέχρι α-1 Β [ i-1, j ] A [i,j]!1 α 50! 1ο τεταρτημόριο! 2ο τεταρτημόριο! ο τεταρτημόριο Για i από α+1 μέχρι 50 Για j από α+1 μέχρι 50 Τέλος Β [ i-1, j-1 ] A [i,j] Διαγραφή_Γραμμής_Στήλης! 4ο τεταρτημόριο
.41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος που θα διαβάζει έναν πίνακα Α γραμμών και 4 στηλών Πίνακας Α x4 θέσεων Α 1,1 Α 1,2 Α 1, Α 1,4 Α 2,1 Α 2,2 Α 2, Α 2,4 Α,4 Α,1 Α,2 Α,
.41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Να γραφεί αλγόριθμος που θα διαβάζει έναν πίνακα Α γραμμών και 4 στηλών Και θα το μετατρέπει σε έναν μονοδιάστατο πίνακα 12 στοιχείων. Πίνακας Α x4 θέσεων Α 1,1 Α 1,2 Α 1, Α 1,4 Α 2,1 Α 2,2 Α 2, Α 2,4 Α,4 Α,1 Α,2 Α, Πίνακας Β 12 θέσεων Α 1,1 Α 1,2 Α 1, Α 1,4 Α 2,2 Α 2, Α 2,4 Α 2,1 Α, Α,4 Α,1 Α,2 Άρα ο αλγόριθμος είναι:
.41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Αλγόριθμος Μετατροπή_πίνακα Για i από 1 μέχρι Για j από 1 μέχρι 4 Εμφάνισε Δώσε το στοιχείο,i, j του πίνακα Α Διάβασε Α[ i,j ] Α 1,1 Πίνακας Α x4 θέσεων Α 1,2 Α 1, Α 1,4 Α 2,1 Α 2,2 Α 2, Α 2,4 Α,1 Α,2 Α, Α,4 j=1 j=2 j= j=4 Για j από 1 μέχρι 4! Όσες στήλες Β [ j ] A [1, j ]! 1η Γραμμή Τέλος Μετατροπή_πίνακα Πίνακας Β 12 θέσεων ΑB 1,1 1 ΑB 1,2 2 ΑB 1, ΑB 1,4 4
.41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Αλγόριθμος Μετατροπή_πίνακα Για i από 1 μέχρι Για j από 1 μέχρι 4 Εμφάνισε Δώσε το στοιχείο,i, j του πίνακα Α Διάβασε Α[ i,j ] Α 1,1 Πίνακας Α x4 θέσεων Α 1,2 Α 1, Α 1,4 Α 2,1 Α 2,2 Α 2, Α 2,4 Α,1 Α,2 Α, Α,4 j=1 j=2 j= j=4 Για j από 1 μέχρι 4! Όσες στήλες Β [ j ] A [1, j ]! 1η Γραμμή Β [ j +4] A [2, j ]! 2η Γραμμή Τέλος Μετατροπή_πίνακα Πίνακας Β 12 θέσεων B 2 B B 4 ΑB 2,1 5 ΑB 2,2 6 ΑB 2, 7 B 1 B 8 Α 2,4
.41 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο ο Αλγόριθμος Μετατροπή_πίνακα Για i από 1 μέχρι Για j από 1 μέχρι 4 Εμφάνισε Δώσε το στοιχείο,i, j του πίνακα Α Διάβασε Α[ i,j ] Α 1,1 Πίνακας Α x4 θέσεων Α 1,2 Α 1, Α 1,4 Α 2,1 Α 2,2 Α 2, Α 2,4 Α,1 Α,2 Α, Α,4 j=1 j=2 j= j=4 Για j από 1 μέχρι 4! Όσες στήλες Β [ j ] A [1, j ]! 1η Γραμμή Β [ j +4] A [2, j ] Β [ j +8] A [, j ]! 2η Γραμμή! η Γραμμή Τέλος Μετατροπή_πίνακα Πίνακας Β 12 θέσεων B 1 B 2 B B 4 B 5 B 6 B 7 B 8 B 9 ΑB,2 ΑB, 11 Α,4 Α,1 B 12
Κεφάλαιο ο Επικοινωνία: spzygouris@gmail.com