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

Σχετικά έγγραφα
I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΚΕΦΑΛΑΙΟ 3 ΠΡΟΣΘΗΚΗ

Ι. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Της Γ τάξης Ημερησίου Γενικού Λυκείου

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

Προτεινόμενος τρόπος διδασκαλίας του μαθήματος με ενδεικτικό χρονοπρογραμματισμό. Α/Α Ενότητες Περιγραφή Ώρες 1 Εισαγωγικό μάθημα 1

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

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Λύσεις Εργασίας 8: Αναζήτηση & Ταξινόµηση (Πίνακες 3)

ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ ΔΙΔΑΣΚΑΛΙΑΣ

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

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

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

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

Κάθε στοιχείο που γίνεται αντιληπτό με μία από τις πέντε αισθήσεις μας

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

ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ ΔΙΔΑΣΚΑΛΙΑΣ

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

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012 ΑΠΑΝΤΗΣΕΙΣ. ΘΕΜΑ Α Α1. Α2. 1. ΣΩΣΤΟ 1 στ 2. ΛΑΘΟΣ 2 δ 3. ΣΩΣΤΟ 3 ε 4. ΛΑΘΟΣ 4 β 5. ΣΩΣΤΟ 5 γ

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

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

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

Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και τον αντίστοιχο χαρακτηρισμό ( Σ - σωστό, Λ - λάθος)

Τελικό διαγώνισμα. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΘΕΜΑ Α

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

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

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

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

ΑΕΠΠ - ΗΜΕΡΗΣΙΑ ΛΥΚΕΙΑ ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

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

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

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

Ενδεικτικές απαντήσεις ΘΕΜΑ Α

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ. 1ο ΓΕΛ ΠΕΥΚΗΣ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ B' ΤΕΤΡΑΜΗΝΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΔΙΑΓΩΝΙΣΜΑΤΟΣ ΑΝΑΠΤΥΞΗΣ ΕΦΑΡΜΟΓΩΝ ΣΤΙΣ 01/03/2015 ΘΕΜΑ Α

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

ΘΕΜΑ Α: Μονάδες 12. Δ. Δίνεται ο πίνακας δύο διαστάσεων

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

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος).

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

Προτεινόμενα Θέματα ΑΕΠΠ

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών 2014

Ένα περιοδικό για το ΑΕΠΠ Τεύχος Πανελλαδικών ΙΙ

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

Σε μια στοίβα 10 θέσεων έχουν τοποθετηθεί διαδοχικά τα στοιχεία: Σ, Γ, Μ, Α, Δ στην 1η, 2η, 3η, 4η και 5η θέση αντίστοιχα. Να προσδιορίσετε την τιμή

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

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

Α5. Να γράψετε στο τετράδιό σας τους αριθμούς της στήλης Α και δίπλα το γράμμα της στήλης Β που αντιστοιχεί σωστά. 1. χαρακτήρες α.

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

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

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

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

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 ΣΩΣΤΟ

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

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

ΑΕΠΠ 7o Επαναληπτικό Διαγώνισμα

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

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Δ ΤΑΞΗΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΑΡΑΣΚΕΥΗ 30 MAΪΟΥ ΑΕΠΠ

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

ΑΠΑΝΤΗΣΕΙΣ. Επιµέλεια: Οµάδα Πληροφορικής της Ώθησης

ΠΡΟΣ: ΚΟΙΝ.: ΓΕΝΙΚΈς ΟΔΗΓΊΕς ΔΙΔΑΣΚΑΛΊΑς

Να δοθεί Πρόγραμμα το οποίο να αντιστρέφει τα στοιχεία ενός πίνακα π.χ. το Α[1] να πηγαίνει στο Α[12] κ.ο.κ χρησιμοποιώντας αυτόν τον πίνακα

Τρίτη, 1 Ιουνίου 2004 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ

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

Ημερομηνία: 1/03/15 Διάρκεια διαγωνίσματος: 180 Εξεταζόμενο μάθημα: Προγραμματισμός (Δομή Επανάληψης) Υπεύθυνος καθηγητής: Παπαδόπουλος Πέτρος

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

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 EKΠΑΙΔΕΥΣΗ: Με Οράματα και Πράξεις για την Παιδεία -1-

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

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10

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

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

