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

Σχετικά έγγραφα
Διάλεξη 1: Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

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

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

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

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

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

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

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

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

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

Αλγόριθμοι Αναπαράσταση αλγορίθμων Η αναπαράσταση των αλγορίθμων μπορεί να πραγματοποιηθεί με:

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

Πρόβλημα 29 / σελίδα 28

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι Εισαγωγή

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

Διάλεξη 01 Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

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

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

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

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

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

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Δομή Ακολουθίας

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο. Επικοινωνία:

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

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

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

περιεχόμενα υπολογιστικό πρόβλημα αλγόριθμοι παράδειγμα ταξινόμησης ταξινόμηση αλγόριθμοι τεχνολογία αλγορίθμων Παύλος Εφραιμίδης

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

ΓΕ0170 -Αλγόριθμοι και Προηγμένες Προγραμματικές Τεχνικές. Εισαγωγή. Νίκος Αθανάσης.

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

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

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

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Κεφάλαιο : Εισαγωγή Στον Προγραμματισμό. (Διάλεξη 2) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ. Περιεχόμενα

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

Μάριος Αγγελίδης Ενότητες βιβλίου: 2.1, 2.3, 6.1 (εκτός ύλης αλλά χρειάζεται για την συνέχεια) Ώρες διδασκαλίας: 1

ΠΕΡΙΕΧΟΜΕΝΑ. Εντολές επιλογής Εντολές επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Διάρκεια: 3 ώρες Επίπεδο Δυσκολίας: 5/5 Ενότητες (2 6)

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

Σύνοψη Θεωρίας ΟΡΙΣΜΟΣ ΚΑΙ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

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

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

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

Α Διαγώνισμα 1 ου Τριμήνου στο μάθημα της Πληροφορικής Γ Γυμνασίου Ονοματεπώνυμο:...

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 1 Ο. Εισαγωγή στις έννοιες Πρόβλημα, Αλγόριθμος, Προγραμματισμός, Γλώσσες Προγραμματισμού

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

Γ-ΓΥΜΝΑΣΙΟΥ (1) ΣΕΛ 1 / 6

Πληροφορική ΙΙ Ενότητα 1

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

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

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

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

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Βασικές έννοιες προγραμματισμού

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

Θέμα Α Α3.1 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 9 ΣΕΛΙΔΕΣ

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

σας δίπλα στον αριθμό που αντιστοιχεί σε κάθε πρόταση τη λέξη Σωστό, αν η πρόταση είναι σωστή, ή Λάθος, αν η πρόταση είναι λανθασμένη.

Αλγοριθμικές Τεχνικές

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

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

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

ΘΕΜΑ Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής

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

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

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

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

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

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

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

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

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

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

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

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

Transcript:

Αλγοριθμική επίλυση προβλημάτων με Προγραμματιστικές μεθόδους: Εισαγωγικές έννοιες και παραδείγματα Δρ. Δημήτριος Βέντζας Καθηγητής Π.Θ. Δρ. Απόστολος Ξενάκης Π.Δ. 407/80 Π.Θ. - Ερευνητής Παρασκευή 11 Οκτωβρίου 2019

Ερωτήματα προς απάντηση. 1. Τι ονομάζουμε αλγόριθμο; 2. Γιατί εφαρμόζουμε αλγορίθμους; 3. Παραδείγματα αλγόριθμων 4. Πολυπλοκότητα αλγορίθμων 5. Ποια είναι τα βήματα επίλυσης ενός προβλήματος; 6. Τι είναι ένα περιβάλλον προγραμματισμού και μία γλώσσα προγραμματισμού; 7. Παραδείγματα και επίδειξη

Abu Jafar Mohammed ibn Musa Αl-Khowarizmi (790-840) Τί καλείται Αλγόριθμος; Αλγόριθμος είναι μια πεπερασμένη ακολουθία εντολών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο (μετρήσιμο) χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται κάποιο επιθυμητό αποτέλεσμα. Απαραίτητα κριτήρια: Υπάρχει είσοδος και έξοδος Καθορισμός εντολών (όχι ασάφειες) Περατότητα (να διεκπεραιώνει τον στόχο) Δηλαδή, δοθέντος ενός προβλήματος, ένας αλγόριθμος παρέχει τις οδηγίες σύμφωνα με τις οποίες τα δεδομένα του προβλήματος μετασχηματίζονται και συνδυάζονται για να προκύψει η λύση του προβλήματος. Εξίσωση Wirth: Αλγόριθμοι + Δεδομένα = Προγράμματα

