ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο. Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Σχετικά έγγραφα
Διαδικασιακός Προγραμματισμός

Bubble Hack Οπτικοποίηση του αλγορίθμου ταξινόμησης Bubble Sort στο Scratch

Επιµέλεια Θοδωρής Πιερράτος

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Προγραµµατιστικές Τεχνικές

Ενδεικτικές Ερωτήσεις Θεωρίας

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Πληροφορική 2. Αλγόριθμοι

3 ΑΝΑ ΡΟΜΗ ΑΝΑΖΗΤΗΣΗ - ΤΑΞΙΝΟΜΗΣΗ. n! = 1*2*3*..(n-1)*n. n! = 1 αν n = 0, = n*(n-1)! αν n > ΑΝΑ ΡΟΜΗ Εισαγωγή

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2-Γ3

Ταξινόμηση. Σαλτογιάννη Αθανασία

Επαναληπτικό διαγώνισμα στην Α.Ε.Π.Π - 18 / Απριλίου / 2010 ΘΕΜΑ 1

φροντιστήρια Θέματα Ανάπτυξης Εφαρμογών σε Προγραμματιστικό Περιβάλλον Γ λυκείου Προσανατολισμός Σπουδών Οικονομίας και Πληροφορικής

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

ENOTHTA 3 ΟΜΕΣ Ε ΟΜΕΝΩΝ

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

Επαναληπτικό Διαγώνισμα

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. ii) Πόσες φορές θα εκτελεστεί η εντολή ΔΙΑΒΑΣΕ Α[μ,λ] στον αλγόριθμο της προηγούμενης ερώτησης; α) 35 β) 12 γ) 20

Προγραμματιστικές Τεχνικές

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΘΕΜΑ Α. Μονάδες 10 Α2.

Εργαστηριακή Άσκηση 1

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Προγραμματιστικές Τεχνικές

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

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

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Αλγόριθμοι Αναζήτησης. (AeppAcademy.com)

Προγραμματισμός Ι (ΗΥ120)

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Αλγόριθμοι Ταξινόμησης Μέρος 2

γραπτή εξέταση στo μάθημα ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ' ΛΥΚΕΙΟΥ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

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

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ

ΘΕΜΑΤΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΕΠΑΝΑΛΗΠΤΙΚΟ 10/4/2016

Αναζήτηση. Στην λειτουργία της αναζήτησης εξακριβώνεται η παρουσία ή η απουσία ενός δεδομένου σε μια δομή δεδομένων.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Α.1 Τι γνωρίζετε για τον διερμηνευτή, τον μεταγλωττιστή και ποιες οι διαφορές τους. 15 ΜΟΝΑΔΕΣ

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

10 Α2. 5 Α3. (ΟΧΙ = 20-4*2^2)) H (X>Ψ ΚΑΙ X > Ψ

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 9 Ο. Διαχείριση αλφαριθμητικών και πράξεις σε επίπεδο bit ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΙΝΑΤΚΑΣ Ι.

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

Γενικές εξετάσεις 2014 Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον Τεχνολογική Κατεύθυνση

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΕΤΑΡΤΗ 20 ΙΟΥΝΙΟΥ 2018

ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΜΟΝΟΔΙΑΣΤΑΤΩΝ ΚΑΙ ΔΙΣΔΙΑΣΤΑΤΩΝ ΠΙΝΑΚΩΝ ΟΙ ΠΙΟ ΣΗΜΑΝΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αλγόριθµοι Αναζήτησης και Ταξινόµησης

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Δομές Δεδομένων & Αλγόριθμοι

ΘΕΜΑ 1 ο. β) 1. δυαδική 2. κατανόηση 3. τυπικοί 4. τεχνητής νοημοσύνης 5. ακέραιου

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

ΠΛΗΡΟΦΟΡΙΑΚΑ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Δομές Δεδομένων και Αλγόριθμοι

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Αναδρομικοί Αλγόριθμοι

Δομές Δεδομένων & Αλγόριθμοι

α.1. Προσδοκώμενα αποτελέσματα

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

ΘΕΜΑ Α. Μονάδες 10 Α2.

Αναζήτηση και ταξινόμηση

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΕΠΠ Ερωτήσεις θεωρίας

Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Ημερομηνία: Πέμπτη 12 Απριλίου 2018 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ Θέματα και Απαντήσεις

Transcript:

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 8 Ο Ταξινόμηση και Αναζήτηση Συναρτήσεις χειρισμού οθόνης ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1

