Κεφάλαιο 2. Τι είναι αλγόριθμος  Η λέξη αλγόριθμος προέρχεται από μελέτη του Πέρση μαθηματικού Abu Ja’far Mohammed ibn al Khowarizmi  Στα λατινικά ξεκινούσε.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Επαναληπτικό Μάθημα ΑΕΠΠ
Advertisements

Βασικές έννοιες αλγορίθμων
Εισαγωγή στους Αλγορίθμους
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 ΑΛΓΟΡΙΘΜΟΙ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
Εισαγωγή στους Αλγορίθμους
Ενότητα 1: Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Εκτέλεση Αλγορίθμων σε ψευδογλώσσα
ΑΕΠΠ: Ζητήματα Διδακτικής
ΑΛΓΟΡΙΘΜΟΙ.
ΑΕΠΠ 2ο Κεφάλαιο: Βασικές Έννοιες Αλγορίθμων
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Ενότητα Η Δομή Επανάληψης
Σαρημπαλίδης Ιωάννης Εισαγωγή στους Αλγορίθμους. Γεια σας.
Κεφάλαιο 2 : Βασικές Έννοιες Αλγορίθμων 2.1 Τι είναι αλγόριθμος
Υλικά.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Ασκήσεις.
Πολλαπλασιασμός αλά ρωσικά (ακέραιοι θετικοί >0)
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 ΑΛΓΟΡΙΘΜΟΙ- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΝΝΟΙΑ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
Ενότητα Α.4. Δομημένος Προγραμματισμός
Μάθημα: Εισαγωγή στις Αρχές της Επιστήμης των Υπολογιστών Β’ Τάξη ΕΠΑ
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Αλγόριθμοι 2.1.1,
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Kεφάλαιο 4 ΑΛΓΟΡΙΘΜΟΙ-ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ (αναλυτική προσέγγιση)
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
1. 2 Τι είναι αλγόριθμος; 1. 3 Ιδιότητες ενός αλγορίθμου 1
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Από την ιδέα μέχρι το λογισμικό. Ξεκινώντας από το πρόβλημα...
Ερωτήσεις & Φύλλο εργασίας
Δομές Δεδομένων 1 Θέματα Απόδοσης. Δομές Δεδομένων 2 Οργανώνοντας τα Δεδομένα  Η επιλογή της δομής δεδομένων και του αλγορίθμου επηρεάζουν το χρόνο εκτέλεσης.
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ ΕΝΤΟΛΕΣ ΕΝΤΟΛΕΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
Διπλωματική Εργασία: Ανάπτυξη παράλληλων αλγορίθμων για γεωγραφικά προβλήματα Μεταπτυχιακό στα Συστήματα Τηλεπικοινωνιών και στην Πληροφορική Τμήμα Μηχανικών.
ΚΕΦΑΛΑΙΟ ΑΛΓΟΡΙΘΜΟΙ Αλγόριθμος Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής. Πχ συνταγή.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΦΑΣΕΙΣ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΟΣ – ΑΝΑΠΤΥΞΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ
ΑΛΓΟΡΙΘΜΟΣ.
Στοιχεία Δομημένου Προγραμματισμού
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΑΛΓΟΡΙΘΜΟΣ.
Βασικές Έννοιες Αλγορίθμων
ENOTHTA 2. ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Βασικές έννοιες αλγορίθμων
Αναπαράσταση Αλγορίθμου
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ
Ενότητα Γ7.3.8(Προβλήματα Ακολουθιακής Δομής )
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Μεταγράφημα παρουσίασης:

Κεφάλαιο 2

Τι είναι αλγόριθμος  Η λέξη αλγόριθμος προέρχεται από μελέτη του Πέρση μαθηματικού Abu Ja’far Mohammed ibn al Khowarizmi  Στα λατινικά ξεκινούσε με τη φράση Algoritmi dixit που σημαίνει «ο Αλγόριθμος λέει»  Για χρόνια ο όρος αλγόριθμος σήμαινε κάτι σαν «συστηματική διαδικασία αριθμητικών χειρισμών»  Τη σημερινή του έννοια πήρε στον 20 ο αιώνα Βασικές Έννοιες Αλγορίθμων

