Θέματα Προγραμματισμού Η/Υ

Σχετικά έγγραφα
Πληροφορική ΙΙ Ενότητα 1

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

11/23/2014. Στόχοι. Λογισμικό Υπολογιστή

Εισαγωγή στην επιστήμη των Υπολογιστών & Τηλεπικοινωνιών

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

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

Βασικές Έννοιες Αλγορίθμων. Βασικές Εντολές Αλγορίθμων (Κεφ. 2ο Παρ. 2.4)

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

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

Θέματα Προγραμματισμού Η/Υ

Πληροφορική ΙΙ. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 1

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Θέματα Προγραμματισμού Η/Υ

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

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

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

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

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Εφαρμογές Υπολογιστών. Κεφάλαιο 7 Προγραμματισμός υπολογιστή

Εισαγωγή στην πληροφορική

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 1: Εισαγωγή

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

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

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

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Διάλεξη 04: Παραδείγματα Ανάλυσης

Ας δούμε λίγο την θεωρία με την οποία ασχοληθήκαμε μέχρι τώρα.

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Προγραµµατισµός Η/Υ. Μέρος2

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Τάξη: Γ Λυκείου Κατεύθυνση: Τεχνολογική Μάθημα: Ανάπτυξη Εφαρμογών σε Προγ/κό Περιβάλλον Είδος Εξέτασης: Διαγώνισμα Ημερομηνία Εξέτασης:

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

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

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

Τo πρόγραμμα «Διάγραμμα Ροής» και η διδακτική του αξιοποίηση στην Διδασκαλία του προγραμματισμού

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

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

Θέματα Προγραμματισμού Η/Υ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Διάγραμμα Ροής (Flow Chart )

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Διδάσκων: Παναγιώτης Ανδρέου

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

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

Εισαγωγή στον Προγραμματισμό

Ανάπτυξη εφαρμογών/ Βασικές γνώσεις/ πρώτο θέμα ΕΡΩΤΗΣΕΙΣ ΣΥΝΤΟΜΗΣ ΑΠΑΝΤΗΣΗΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

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

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

Ανακτήθηκε από την ΕΚΠΑΙΔΕΥΤΙΚΗ ΚΛΙΜΑΚΑ edu.klimaka.gr ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

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

Transcript:

Πρόγραμμα Μεταπτυχιακών Σπουδών Πληροφορική και Υπολογιστική Βιοϊατρική Θέματα Προγραμματισμού Η/Υ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 1 Εισαγωγή στον Προγραμματισμό Πληροφορική και Υπολογιστική Βιοϊατρική Α. Κακαρούντας, Γ. Σπαθούλας, Π. Κοντού

Προγραμματισμός μαθημάτων 1 31/03 Εισαγωγή και βασικές έννοιες στον προγραμματισμό και στην αλγοριθμική επίλυση 2 07/04 Ιστορική εξέλιξη του προγραμματισμού και είδη. Εργαλεία ανάλυσης και απεικόνισης του προβλήματος 3 28/04 Βασικά εργαλεία ενός προγραμματιστή (editor, compiler, linker κτλ). Το διαδικτυακό περιβάλλον που θα χρησιμοποιηθεί 4 05/05 Εισαγωγή στην Python. Δημιουργία και εκτέλεση προγραμμάτων σε Python. Είσοδος/έξοδος, μεταβλητές, αναθέσεις. 5 12/05 Μαθηματικοί τελεστές και εκφράσεις. 6 19/05 Λογικοί τελεστές ελέγχου ροής. Έλεγχος ροής. 7 26/05 Επαναληπτικές δομές. 8 02/06 Συναρτήσεις. 9 09/06 Αναδρομική κλήση συναρτήσεων. Λίστες, Πλειάδες και Συμβολοσειρές. 10 16/06 Ειδικές Εφαρμογές 11 23/06 12 30/06 - Εφαρμογή στην Α βαθμια και την Β βαθμια εκπαίδευση. - Εφαρμογή Perl στην Βιοπληροφορική