Εισαγωγή Η τακτοποίηση των δεδομένων με ιδιαίτερη σειρά είναι πολύ σημαντική λειτουργία που ονομάζεται ταξινόμηση ή διάταξη. Συνήθως η σειρά αυτή είναι με αύξουσα τάξη της τιμής των μεγεθών. Τα ταξινομημένα δεδομένα διευκολύνουν την αναζήτηση. Το πρόβλημα της αναζήτησης στοιχείου σε ομάδα δεδομένων (αριθμητικών ή αλφαριθμητικών) είναι ιδιαίτερα ενδιαφέρον στον προγραμματισμό επειδή εμφανίζεται σε πλήθος εφαρμογών. Υπάρχουν αρκετές μέθοδοι αναζήτησης που εξαρτώνται κυρίως από το, αν η ομάδα είναι ταξινομημένη ή όχι. Άλλο καθοριστικό στοιχείο είναι αν η ομάδα περιέχει στοιχεία που είναι όλα διάφορα μεταξύ τους ή όχι. Με τον όρο χειρισμό οθόνης εννοούμε τη χρήση συναρτήσεων με τις οποίες μπορεί ο προγραμματιστής να χειρίζεται την εμφάνιση αποτελεσμάτων στην κονσόλα. Η οθόνη γενικά έχει 80 θέσεις χαρακτήρων οριζόντια και 25 γραμμές κατακόρυφα. Έτσι μπορεί να οδηγηθεί η θέση του δρομέα σε μία από αυτές ή αντίστοιχα να αναγνωρισθεί η θέση στην οποία βρίσκεται. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 2

Ταξινόμηση φυσαλίδας H μέθοδος φυσαλίδας συγκρίνει και ανταλλάσσει ζεύγη γειτονικών στοιχείων, μέχρις ότου διαταχθούν όλα τα στοιχεία. Έτσι διαδοχικές προσπελάσεις στον πίνακα μετακινούν το μικρότερο στοιχείο της ακολουθίας προς το αριστερό άκρο του. Παράδειγμα για να ταξινομηθούν οι αριθμοί 5, 1, 4, 2 και 8 σε αύξουσα σειρά θα έχουμε στο πρώτο πέρασμα ανταλλαγή του 5 με το 1 οπότε το 5 θα βρεθεί στη δεύτερη θέση και θα συγκριθεί με το επόμενο 4 που ως μικρότερο επίσης πρέπει να ανταλλαγεί και στη συνέχεια το ίδιο με το 2 οπότε διαδοχικά θα έχουμε τα πιο κάτω στιγμιότυπα (5 14 2 8) (1 5 42 8) (1 4 5 28) (1 4 2 5 8). Σε δεύτερο πέρασμα βρίσκει ότι πρέπει να ανταλλαγεί το 4 με το 2 και στη συνέχεια τα βρίσκει σωστά, οπότε στο δεύτερο πέρασμα θα έχουμε την εικόνα (1 4 2 5 8) (1 4 2 5 8) (1 2 4 58) (1 2 4 5 8). Επειδή ο αλγόριθμος δεν μπορεί να γνωρίζει ότι ολοκληρώθηκε η διαδικασία κάνει ακόμα έναν έλεγχο εξ αρχής, χωρίς βέβαια στην περίπτωσή μας να χρειασθεί να κάνει οποιαδήποτε ανταλλαγή (1 2 4 5 8). ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 3

Ταξινόμηση με επιλογή Η μέθοδος βασίζεται στα εξής, αρχικά επιλέγεται το μικρότερο στοιχείο της ομάδας και ανταλλάσσεται με το πρώτο στοιχείο της, στη συνέχεια επαναλαμβάνεται η ίδια διαδικασία για τα υπόλοιπα στοιχεία, μέχρι να μείνει ένα, το τελευταίο. Στο πιο κάτω σχήμα φαίνεται καθαρά η διαδικασία. Παράδειγμα Αν το παρακολουθήσει κανείς προσεκτικά παρατηρεί ότι εντοπίζεται ως η ελάχιστη τιμή το 0 και τοποθετείται στην κορυφή. Στον επόμενο κύκλο το ίδιο γίνεται με τα υπόλοιπα στοιχεία και το 1 τοποθετείται στη δεύτερη θέση, μετά το 2 το 3 κ.ο.κ. Δεν είναι ο καλύτερος τρόπος γιατί διατρέχει πολλές φορές τα στοιχεία και βέβαια αν αυτά είναι πολλά γίνεται αντιληπτό ότι θα καθυστερεί όλο και περισσότερο. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 4

Ταξινόμηση με εισαγωγή Ξεκινώντας από το δεύτερο στοιχείο της ομάδας και σε κάθε κύκλο εξετάζοντας το στοιχείο της επόμενης θέσης, αυτό συγκρίνεται με τα αριστερότερά του και τοποθετείται στην θέση που του αρμόζει σε σχέση με αυτά μετακινώντας, όταν χρειάζεται τα στοιχεία αυτά προς τα δεξιά του κατά μία θέση. Παρατηρείστε την πιο κάτω διαδικασία 44 55 12 42 94 18 06 67 44 55 12 42 94 18 06 67 12 44 55 42 94 18 06 67 12 42 44 55 94 18 06 67 12 42 44 55 94 18 06 67 12 18 42 44 55 94 06 67 06 12 18 42 44 55 94 67 06 12 18 42 44 55 67 94 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 5