ΦΥΛΛΑΔΙΟ ΚΑΤΑΝΟΗΣΗΣ 6 ΕΠΙΔΟΣΗ ΑΛΓΟΡΙΘΜΩΝ. 3. Να υπολογιστεί για τον παρακάτω αλγόριθμο η επίδοση του με βάση τον αριθμό των πράξεων που θα

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

Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών

ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΚΑΛΑΜΠΑΚΑΣ ΣΧΟΛ. ΕΤΟΣ

ΚΕΦΑΛΑΙΟ ΙΙΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

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

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Τελευταίο Μάθημα

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

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

Transcript:

ΒΑΣΙΚΕΣ ΕΠΕΞΕΡΓΑΣΙΕΣ ΜΟΝΟΔΙΑΣΤΑΤΩΝ ΚΑΙ ΔΙΣΔΙΑΣΤΑΤΩΝ ΠΙΝΑΚΩΝ ΟΙ ΠΙΟ ΣΗΜΑΝΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΕΥΡΕΣΗ ΜΕΓΑΛΥΤΕΡΟΥ/ΜΙΚΡΟΤΕΡΟΥ ΣΤΟΙΧΕΙΟΥ ΜΟΝΟΔΙΑΣΤΑΤΟΥ -1 Ολα τα στοιχεία του πίνακα είναι διαφορετικά μεταξύ τους. Βρίσκουμε το μικρότερο/ μεγαλύτερο στοιχείο και την θέση στην οποία βρίσκεται. MIN A[1] ΜΑΧ Α[1] PMAX 1 PMIN 1 Για I από 2 μέχρι N Αν A[I]<MIN MIN A[I] PMIN I Αν A[I]>ΜΑΧ MΑΧ A[I] PMAX I Γράψε Το μικρότερο στοιχείο είναι το:,min, στη θέση,pmin Γράψε Το μεγαλύτερο στοιχείο είναι το :,MAX, στη θέση,pmax ΕΥΡΕΣΗ ΜΕΓΑΛΥΤΕΡΟΥ/ΜΙΚΡΟΤΕΡΟΥ ΣΤΟΙΧΕΙΟΥ ΜΟΝΟΔΙΑΣΤΑΤΟΥ -2 Δεν είναι όλα τα στοιχεία του πίνακα διαφορετικά μεταξύ τους.βρίσκουμε το μικρότερο/ μεγαλύτερο στοιχείο, τις θέσεις που τα συναντάμε καθώς και το πλήθος θέσεων που τα συναντάμε. MIN A[1] ΜΑΧ Α[1] plmin 0 plmax 0 Για I από 2 μέχρι N Αν A[I]<MIN MIN A[I] Αν A[I]>ΜΑΧ MΑΧ A[I] Για I από 1 μέχρι N Αν A[I]= MIN Γράψε Θέση ελάχιστου στοιχείου :,I plmin plmin+1 Αν A[I]= ΜΑΧ Γράψε Θέση μέγιστου στοιχείου :,I plmax plmax+1 Γράψε Το μικρότερο στοιχείο, MIN, βρέθηκε σε :,plmin, θέσεις Γράψε Το μεγαλύτερο στοιχείο,max, βρέθηκε σε :,plmax, θέσεις 1

ΕΥΡΕΣΗ ΜΕΓ/MIΚΡ ΣΤΟΙΧΕΙΟΥ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΚΑΙ ΘΕΣΕΩΝ max ΠΙΝ[1,1] min ΠΙΝ[1,1] Θ_imax 1 Θ_jmax 1 Θ_imin 1 Θ_jmin 1 Για I από 1 μέχρι Ν Για j από 1 μέχρι Μ Αν ΠΙΝ[I,j] > max τότε max ΠΙΝ[I,j] Θ_imax I Θ_jmax j Αν ΠΙΝ[I,j] < min τότε min ΠΙΝ[I,j] Θ_imin I Θ_jmin j ΕΥΡΕΣΗ MAX ΣΤΟΙΧΕΙΟΥ ANA ΓΡΑΜΜΗ ΚΑΙ ΑΡΙΘΜΟΣ ΣΤΗΛΗΣ Για I από 1 μέχρι N max ΠΙΝ[Ι,1] Θ_jmax 1 Για j από 2 μέχρι M Αν ΠΙΝ[I,j] > max τότε max ΠΙΝ[I,j] Θ_jmax j! ΕΔΩ Η ΕΜΦΑΝΙΣΗ Τέλος επανάληψης ΕΥΡΕΣΗ MIN ΣΤΟΙΧΕΙΟΥ ANA ΣΤΗΛΗ KAI ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ Για j από 1 μέχρι M min ΠΙΝ[1,j] Θ_imin 1 Για I από 2 μέχρι N Αν ΠΙΝ[Ι,j] < min τότε Θ_imin I min ΠΙΝ[Ι,j]! ΕΔΩ Η ΕΜΦΑΝΙΣΗ ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ a) Τα στοιχεία του πίνακα είναι διαφορετικά μεταξύ τους. Βρίσκουμε το στοιχείο και την θέση στην οποία βρίσκεται (βιβλίο μαθητή) b) Τα στοιχεία του πίνακα δεν είναι διαφορετικά μεταξύ τους. Βρίσκουμε το στοιχείο και τις θέσεις στις οποίες βρίσκεται Για I από 1 μέχρι N Αν table[i]= key Εμφάνισε Θέση στοιχείου:,i c) Ο πίνακας είναι ταξινομημένος (και τα στοιχεία είναι διαφορετικά μεταξύ τους), άρα η αναζήτηση πρέπει να σταματήσει όταν βρεθεί 2