Τι είναι αλγόριθμος  Αλγόριθμος είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος  Είσοδος Καμία, μία ή περισσότερες τιμές δεδομένων για είσοδο  Έξοδος Τουλάχιστον ένα αποτέλεσμα  Καθοριστικότητα Σαφώς καθορισμένες εντολές  Περατότητα Να τελειώνει μετά από πεπερασμένο αριθμό βημάτων  Αποτελεσματικότητα Απλές και εκτελέσιμες εντολές Βασικές Έννοιες Αλγορίθμων

Κριτήρια αλγορίθμων  Είσοδος (δεδομένα)  Έξοδος (αποτελέσματα)  Περατότητα (δεν εκτελείται επ’άπειρον)  Καθοριστικότητα (όχι ασάφεια, όχι αμφιβολία)  Αποτελεσματικότητα (απλές & εφικτές εντολές) Βασικές Έννοιες Αλγορίθμων

Καθοριστικότητα  Κάθε βήμα να είναι διατυπωμένο με σαφήνεια  Δεν υπάρχουν αμφιβολίες για το τι πρέπει να κάνουμε. Διαίρεση: Πρέπει ο αλγόριθμος της διαίρεσης να προβλέπει την περίπτωση διαίρεσης με το 0 Σε μια συνταγή, η έκφραση «Βάλε λίγο αλάτι» δεν είναι σαφώς καθορισμένη. Τι πάει να πει «λίγο»; Βασικές Έννοιες Αλγορίθμων

Αποτελεσματικότητα  Κάθε εντολή είναι αρκετά απλή έτσι ώστε να μπορεί να εκτελεστεί από τον υπολογιστή.  Για κάθε βήμα του αλγορίθμου θα πρέπει να υπάρχει αντίστοιχη εντολή στη γλώσσα προγραμματισμού έτσι ώστε να μπορεί ο αλγόριθμος να μετατραπεί σε εκτελέσιμο πρόγραμμα. Η εντολή «Βρες το μεγαλύτερο από 100 αριθμούς» δεν υπάρχει. Πρέπει να αναλυθεί σε πολλές απλούστερες εντολές Βασικές Έννοιες Αλγορίθμων

Καθοριστικότητα vs Αποτελεσματικότητα  Η παραβίαση οποιουδήποτε από τα δύο κριτήρια οδηγεί σε μη εκτελέσιμους αλγορίθμους  Παραβίαση της καθοριστικότητας σημαίνει έλλειψη σαφήνειας  Παραβίαση της αποτελεσματικότητας σημαίνει πολύπλοκες εντολές που δεν υπάρχουν στη γλώσσα προγραμματισμού Βασικές Έννοιες Αλγορίθμων

Σπουδαιότητα αλγορίθμων  Η Πληροφορική μελετά τους αλγορίθμους από τη σκοπιά  Υλικού Η ταχύτητα εκτέλεσης του αλγορίθμου εξαρτάται από την αρχιτεκτονική και την ταχύτητα του υπολογιστή  Γλωσσών Προγραμματισμού Η γλώσσα προγραμματισμού που θα χρησιμοποιηθεί καθορίζει τη δομή και τις εντολές του αλγορίθμου  Θεωρητική Διερευνά την ύπαρξη ή μη αποδοτικού αλγορίθμου για την επίλυση ενός προβλήματος  Αναλυτική Υπολογίζονται οι υπολογιστικοί πόροι (μνήμη, φόρτος CPU κλπ) που απαιτούνται για την εκτέλεση ενός αλγορίθμου Βασικές Έννοιες Αλγορίθμων