Γρήγορη ταξινόμηση Ο αλγόριθμος βασίζεται στην αρχή της αντιμετάθεσης και είναι η καλύτερη γνωστή μέθοδος ταξινόμησης για τυχαία στοιχεία. Ηγρήγορη ταξινόμηση στηρίζεται στη λογική διαίρει και βασίλευε. Αυτό που κάνει σε κάθε βήμα του αλγορίθμου της, διαιρεί το σύνολο της ομάδας που χειρίζεται σε δύο μέρη το αριστερό με τους μικρότερους και στο δεξιό με τους μεγαλύτερους σε σχέση με έναν επιλεγμένο αριθμό της ομάδας αυτής, συνήθως τον πρώτο ή τον τελευταίο της. Έτσι αρχικά θεωρεί το σύνολο των αριθμών, στον δεύτερο κύκλο έχει δυο ομάδες και έναν αριθμό μονό, στον τρίτο κύκλο θα χειρισθεί τις νέες μικρότερες ομάδες με την ίδια λογική. Συνεχίζοντας με τον τρόπο αυτό ο αλγόριθμος ολοκληρώνεται όταν η μεγαλύτερη τελική ομάδα αποτελείται από τρία ταξινομημένα στοιχεία. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 6

Σειριακή αναζήτηση Η πιο απλή μορφή αναζήτησης στοιχείου είναι η σειριακή ή γραμμική μέθοδος. Για τη συνέχεια θα εφαρμόσουμε τις τεχνικές σε πίνακα στοιχείων, στον οποίο θα καταχωρούμε τυχαίες ακέραιες τιμές. Γιατολόγοαυτό προκειμένου να εντοπίσουμε κάποια τιμή, η οποία μάλιστα ενδέχεται να υπάρχει περισσότερες από μία φορές, πρέπει να διατρέξουμε όλα τα στοιχεία του πίνακα και μάλιστα να καταμετρήσουμε τις φορές που εντοπίσθηκε η αναζητούμενη τιμή. Η σειριακή αναζήτηση είναι η απλούστερη, αλλά και η λιγότερη αποτελεσματική μέθοδος. Εφαρμόζεται μόνο σε περιπτώσεις όπου: ο πίνακας είναι μη ταξινομημένος, ο πίνακας είναι μικρού μεγέθους (για παράδειγμα, n 20), η αναζήτηση στο συγκεκριμένο πίνακα γίνεται σπάνια. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 7

Δυαδική αναζήτηση Αποτελεί τον πιο αποδοτικό τρόπο αναζήτησης. Το τίμημα όμως που θέλει είναι τα υπό εξέταση στοιχεία να είναι ταξινομημένα. Η σειριακή αναζήτηση θα απαιτούσε να διαβάσουμε το μεγαλύτερο μέρος του τηλεφωνικού καταλόγου μέχρι να εντοπίσουμε τον Σινάτκα και αν αυτός δεν καταγράφεται ως συνδρομητής πρέπει να εξαντλήσουμε τον κατάλογο για να το αντιληφθούμε. Η δυαδική αναζήτηση μοιάζει με τον εντοπισμό της σελίδας 331 του βιβλίου σας. Ο αλγόριθμος με τον οποίο λειτουργεί είναι επίσης της λογικής διαίρει και βασίλευε. Ανοίγετε περίπου στη μέση το βιβλίο και αν η σελίδα που δείχνει είναι μικρότερη του 331 αγνοείτε τις προηγούμενες από την τρέχουσα σελίδες και συνεχίζετε με τις επόμενες. Αντίθετα αν είναι μεγαλύτερη συνεχίζετε με τις προηγούμενες. Ανοίγετε πάλι στη μέση περίπου της ομάδας σελίδων που θα χειρισθείτε και με παρόμοιο τρόπο περιορίζετε τις υπό εξέταση σελίδες. Τελικά διαιρώντας σε κάθε κύκλο το υπό εξέταση σύνολο θα εντοπίσετε την αναζητούμενη σελίδα. Παράδειγμα ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 8

Χειρισμός οθόνης Στην λογική να διευκολυνθεί η παρουσίαση αποτελεσμάτων ή η ανάγνωση στοιχείων από την κονσόλα οθόνη χαρακτήρων υπάρχει η δυνατότητα να οδηγείται ο δρομέας σε συγκεκριμένο σημείο της όπου μπορεί να γράψει ή και να αναγνωρίσει στοιχεία. Για τη διαχείριση αυτή απαιτείται να συμπεριληφθεί στο πρόγραμμα η βιβλιοθήκη <conio.h>. Η βιβλιοθήκη αυτή περιλαμβάνει τις πολύ χρήσιμες συναρτήσεις gotoxy (int x, int y) wherex() wherey() clrscr() clreol() Οδηγεί τον δρομέα στη στήλη x και την γραμμή y της οθόνης Επιστρέφει την τρέχουσα θέση της στήλης και της γραμμής αντίστοιχα Καθαρίζει την οθόνη κειμένου από ότι έχει γραφεί. Καθαρίζει την γραμμή κειμένου από το τρέχον σημείο του δρομέα μέχρι το τέλος της γραμμής. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 9