στοιχείο μεγαλύτερο από αυτό που αναζητείται! Done Ψευδής Position 0 I 1 Οσο I N ΚΑΙ Done=Ψευδής επανάλαβε Αν table[i]=key τότε Done Αληθής Position I αλλιώς_αν table[i]> key τότε Done Αληθής αλλιώς I I+1 Τελος_αν Σε αυτή την λύση, η ένδειξη ότι το στοιχείο βρέθηκε είναι μόνο το Position<>0. ΤΑΞΙΝΟΜΗΣΗ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΜΕ ΑΛΓΟΡΙΘΜΟ ΦΥΣΣΑΛΙΔΑΣ (ΠΛΗΘΟΣ ΣΤΟΙΧΕΙΩΝ =10) 1.ΑΥΞΟΥΣΑ ΣΕΙΡΑ ΤΑΞΙΝΟΜΗΣΗΣ ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10 ΓΙΑ κ ΑΠΟ 10 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1 Αν Α[κ-1] > Α[κ] τότε temp Α[κ] Α[κ] Α[κ-1] Α[κ-1] temp τέλος_αν O δείκτης κ διατρέχει το κομμάτι του πίνακα που δεν έχει ακόμη ταξινομηθεί. Δηλ.για κάθε τιμή του I (εξωτερικό ΓΙΑ), διατρέχεται ο πίνακας από το τέλος μέχρι I-1 (εσωτερικό ΓΙΑ). Σε κάθε τέτοιο πέρασμα του πίνακα, στην I-1 θέση μπαίνει το μικρότερο στοιχείο του περάσματος. 2. ΦΘΙΝΟΥΣΑ ΣΕΙΡΑ ΤΑΞΙΝΟΜΗΣΗΣ ΙΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10 ΓΙΑ k ΑΠΟ 10 ΜΕΧΡΙ Ι ΜΕ_ΒΗΜΑ -1 Αν Α[κ-1] < Α[κ] τότε temp Α[κ] Α[κ] Α[κ-1] Α[κ-1] temp τέλος_αν 3