Παραδείγματα Αλγορίθμων: Διαίρεση αριθμών Υπολογισμός τετραγωνικής ρίζας Πολλαπλασιασμός πινάκων Εύρεση συντομότερης διαδρομής σε δίκτυα Ανάλυση Ιατρικών εικόνων Ταξινόμηση πινάκων Το πρόβλημα της επιλογής στοιχείων Σχεδίαση βέλτιστης ναυσιπλοΐας Επίδοση Αλγορίθμων: Για την αξιολόγηση των διαφόρων αλγορίθμων χρησιμοποιούνται διάφορα μεγέθη. n: μέγεθος του προβλήματος T(n): Ο χρόνος εκτέλεσης

Παραδείγματα.. Το πρόβλημα επιλογής (selection problem) Πρόβλημα: Έστω ότι έχουμε n αριθμούς και θέλουμε να προσδιορίσουμε τον k-οστό πιο μεγάλο. π.χ. Έστω οι αριθμοί {5, 72, 3, 4, 1, 9, 65} (72,65,9,5,4,3,1) Ο 2os πιο μεγάλος είναι ο 65, ο 6os πιο μεγάλος είναι ο 3, κοκ. Αυτό το πρόβλημα είναι γνωστό ως το πρόβλημα επιλογής (the selection problem). Υπάρχουν διάφοροι εύκολοι τρόποι λύσης: Sort-Based: Διαβάζουμε τους n αριθμούς σε μια λίστα, a. Ταξινομούμε τη λίστα από το μεγαλύτερο στο μικρότερο με βάση κάποιο αλγόριθμο ταξινόμησης. Επιστρέφουμε το (k-1)οστό στοιχείο της λίστας, δηλαδή το a[k-1]. Buffer-based: Διαβάζουμε τους k πρώτους αριθμούς σε μια λίστα a. Ταξινομούμε τη λίστα από το μεγαλύτερο στο μικρότερο δηλ για k=3 έχουμε a={72,5,3}. Μετά, επεξεργαζόμαστε τους υπόλοιπους n-k αριθμούς ως εξής: αν ένα στοιχείο είναι πιο μικρό από το a[k-1] το αγνοούμε, διαφορετικά το τοποθετούμε στη σωστή θέση της λίστας. Όταν η διαδικασία αυτή τελειώσει, επιστρέφουμε το k-οστό στοιχείο της λίστας, δηλαδή το a[k-1].

Πρόσθεση Ν Αριθμών

Ταξινόμηση

Επίλυση προβλημάτων με Η/Υ

Ανάλυση Προσδιορισμός της Λύσης

Σχεδίαση Λύσης

Αναπαράσταση με Διάγραμμα Ροής

Εύρεση μεγίστου 3 ακεραίων Παραδείγματα Εύρεση ελαχίστου 3 ακεραίων

Επαναληπτικές δομές.. Τι επιλύει??

Επαναληπτικές δομές.. Τι επιλύει??

Παράδειγμα Γράψτε ένα πρόγραμμα το οποίο μετατρέπει μίλια σε χιλιόμετρα ΑΝΑΛΥΣΗ

ΚΩΔΙΚΑΣ ΣΕ C

Ασυμπτωτική εκτίμηση..

Είναι επιθυμία μας

Είναι επιθυμία μας

Ορθότητα

Πολυπλοκότητα

Πολυπλοκότητα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λέξεις και Εντολές

Προγράμματα σε C

Λογικά λάθη? ΔΗΜΙΟΥΡΓΙΑ ΠΡΟΓΡΑΜΜΑΤΟΣ Συντακτικά λάθη?

Διαδικασία εκτέλεσης

Λογικές Εκφράσεις

ΠΕΡΙΒΑΛΛΟΝΤΑ ΓΙΑ ΣΥΓΓΡΑΦΗ C/C++

Αρχείο1: linear.txt Αρχείο2 quadratic.txt Αρχείο3 cube.txt

Βρες τον μέγιστο από 3 ακεραίους

Δρ. Απόστολος Ξενάκης axenakis@uth.gr