Σύστημα αξιολόγησης Μέρος αξιολόγησης Ημερομηνία Ημερ. Παράδοσης Βαρύτητα Project 1 Ανάπτυξη εφαρμογής σε Python 02/06/2017 23/06/2017 30% Project 2 Ανάπτυξη ειδικής εφαρμογής 23/06/2017 14/07/2017 30% Γραπτές εξετάσεις 1-15/07/2017-40%

Περιεχόμενο μαθήματος Εισαγωγή στον προγραμματισμό με χρήση της γλώσσας Python. Οι διαφάνειες ακολουθούν κυρίως το περιεχόμενο και τη δομή του βιβλίου: "Ξεκινώντας με την Python", Tony Gaddis Και συμπληρωματικά του e-book (διανέμεται δωρεάν): "A byte of Python" (ελληνική έκδοση).

Ο ρόλος των υπολογιστών Ο υπολογιστής είναι εργαλείο επίλυσης προβλημάτων λόγω: ταχύτητας υπολογισμού και μεγέθους μνήμης γενικής χρησιμότητας μέσω της έννοιας του προγραμματισμού Ένα πρόγραμμα: Είναι μια αλληλουχία κατάλληλων οδηγιών (εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος Η λειτουργία του υπολογιστή προσαρμόζεται στο προς επίλυση πρόβλημα Υλοποιεί έναν αλγόριθμο

Αλγόριθμος Είναι μια μαθηματική μεθοδολογία υπολογιστικής επίλυσης ενός προβλήματος Ορισμός: Ο πεπερασμένος αριθμός βημάτων που λύνουν ένα πρόβλημα Αλλιώς: Η βήμα προς βήμα διαδικασία για την επίλυση ενός προβλήματος Απαραίτητα χαρακτηριστικά ενός αλγόριθμου: Είσοδος (>=0 εξωτερικά δεδομένα) Έξοδος (>=1 αποτελέσματα) Ορισμένος (περιέχει σαφείς και ακριβείς οδηγίες) Κάθε οδηγία, μεμονωμένα, είναι εξαιρετικά απλή Καλύπτει όλες τις δυνατές καταστάσεις Τερματισμός (σε πεπερασμένο αριθμό βημάτων ή χρόνο)

Βασικές αλγοριθμικές ενέργειες Κάθε αλγόριθμος περιγράφει μόνο τις εξής οδηγίες: είσοδο δεδομένων έξοδο δεδομένων πράξεις και αναθέσεις τιμών σε μεταβλητές έλεγχο ποσοτήτων επιλογή ανάλογης δράσης (διακλαδώσεις) επαναληπτικές διαδικασίες τερματισμό Τα (πεπερασμένα) βήματα ενός αλγόριθμου εκτελούνται σειριακά

Τρόποι περιγραφής αλγορίθμων Φυσική γλώσσα Διάγραμμα ροής (flow chart) Ψευδοκώδικας (pseudocode) Κώδικας

Διάγραμμα ροής Αρχή / Τέλος ή Εκτέλεση υπολογισμών ή απόδοση τιμών σε μεταβλητές Έλεγχος συνθήκης (true ή false) Είσοδος δεδομένων / Έξοδος αποτελεσμάτων Διεύθυνση ροής του προγράμματος

Βήματα στην υπολογιστική επίλυση προβλήματος 1. Ανάλυση δεδομένων του προβλήματος 2. Μαθηματική διατύπωση του προβλήματος 3. Ανάπτυξη τεχνικών επίλυσης: αλγόριθμος Σχεδιασμός ή επιλογή αλγορίθμου Συνήθως: ένα πρόβλημα πολλοί αλγόριθμοι 4. Διατύπωση αλγορίθμου σε γλώσσα προγ/σμού: πρόγραμμα 5. Εκτέλεση προγράμματος για συγκεκριμένα δεδομένα 6. Ερμηνεία αποτελεσμάτων

Ένα απλό πρόβλημα Έστω ότι ο φόρος ενός εργαζόμενου προκύπτει ως εξής: αν ο μισθός του είναι κάτω από 1000, ο φόρος του είναι 10% του μισθού του, αλλιώς ο φόρος του είναι 20% του μισθού του. Γράψτε ένα πρόγραμμα που δέχεται σαν είσοδο το μισθό ενός εργαζόμενου και εμφανίζει στην έξοδο το φόρο που πρέπει αυτός να πληρώσει.

Ο αλγόριθμος σε φυσική γλώσσα Διάβασε το μισθό ως είσοδο. Αν ο μισθός του εργαζομένου είναι μικρότερος από 1000, τον πολλαπλασιάζουμε επί 10, διαιρούμε το γινόμενο με το 100 και τυπώνουμε το αποτέλεσμα. Αλλιώς, πολλαπλασιάζουμε τον αριθμό της εισόδου επί 20, διαιρούμε το γινόμενο με το 100 και τυπώνουμε το αποτέλεσμα.

Ο αλγόριθμος σε διάγραμμα ροής

Ένα πιο πολύπλοκο πρόβλημα Έστω ότι ο φόρος ενός εργαζόμενου προκύπτει ως εξής: Αν ο μισθός του είναι κάτω από 1000, ο φόρος του είναι 10% του μισθού του. Αν ο μισθός του είναι πάνω από 1000 και κάτω από 2000, ο φόρος του είναι 20% του μισθού του. Αλλιώς, ο φόρος του είναι 30% του μισθού του. Γράψτε ένα πρόγραμμα που δέχεται σαν είσοδο το μισθό ενός εργαζόμενου και εμφανίζει στην έξοδο το φόρο που πρέπει αυτός να πληρώσει.

Ο αλγόριθμος σε διάγραμμα ροής

Παραδείγματα αλγορίθμων Μέσος όρος 2 αριθμών Ελάχιστος 2 αριθμών Μετατροπή δεκαδικού σε δυαδικό αριθμό Μέγιστος Ν αριθμών Ταξινόμηση Ν αριθμών

Αλγόριθμος ταξινόμησης φυσαλίδας (bubble sort) Ο αλγόριθμος σε φυσική γλώσσα: 1. Σύγκρινε κάθε ζευγάρι στοιχείων (1ο με 2ο, 2ο με 3ο,..., (ν-1)ο με ν-οστό) και εάν τα στοιχεία κάποιου ζευγαριού είναι λάθος ταξινομημένα, ενάλλαξέ τα (swap) 2. Εάν έγινε έστω και μία εναλλαγή στοιχείων στο προηγούμενο βήμα, τότε επανέλαβε τη διαδικασία σύγκρισης των ζευγαριών (βήμα 1), διαφορετικά (δηλ., εάν δεν έγινε καμία εναλλαγή) τερμάτισε τον αλγόριθμο. (σε κάθε νέα επανάληψη του 1ου βήματος, το τελευταίο ζευγάρι της προηγούμενης επανάληψης της διαδικασίας δε χρειάζεται να συγκριθεί, άρα συγκρίνεται πάντα ένα ζευγάρι λιγότερο)

Παράδειγμα bubble sort (συνοπτικά) Αρχική λίστα: 1η σύγκριση: 2η σύγκριση:... (ν-1)η σύγκριση: Μετά το 1ο πέρασμα:... Μετά το 2ο πέρασμα:

Αναλυτικό παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 1ο: 3, 5, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 1ο: 3, 5, 6, 7, 2, 1, 8, 0, 2, 4 Πέρασμα 1ο: 3, 5, 6, 2, 7, 1, 8, 0, 2, 4 Πέρασμα 1ο: 3, 5, 6, 2, 1, 7, 8, 0, 2, 4 Πέρασμα 1ο: 3, 5, 6, 2, 1, 7, 0, 8, 2, 4 Πέρασμα 1ο: 3, 5, 6, 2, 1, 7, 0, 2, 8, 4 Πέρασμα 1ο: 3, 5, 6, 2, 1, 7, 0, 2, 4, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 2ο: Πέρασμα 2ο: Πέρασμα 2ο: Πέρασμα 2ο: Πέρασμα 2ο: Πέρασμα 2ο: 3, 5, 6, 2, 1, 7, 0, 2, 4, 8 3, 5, 2, 6, 1, 7, 0, 2, 4, 8 3, 5, 2, 1, 6, 7, 0, 2, 4, 8 3, 5, 2, 1, 6, 7, 0, 2, 4, 8 3, 5, 2, 1, 6, 0, 7, 2, 4, 8 3, 5, 2, 1, 6, 0, 2, 7, 4, 8 3, 5, 2, 1, 6, 0, 2, 4, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 3ο: Πέρασμα 3ο: Πέρασμα 3ο: Πέρασμα 3ο: 3, 5, 2, 1, 6, 0, 2, 4, 7, 8 3, 5, 1, 2, 6, 0, 2, 4, 7, 8 3, 5, 1, 2, 0, 6, 2, 4, 7, 8 3, 5, 1, 2, 0, 2, 6, 4, 7, 8 3, 5, 1, 2, 0, 2, 4, 6, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 4ο: Πέρασμα 4ο: Πέρασμα 4ο: Πέρασμα 4ο: Πέρασμα 4ο: 3, 5, 1, 2, 0, 2, 4, 6, 7, 8 3, 1, 5, 2, 0, 2, 4, 6, 7, 8 3, 1, 2, 5, 0, 2, 4, 6, 7, 8 3, 1, 2, 0, 5, 2, 4, 6, 7, 8 3, 1, 2, 0, 2, 5, 4, 6, 7, 8 3, 1, 2, 0, 2, 4, 5, 6, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 5ο: Πέρασμα 5ο: Πέρασμα 5ο: Πέρασμα 5ο: 3, 1, 2, 0, 2, 4, 5, 6, 7, 8 1, 3, 2, 0, 2, 4, 5, 6, 7, 8 1, 2, 3, 0, 2, 4, 5, 6, 7, 8 1, 2, 0, 3, 2, 4, 5, 6, 7, 8 1, 2, 0, 2, 3, 4, 5, 6, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 1, 2, 0, 2, 3, 4, 5, 6, 7, 8 Πέρασμα 6ο: 1, 0, 2, 2, 3, 4, 5, 6, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 1, 0, 2, 2, 3, 4, 5, 6, 7, 8 Πέρασμα 7ο: 0, 1, 2, 2, 3, 4, 5, 6, 7, 8

παράδειγμα: 5, 3, 7, 6, 2, 1, 8, 0, 2, 4 Πέρασμα 7ο: (ΤΕΛΟΣ) 45 Συγκρίσεις 28 Εναλλαγές 0, 1, 2, 2, 3, 4, 5, 6, 7, 8 0, 1, 2, 2, 3, 4, 5, 6, 7, 8

Ο ψευδοκώδικας του αλγόριθμου (για προεπισκόπηση, όχι πλήρη κατανόηση) διαδικασία bubblesort(a : λίστα των προς ταξινόμηση αριθμών) εκτέλεσε swapped := false για κάθε αριθμό της λίστας από τον 1ο έως μήκος_λίστας(α) - 1 αν αριθμός > επόμενο αριθμό τότε swap( αριθμό, επόμενο αριθμό ) swapped := true τέλος αν τέλος για κάθε όσο swapped είναι true τέλος διαδικασία Πρόβλημα: δεν προβλέπει μία επανάληψη λιγότερη σε κάθε πέρασμα. Λύση;

ΘΕΜΑΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ Θεματική Ενότητα 1 Εισαγωγή στον Προγραμματισμό Πληροφορική και Υπολογιστική Βιοϊατρική Α. Κακαρούντας, Γ. Σπαθούλας, Π. Κοντού