«ΕΞΥΠΝΟΣ» ΑΛΓΟΡΙΘΜΟΣ ΦΥΣΣΑΛΙΔΑΣ ΠΟΥ ΣΤΑΜΑΤΑ ΟΤΑΝ Ο ΠΙΝΑΚΑΣ ΤΑΞΙΝΟΜΗΘΕΙ, ΩΣΤΕ ΝΑ ΜΗΝ ΓΙΝΟΝΤΑΙ ΠΕΡΙΤΤΑ ΠΕΡΑΣΜΑΤΑ. Done Αληθής I 2 Οσο (I 10) ΚΑΙ (Done = Αληθής) επανάλαβε Done <- Ψευδής!Αν στο πέρασμα που ακολουθεί γίνουν αντιμεταθέσεις, η done γίνεται αληθής. Αν δεν γίνει αληθής, σημαίνει ότι στο πέρασμα δεν έγινε καμμία αντιμετάθεση, άρα ο πίνακας έχει ταξινομηθεί και δεν υπάρχει λόγος να συνεχιστούν τα επόμενα περάσματα. Για J από 10 μέχρι I με_βήμα -1 Αν A[J-1]> A[J] τότε TEMP A[J-1] A[J-1] A[J] A[J]<-TEMP Done<- Αληθής Τελος_αν Ι Ι+1 Ο αλγόριθμος αυτός (μια παραλλαγή του) δίνεται έτοιμος ως λυμένο παράδειγμα στο κεφάλαιο 10, όπου έχει υλοποιηθεί με υποπρόγραμμα. Να το διαβάσετε. ΣΕΙΡΙΑΚΗ ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΔΙΣΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ ( Όλα τα στοιχεία του πίνακα διαφορετικά μεταξύ τους) Done Ψευδής POSI 0 POSJ 0 I 1 Διάβασε key Οσο (I M) ΚΑΙ (Done = Ψευδής) επανάλαβε J 1 Οσο (J N) ΚΑΙ (Done = Ψευδής) επανάλαβε Αν A[I,J]=key τότε Done Αληθής POSI I POSJ J Αλλιώς J J+1 Τελος_αν Ι Ι+1 ΤΑΞΙΝΟΜΗΣΗ ΣΕ ΔΙΣΔΙΑΣΤΑΤΟΥ ΜΕ ΤΟΝ ΑΛΓΟΡΙΘΜΟ ΤΗΣ ΦΥΣΣΑΛΙΔΑΣ ΣΤΗΛΗ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (ΚΑΙ ΠΑΡΑΛΛΗΛΗ ΤΑΞΙΝΟΜΗΣΗ ΜΟΝΟΔΙΑΣΤΑΤΟΥ) ΕΣΤΩ ΕΝΑΣ ΜΟΝΟΔΙΑΣΤΑΤΟΣ ΠΙΝΑΚΑΣ ΜΕ 10 ΠΟΛΕΙΣ ΚΑΙ ΕΝΑΣ ΔΙΣΔΙΑΣΤΑΤΟΣ ΟΠΟΥ ΓΙΑ ΚΑΘΕ ΠΟΛΗ ΑΠΟΘΗΚΕΥΟΥΜΕ ΜΙΑ ΘΕΡΜΟΚΡΑΣΙΑ ΑΝΑ ΗΜΕΡΑ ΜΙΑΣ ΕΒΔΟΜΑΔΑΣ). ΘΕΛΟΥΜΕ ΝΑ ΕΜΦΑΝΙΣΟΥΜΕ ΤΙΣ ΠΟΛΕΙΣ ΤΑΞΙΝΟΜΗΜΕΝΕΣ ΚΑΤΑ ΑΥΞΟΥΣΑ ΘΕΡΜΟΚΡΑΣΙΑ 2 ΗΣ ΗΜΕΡΑΣ ΤΗΣ ΕΒΔΟΜΑΔΑΣ. ΘΑ ΤΑΞΙΝΟΜΗΣΟΥΜΕ ΤΗ 2 Η ΣΤΗΛΗ ΤΟΥ ΠΙΝΑΚΑ, ΚΑΙ ΤΑΥΤΟΧΡΟΝΑ ΤΟΝ ΠΙΝΑΚΑ ΟΝΟΜΑΤΩΝ. ΑΝΤΙΜΕΤΩΠΙΖΟΥΜΕ ΤΗ 2 Η ΣΤΗΛΗ ΤΟΥ ΘΕΡ ΩΣ ΜΟΝΟΔΙΑΣΤΑΤΟ ΠΙΝΑΚΑ 10 ΣΤΟΙΧΕΙΩΝ. 4

ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 10 ΓΙΑ Κ ΑΠΟ 10 ΜΕΧΡΙ I ME_BHMA -1 AN ΘΕΡ[Κ,2]<ΘΕΡ[Κ-1,2] ΤΟΤΕ TEMP ΘΕΡ[Κ-1,2] ΘΕΡ[Κ-1,2] ΘΕΡ[Κ,2] ΘΕΡ[Κ,2] ΤΕΜP TEMP1 ON[Κ-1] ON[Κ-1] ON[Κ] ON[Κ] TEMP1! ΤΑΞΙΝΟΜΗΣΗ ΓΡΑΜΜΗΣ, ΠΧ. ΤΗΣ 2 ΗΣ. ΔΗΛΑΔΗ, ΘΕΛΟΥΜΕ ΝΑ ΤΑΞΙΝΟΜΗΣΟΥΜΕ ΤΙΣ 7 ΘΕΡΜΟΚΡΑΣΙΕΣ ΤΗΣ 2 ΗΣ ΠΟΛΗΣ (ΕΔΩ ΔΕΝ ΕΧΕΙ ΕΝΝΟΙΑ ΠΑΡΑΛΛΗΛΗ ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΤΟΝ ΜΟΝΟΔΙΑΣΤΑΤΟ) ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 7 ΓΙΑ Κ ΑΠΟ 7 ΜΕΧΡΙ I ME_BHMA -1 AN ΘΕΡ[2,Κ]<ΘΕΡ[2,Κ-1] ΤΟΤΕ TEMP ΘΕΡ[2,Κ-1] ΘΕΡ[2,Κ-1] ΘΕΡ[2,Κ] ΘΕΡ[2,Κ] ΤΕΜP! ΤΑΞΙΝΟΜΗΣΗ ΚΑΘΕ ΓΡΑΜΜΗΣ ΑΝΑ ΘΕΡΜΟΚΡΑΣΙΑ ΚΑΙ ΕΜΦΑΝΙΣΗ ΤΗΣ ΓΡΑΜΜΗΣ ΜΕΤΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ!!!! ΤΟ Μ ΕΙΝΑΙ Ο ΔΕΙΚΤΗΣ ΤΗΣ ΓΡΑΜΜΗΣ ΓΙΑ Μ ΑΠΟ 1 ΜΕΧΡΙ 10! ΓΙΑ ΚΑΘΕ ΓΡΑΜΜΗ ΚΑΝΩ ΦΥΣΣΑΛΙΔΑ ΓΙΑ Ι ΑΠΟ 2 ΜΕΧΡΙ 7 ΓΙΑ Κ ΑΠΟ 7 ΜΕΧΡΙ I ME_BHMA -1 AN ΘΕΡ[Μ,Κ]<ΘΕΡ[Μ,Κ-1] ΤΟΤΕ TEMP ΘΕΡ[Μ,Κ-1] ΘΕΡ[Μ,Κ-1] ΘΕΡ[Μ,Κ] ΘΕΡ[Μ,Κ] ΤΕΜP! ΕΜΦΑΝΙΣΗ ΤΗΣ ΓΡΑΜΜΗΣ ΜΕΤΑ ΤΗΝ ΤΑΞΙΝΟΜΗΣΗ ΓΙΑ Λ ΑΠΟ 1 ΜΕΧΡΙ 7 ΓΡΑΨΕ ΘΕΡ[Μ,Λ]! ΠΑΜΕ ΓΙΑ ΤΗΝ ΕΠΟΜΕΝΗ ΓΡΑΜΜΗ. 5