Σπουδαιότητα αλγορίθμων Υλικό ΤαχύτηταΑρχιτεκτονική Γλώσσες προγραμματισμού Μηχανής Χαμηλού επιπέδου Υψηλού επιπέδου 4 ης γενιάς Θεωρητική Απόδοση αλγορίθμου Αναλυτική Υπολογιστικοί πόροι Βασικές Έννοιες Αλγορίθμων

Περιγραφή και αναπαράσταση  Ελεύθερο κείμενο Ανεπεξέργαστος και αδόμητος τρόπος, ενδέχεται να παραβιάζει το κριτήριο της αποτελεσματικότητας  Διαγραμματικές τεχνικές Γραφικός τρόπος (π.χ. διάγραμμα ροής)  Φυσική γλώσσα Ενδέχεται να παραβιάζει το κριτήριο της καθοριστικότητας  Κωδικοποίηση Πρόγραμμα γραμμένο σε ψευδογλώσσα ή σε κάποια γλώσσα προγραμματισμού που δίνει τα ίδια αποτελέσματα με τον αλγόριθμο Βασικές Έννοιες Αλγορίθμων

Διάγραμμα ροής Βασικές Έννοιες Αλγορίθμων Αρχή Τέλος

Βασικές συνιστώσες αλγορίθμου Δομές ελέγχου Δομή Ακολουθίας Δομή Επιλογής ΑπλήΣύνθετηΠολλαπλή Δομή Επανάληψης ΌσοΜέχρις ότουΓια Βασικές Έννοιες Αλγορίθμων

Πολλαπλασιασμός α λα Ρώσικα  Παίρνουμε δύο θετικούς ακέραιους αριθμούς  Διπλασιάζουμε τον πρώτο και υποδιπλασιάζουμε το δεύτερο (αγνοώντας τα δεκαδικά ψηφία)  Συνεχίζουμε μέχρι ο δεύτερος αριθμός γίνει 1  Προσθέτουμε τους αριθμούς της 1 ης στήλης για τους οποίους ο αριθμός στη 2 η στήλη είναι περιττός  Το άθροισμα που προκύπτει είναι το γινόμενο των δύο αρχικών αριθμών Άθροισμα855 Βασικές Έννοιες Αλγορίθμων

Πολλαπλασιασμός α λα Ρώσικα ΠΡΟΓΡΑΜΜΑ Πολλαπλασιασμός_αλά_Ρώσικα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: α, β, άθροισμα ΑΡΧΗ ΓΡΑΨΕ 'Δώσε δύο θετικούς αριθμούς' ΔΙΑΒΑΣΕ α, β άθροισμα <- 0 ΟΣΟ β > 0 ΕΠΑΝΑΛΑΒΕ ΑΝ β MOD 2 = 1 ΤΟΤΕ άθροισμα <- άθροισμα+α ΤΕΛΟΣ_ΑΝ α <- α*2 β <- β DIV 2 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΓΡΑΨΕ 'Το γινόμενο των δύο αριθμών ισούται με ', άθροισμα ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Βασικές Έννοιες Αλγορίθμων

Πολλαπλασιασμός α λα Ρώσικα Βασικές Έννοιες Αλγορίθμων ΑΡΧΗ ΤΕΛΟΣ ΔΙΑΒΑΣΕ α, β β > 0β mod 2 = 1 αθρ ← 0 αθρ ← αθρ+α ΓΡΑΨΕ αθρ α ← α*2 β ← β/2 ΝΑΙ ΟΧΙΝΑΙ ΟΧΙ

Ολίσθηση (2) = 17 (10) (2) = 34 (10)  Ολίσθηση προς τα αριστερά ισοδυναμεί με πολλαπλασιασμό επί (2) = 22 (10) (2) = 11 (10)  Ολίσθηση προς τα δεξιά ισοδυναμεί με (ακέραια) διαίρεση με το 2 Βασικές Έννοιες Αλγορίθμων

Εργασίες για το σπίτι Βασικές Έννοιες Αλγορίθμων Ερωτήσεις 1, 2, 3, 4, 5 του 2 ου κεφαλαίου