ΣΥΓΧΩΝΕΥΣΗ ΔΥΟ ΤΑΞΙΝΟΜΗΜΕΝΩΝ ΠΙΝΑΚΩΝ Α, Β ΣΕ ΤΡΙΤΟ C. (πλήθος στοιχείων Α,Β = 100)! i ο δείκτης του Α! j ο δείκτης του Β! k o δείκτης του C i 1 j 1 k 1 Οσο i<=100 καιj<=100επανάλαβε Αν Α[i] <= B[j] τοτε C[κ] Α[i] I I +1 αλλιώς C[κ] B[j] j j+1 τελος_αν κ κ+1 τέλος_επανάληψης! Αν τελείωσαν τα στοιχεία του Α, βάλε όσα απέμειναν από τον Β Αν i>100 τότε Οσο (j<=100) επανάλαβε C[κ] B[j] j j+1 κ κ+1 τέλος_επανάληψης αλλιώς! Αν τελείωσαν τα στοιχεία του Β, βάλε όσα απέμειναν από τον Α Οσο (i<=100) επανάλαβε C[κ] Α[i] I I+1 κ κ+1 τέλος_επανάληψης τελος_αν 6

ΥΠΟΛΟΓΙΣΜΟΣ ΑΘΡΟΙΣΜΑΤΟΣ / ΜΟ ΑΝΑ ΓΡΑΜΜΗ ΚΑΙ ΣΤΗΛΗ ΔΙΣΔΙΑΣΤΑΤΟΥ ΤΑΥΤΟΧΡΟΝΑ (ΔΗΜΙΟΥΡΓΙΑ πινάκων row[n] και col[m]. Στο row[i] αποθηκεύεται ο ΜΟ της γραμμής i. Στο col[j] αποθηκεύεται ο ΜΟ της στήλης j )! Αρχικοποίηση των πινάκων Για Ι από 1 μέχρι Ν row[i] 0 Για Ι από 1 μέχρι M col[i] Ο!Υπολογισμός και αποθήκευση αθροίσματος ανά γραμμή και στήλη ταυτόχρονα Για I από 1 μέχρι Ν Για j από 1 μέχρι Μ row[i] row[i] + ΠΙΝ[I,j] col [j] col[j] + ΠΙΝ [Ι,j]!Υπολογισμός και αποθήκευση ΜΟ ανά γραμμή και στήλη Για Ι από 1 μέχρι Ν row[i] row[i] / Μ Για Ι από 1 μέχρι M col[i] col[i] / N 7

Επισημαίνεται ότι οι πίνακες στο βιβλίο της Β τάξης αντιμετωπίζονται ως δυναμικές δομές, ενώ στο βιβλίο της Γ' τάξης ορίζονται ως στατικές δομές. Συνεπώς για τη Γ' τάξη και τη ΓΛΩΣΣΑ, η δομή του πίνακα είναι στατική και για να χρησιμοποιηθεί ένας πίνακας θα πρέπει να έχει πρώτα δηλωθεί, τόσο ο πίνακας, όσο και το μέγεθός του. Επίσης και οι δομές ουρά και στοίβα θεωρούνται στατικές δομές για τη ΓΛΩΣΣΑ, επειδή υλοποιούνται με πίνακες. Γ) ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ Ο αλγόριθμος της δυαδικής αναζήτησης (binary search) εφαρμόζεται μόνο σε πίνακες που έχουν ταξινομημένα στοιχεία. Αν τα στοιχεία δεν είναι ταξινομημένα τότε δεν μπορεί να εφαρμοστεί. Ο αλγόριθμος λειτουργεί ως εξής: Βρίσκουμε το μεσαίο στοιχείο του ταξινομημένου πίνακα. Εάν το προς αναζήτηση στοιχείο είναι ίσο με το μεσαίο στοιχείο τότε σταματάμε την αναζήτηση αφού το στοιχείο βρέθηκε Εάν δεν βρέθηκε, τότε ελέγχουμε αν το στοιχείο που αναζητούμε είναι μικρότερο ή μεγαλύτερο από το μεσαίο στοιχείο του πίνακα. Αν είναι μικρότερο, περιορίζουμε την αναζήτηση στο πρώτο μισό του πίνακα (με την προϋπόθεση ότι τα στοιχεία είναι διατεταγμένα κατά αύξουσα σειρά), ενώ αν είναι μεγαλύτερο περιορίζουμε την αναζήτηση στο δεύτερο μισό του πίνακα. Η διαδικασία αυτή λοιπόν επαναλαμβάνεται για το κατάλληλο πρώτο ή δεύτερο μισό πίνακα, μετά για το 1/4 του πίνακα κ.ο.κ. μέχρι, είτε να βρεθεί το στοιχείο, είτε να μην είναι δυνατό να χωρισθεί ο πίνακας περαιτέρω σε δύο νέα μέρη. Αλγόριθμος δυαδικής αναζήτησης αλγόριθμος Δυαδική_αναζήτηση!Α μονοδιάστατος πίνακας Ν θέσεων, S το στοιχείο που αναζητούμε δεδομένα // N, A, S // Left 1 Right N K 0! αριστερό όριο! δεξιό όριο! θέση του στοιχείου F FALSE όσο (Left<=Right) και (f=false) επανάλαβε M (Left+Right) div 2 αν A[M]=S τότε K M; F TRUE; 15

αλλιώς αν A[M]<S τότε αλλιώς Αν F = TRUE τότε Αλλιώς Left M+1; Right M-1; Εμφάνισε "Το στοιχείο,", S, "υπάρχει στη θέση:", Μ Εμφάνισε "Το στοιχείο,", S, " δεν υπάρχει στον πίνακα" Η δυαδική αναζήτηση να διδαχθεί ως άσκηση και να υλοποιηθεί με πρόγραμμα, όπως παρακάτω σε ταξινομημένο πίνακα 20 θέσεων. Πέρα από το τμήμα δηλώσεων, το πρόγραμμα έχει ένα επιπλέον τμήμα για το "γέμισμα" του πίνακα με στοιχεία (υποθέτουμε ότι ο πίνακας γεμίζει με σωστά ταξινομημένα στοιχεία σε αύξουσα σειρά). ΠΡΟΓΡΑΜΜΑ δυαδική_αναζήτηση ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: A[20], Left, Right, M, k, S, i ΛΟΓΙΚΕΣ: f ΑΡΧΗ ΓΡΑΨΕ 'Οι αριθμοί που θα δοθούν πρέπει να είναι ταξινομημένοι κατά αύξουσα τάξη' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΡΑΨΕ 'Δώσε το', i, ' στοιχείο του πίνακα' ΔΙΑΒΑΣΕ A[i] ΓΡΑΨΕ 'Δωσε τιμή για αναζήτηση: ' ΔΙΑΒΑΣΕ S Left <- 1 Right <- 20 k <- 0 f <- ΨΕΥΔΗΣ ΟΣΟ (Left <= Right) ΚΑΙ (f = ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ M <- (Left + Right) DIV 2 ΑΝ A[M] = S ΤΟΤΕ k <- M f <- ΑΛΗΘΗΣ 16

ΑΛΛΙΩΣ ΑΝ A[M] < S ΤΟΤΕ Left <- M + 1 ΑΛΛΙΩΣ Right <- M - 1 ΑΝ f = ΑΛΗΘΗΣ ΤΟΤΕ ΓΡΑΨΕ "Το στοιχείο,", S, "υπάρχει στη θέση:", M ΑΛΛΙΩΣ ΓΡΑΨΕ "Το στοιχείο,", S, " δεν υπάρχει στον πίνακα" ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ δυαδική_αναζήτηση Παράδειγμα Δίνεται ο πίνακας 1 2 5 8 9 15 22 27 35 37 38 40 43 45 47 Αναζήτηση του στοιχείου 38 (υπάρχει στον πίνακα) Με κίτρινο σημειώνεται το στοιχείο του πίνακα που εξετάζεται (στο μέσον) Με πράσινο σημειώνεται το τμήμα του πίνακα που απομένει για αναζήτηση Με κόκκινο σημειώνεται το τμήμα του πίνακα που έχει αποκλειστεί (Τα ίδια χρώματα χρησιμοποιούνται και στο επόμενο παράδειγμα) Αναζήτηση του στοιχείου 39 (δεν υπάρχει στον πίνακα) Αριθμός συγκρίσεων στη δυαδική αναζήτηση 17

Στοιχεία Ν Συγκρίσεις 10 4 100 7 1.000 10 10.000 14 100.000 17 1.000.000 20 10.000.000 24 100.000.000 27 1.000.000.000 30 *Ως άσκηση μπορεί να δοθεί η βελτιστοποίηση του αλγορίθμου δυαδικής αναζήτησης έτσι ώστε να επιτρέπει διαδοχικές αναζητήσεις πολλών στοιχείων. Η αναζήτηση να τερματίζεται όταν δοθεί κάποιος συγκεκριμένος αριθμός ή με ερώτηση "Θέλετε άλλη αναζήτηση (Ν/Ο)" Δ) ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΕΠΙΛΟΓΗ (SELECTION SORT) Η ταξινόμηση με επιλογή (selection sort), αποτελεί βασικό τρόπο ταξινόμησης, που υλοποιείται σε ένα μονοδιάστατο πίνακα σε τρία βήματα: 1. Επιλογή του ελάχιστου στοιχείου 2. Ανταλλαγή του ελάχιστου με το πρώτο στοιχείο 3. Επανάληψη των βημάτων 1 και 2 για τα υπόλοιπα στοιχεία του πίνακα Ο Αλγόριθμος ταξινόμησης με επιλογή είναι ο παρακάτω. Αλγόριθμος Selection_Sort Δεδομένα // table, n // Για i από 1 μέχρι n-1 k i x table[i] Για j από i+1 μέχρι n Αν x > table[j] Τότε k j x table[j] Τέλος_Επανάληψης table[k] table[i] table[i] x Τέλος_ επανάληψης 18

Η υλοποίηση του αλγορίθμου ταξινόμησης με επιλογή, να διδαχθεί ως άσκηση και να υλοποιηθεί με πρόγραμμα όπως παρακάτω. Πέρα από το τμήμα δηλώσεων, το πρόγραμμα έχει δύο επιπλέον τμήματα, ένα τμήμα για το "γέμισμα" του πίνακα με στοιχεία και ένα τμήμα για την εκτύπωση του ταξινομημένου πίνακα. ΠΡΟΓΡΑΜΜΑ Selection_Sort ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: A[20], K1, x, i, j ΑΡΧΗ ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΡΑΨΕ 'Δώσε το', i, ' στοιχείο του πίνακα' ΔΙΑΒΑΣΕ A[i] ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 19 K1 <- i x <- A[i] ΓΙΑ j ΑΠΟ i + 1 ΜΕΧΡΙ 20 ΑΝ x > A[j] ΤΟΤΕ K1 <- j x <- A[j] A[K1] <- A[i] A[i] <- x ΓΡΑΨΕ 'Εκτύπωση με ταξινομημένα τα στοιχεία' ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ 20 ΓΡΑΨΕ A[i] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Selection_Sort Παράδειγμα Αν υποθέσουμε ότι έχουμε το πίνακα Α[8] με στοιχεία τους αριθμούς 46, 55, 12, 42, 94, 18, 06, 67. Δηλαδή σε μορφή μονοδιάστατου πίνακα: 46 55 12 42 94 18 06 67 τότε παρακάτω φαίνεται πως μετακινούνται τα στοιχεία με τον αλγόριθμο SelectionSort Βήμα 1 46 (εύρεση του ελάχιστου των στοιχείων και ανταλλαγή με το πρώτο) 55 12 42 94 18 06 67 Βήμα 2 (επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το δεύτερο στοιχείο και κάτω) 06 55 12 42 94 18 46 67 Βήμα 3 ( επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το τρίτο στοιχείο και κάτω) 06 12 55 42 94 18 46 67 Βήμα 4 (επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το τέταρτο στοιχείο και κάτω) 19

06 12 18 42 94 55 46 67 Βήμα 5 (επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το πέμπτο στοιχείο και κάτω) 06 12 18 42 94 55 46 67 Βήμα 6 (επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το έκτο στοιχείο και κάτω) 06 12 18 42 46 55 94 67 Βήμα 7 (επανάληψη της ανωτέρω διαδικασίας αλλά στο τμήμα του πίνακα από το έβδομο στοιχείο και κάτω) 06 12 18 42 46 55 94 67 Τελική μορφή ταξινομημένου πίνακα (δεν χρειάζεται 8 η επανάληψη σύγκρισης, αφού όταν απομένουν δύο μόνο κελιά και στο πρώτο θέσεις τον μικρότερο αριθμό, τότε στο δεύτερο αναγκαστικά τίθεται ο μεγαλύτερος) 06 12 18 42 46 55 67 94 Ε) ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΘΕΩΡΗΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΕ ΣΤΟΙΒΑ ΚΑΙ ΟΥΡΑ 1) Σε μια στοίβα 10 θέσεων έχουν τοποθετηθεί διαδοχικά τα στοιχεία: Σ, Γ, Μ, Α, Δ στην 1η, 2η, 3η, 4η και 5η θέση αντίστοιχα. i) Να προσδιορίσετε την τιμή του δείκτη top της παραπάνω στοίβας και να την σχεδιάσετε. ii) Αν εφαρμόσουμε τις παρακάτω λειτουργίες: Απώθηση, Απώθηση, Απώθηση, Ώθηση Χ, Ώθηση Δ και Απώθηση ποιά είναι η νέα τιμή της top και ποιά η τελική μορφή της στοίβας; 2) Η παραπάνω άσκηση να υλοποιηθεί με ουρά χρησιμοποιώντας, όπου Απώθηση Εξαγωγή και όπου Ώθηση Εισαγωγή. Επίσης αντί της top να δοθούν οι τιμές των δεικτών rear και front. 3) Σε μια άδεια στοίβα 10 θέσεων ωθούμε τα στοιχεία Ο, Σ, Ε, Τ, Λ. Με ποιό τρόπο πρέπει να ωθηθούν και να απωθηθούν τα δεδομένα ώστε η στοίβα να περιέχει τα δεδομένα Τ, Ε, Λ, Ο, Σ (σε αύξουσες θέσεις του πίνακα). 4) Η παραπάνω άσκηση να υλοποιηθεί με ουρά, χρησιμοποιώντας όπου Απώθηση Εξαγωγή και όπου Ώθηση Εισαγωγή. Επίσης αντί της top να δοθούν οι τιμές των δεικτών rear και front. 20