ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ

Slides:



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

Βασικές έννοιες αλγορίθμων
Βασικές Έννοιες Προγραμματισμού
Σημειώσεις : Χρήστος Μουρατίδης
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Εφαρμογες με αριθμους και συμβολοσειρες
ΑΕΠΠ: Ζητήματα Διδακτικής
Ενότητα Η Δομή Επανάληψης
ΤΕΛΕΣΤΕΣ - ΕΚΦΡΑΣΕΙΣ ΜΑΘΗΜΑ 4.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Κεφάλαιο 2. Τι είναι αλγόριθμος  Η λέξη αλγόριθμος προέρχεται από μελέτη του Πέρση μαθηματικού Abu Ja’far Mohammed ibn al Khowarizmi  Στα λατινικά ξεκινούσε.
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
1. Εκφράσεις (βλ. βιβλίο, σελ )
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Σχετικά με κλασματικές παραστάσεις
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ενότητα Α.4. Δομημένος Προγραμματισμός
Η αλληλουχία των ενεργειών δεν είναι πάντα μία και μοναδική!!!
Δουλεύει για όλους τους αριθμούς! Η δεύτερη ΓΡΑΨΕ δεν θα εκτελεστεί ποτέ!
1.5 Γλώσσες Προγραμματισμού
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Κάντε κλικ για έναρξη… Τ Ο ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ Κέντρο εντολών Χώρος γραφικών (σελίδα) Χώρος σύνταξης διαδικασιών.
Ερωτήσεις & Φύλλο εργασίας
Διαφάνειες παρουσίασης #2
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
Βασικές συνιστώσες/εντολές ενός αλγορίθμου
Μερικές φορές το αποτέλεσμα εμφανίζεται αμέσως από κάτω.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Συγγραφείς Α.Βακάλη Η. Γιαννόπουλος Ν. Ιωαννίδης Χ.Κοίλιας Κ. Μάλαμας Ι. Μανωλόπουλος Π. Πολίτης Γ΄ τάξη.
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Βασικές έννοιες προγραμματισμού Κεφάλαιο 7 ο. Βασικές έννοιες προγραμματισμού Αλφάβητο και τύποι δεδομένων Σταθερές και μεταβλητές Τελεστές, συναρτήσεις.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ Γεωργαλλίδης Δημήτρης 1 Ο Λύκειο Ρόδου.
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Εισαγωγή στην Python.
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δεδομένα, μεταβλητές, υπολογισμοί
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΔΟΜΕΣ ΕΛΕΓΧΟΥ(if-else, switch) και Λογικοί τελεστές / παραστάσεις
Οι διάφορες εκδοχές της
Γεωργαλλίδης Δημήτρης
Μανασσάκης Βασίλης Καθηγητής Πληροφορικής
Αν συνθήκη_ισχύει τότε εντολές Τέλος_Αν
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Τελεστές και ή όχι Για την εκτέλεση αριθμητικών πράξεων
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
ΑΛΓΟΡΙΘΜΟΣ.
ENOTHTA 2. ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΕΦΑΛΑΙΟ 2
ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Εντολές και δομές αλγορίθμου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Ενότητα Γ7.3.8(Προβλήματα Ακολουθιακής Δομής )
ΠΛΗΡΟΦΟΡΙΚΗ Γ΄ Γυμνασίου Α΄ Τρίμηνο
Υπολογιστικά Φύλλα Περιεχόμενο κελιού - Πράξεις
Κυριάκου Νικόλαος Πληροφορικής ΠΕ-20
Μεταγράφημα παρουσίασης:

ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ Αλγόριθμος είναι η ακριβής περιγραφή μιας σειράς βημάτων που απαιτούνται για την επίλυση ενός προβλήματος. Στην επίλυση προβλημάτων μέσω αλγορίθμων, υπάρχουν τρεις (3) διαφορετικοί διακριτοί ρόλοι: Ο λύτης, αυτός που καλείται να αντιμετωπίσει το πρόβλημα σχεδιάζοντας τον αλγόριθμο (προγραμματιστής). Ο εκτελεστής, αυτός που εφαρμόζει πιστά τις εντολές του αλγορίθμου που έφτιαξε ο λύτης (υπολογιστής). Ο χρήστης, αυτός που αυτός που ενεργοποιεί τον αλγόριθμο καλώντας τον εκτελεστή όταν θέλει να λύσει το πρόβλημα.

ΑΛΓΟΡΙΘΜΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΑΛΓΟΡΙΘΜΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΔΕΔΟΜΕΝΑ ΕΙΣΟΔΟΣ ΖΗΤΟΥΜΕΝΑ ΕΞΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ Προκειμένου να λύσουμε ένα πρόβλημα θα πρέπει να καταγράψουμε τα δεδομένα και τα ζητούμενα. Η αναπαράσταση των δεδομένων γίνεται με τις μεταβλητές. Για να λύσουμε το πρόβλημα (δηλ. να καταλήξουμε στα ζητούμενα) θα πρέπει να επεξεργαστούμε τα δεδομένα. Κατά την επεξεργασία κάνουμε χρήση κατάλληλων μεταβλητών προκειμένου να φυλάσσουμε τα ενδιάμεσα αποτελέσματα πριν να καταλήξουμε στα ζητούμενα. Φυσικά και τα αποτελέσματα θα αποθηκευτούν σε μεταβλητές.

ΜΕΤΑΒΛΗΤΕΣ Τις μεταβλητές τις χρησιμοποιούμε για να αποθηκεύσουμε στη μνήμη του υπολογιστή τις τιμές των δεδομένων. Μεταβλητή θεωρούμε μια περιοχή της μνήμης του υπολογιστή στην οποία έχουμε δώσει ένα όνομα και τη χρησιμοποιούμε για αποθήκευση δεδομένων. Κάθε τέτοια μεταβλητή προορίζεται να κρατά δεδομένα ενός ορισμένου τύπου. Άλλες μεταβλητές χρησιμοποιούμε για να κρατάμε αριθμούς (αριθμητικές) και άλλες για ονόματα (αλφαριθμητικές). Οι αριθμητικές μεταβλητές μπορεί να είναι πραγματικές ή ακέραιες ανάλογα αν έχουν ή δεν έχουν δεκαδικά ψηφία. Η κάθε γλώσσα προγραμματισμού υποστηρίζει διαφορετικούς τύπους δεδομένων. Οι πιο συνήθεις τύποι δεδομένων είναι: Ακέραιος, Πραγματικός, Λογικός, Αλφαριθμητικός. Η τιμή μιας μεταβλητής μπορεί να αλλάζει κατά τη διάρκεια εκτέλεσης του αλγόριθμου όχι όμως ο τύπος της μεταβλητής.

να μην έχει σύμβολα (+, -, *, $, %, κτλ) εκτός κάτω παύλα (_) Μεταβλητές Για να χρησιμοποιήσουμε μια μεταβλητή, την ονομάζουμε και στη συνέχεια της δίνουμε (εκχωρούμε) κάποια τιμή. Κάθε μεταβλητή έχει όνομα που εκφράζει το περιεχόμενό της. Το όνομα πρέπει: να μην έχει κενά να μην έχει σύμβολα (+, -, *, $, %, κτλ) εκτός κάτω παύλα (_) να μην ξεκινάει από αριθμό να μην είναι δεσμευ­μένη λέξη (λέξη που χρη­σιμοποιείται στη γλώσσα για ειδικό σκοπό) Σωστά : Επώνυμο, ΑΒ_Κ12, Status , Χ Λανθασμένα: Μέσος όρος, 1ΑΒ, @Επώνυμο, Ακέραιος, Όσο, Ε, συν

Απόδοση τιμών σε μεταβλητές Για να χρησιμοποιήσουμε μια μεταβλητή, την ονομάζουμε και στη συνέχεια της δίνουμε (εκχωρούμε) κάποια τιμή. Για να δώσουμε τιμή σε μια μεταβλητή έχουμε δύο επιλογές: είτε χρησιμοποιούμε μια εντολή εκχώρησης της μορφής μεταβλητή  τιμή είτε χρησιμοποιούμε μια εντολή εισόδου της μορφής Διάβασε μεταβλητή (με τη δεσμευμένη λέξη Διάβασε) για να δώσει ο χρήστης από το πληκτρολόγιο την τιμή της μεταβλητής. Αν η τιμή που δίνουμε στη μεταβλητή είναι αριθμός, τότε η μεταβλητή είναι αριθμητική, ενώ αν είναι λέξη τότε η μεταβλητή είναι αλφαριθμητική. Όταν δίνετε τιμές σε αλφαριθμητικές μεταβλητές να βάζετε τις τιμές σε εισαγωγικά (μονά ή διπλά): name ← ′Γιώργος′

Εκφράσεις Έκφραση είναι o συνδυασμός σταθερών και μεταβλητών (τελεστέοι) με πράξεις (τελεστές). Η τιμή μιας έκφρασης μπορεί να είναι είτε αριθμός, οπότε μιλάμε για αριθμητική έκφραση, είτε ΑΛΗΘΗΣ ή ΨΕΥΔΗΣ οπότε μιλάμε για λογική έκφραση. Μια έκφραση σχηματίζεται όταν εφαρμόζουμε πράξεις πάνω σε δεδομένα, π.χ. Τελεστής Χ + 3 Τελεστέοι Με τις αριθμητικές μεταβλητές δημιουργούμε αριθμητικές εκφράσεις χρησιμοποιώντας τα σύμβολα των πράξεων. Εκτός από τα τέσσερα σύμβολα των αριθμητικών πράξεων (+, -, *, /), χρησιμοποιούμε και τρία άλλα σύμβολα: το σύμβολο ύψωσης σε δύναμη ^, το σύμβολο DIV για το πηλίκο της διαίρεσης και το σύμβολο MOD για το υπόλοιπο της διαίρεσης. Τα επτά αυτά σύμβολα λέγονται αριθμητικοί τελεστές.

Ιεραρχία Σε μια αλγοριθμική αριθμητική παράσταση έχει μεγάλη σημασία η σειρά εκτέλεσης των πράξεων (ιεραρχία): πρώτα η ύψωση σε δύναμη, μετά πολλαπλασιασμός και διαίρεση (και mod, div) και τέλος πρόσθεση και αφαίρεση. Όταν η ιεραρχία είναι ίδια οι πράξεις εκτελούνται από αριστερά προς τα δεξιά. Αν θέλουμε να αλλάξουμε τη σειρά εκτέλεσης των πράξεων χρησιμοποιούμε παρενθέσεις όπως στα μαθηματικά.

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

Να μετατρέψετε σε εντολές εκχώρησης τις παρακάτω φράσεις: ΕΝΤΟΛΕΣ ΕΚΧΩΡΗΣΗΣ Να μετατρέψετε σε εντολές εκχώρησης τις παρακάτω φράσεις: α. Εκχώρησε στο Ι τον μέσο όρο των Α, Β, Γ : I ← (Α+Β+Γ)/3 β. Αύξησε την τιμή του Μ κατά 2 : Μ ← Μ + 2 γ. Διπλασίασε την τιμή του Λ: Λ ← 2*Λ δ. Μείωσε την τιμή του Χ κατά την τιμή του Ψ: Χ ← Χ - Υ ε. Εκχώρησε στο Α το υπόλοιπο της ακεραίας διαίρεσης του Α με το Β. Α ← Α MOD B

>, >=, <, <=, =, <> Λογικές Εκφράσεις Αν χρησιμοποιήσουμε τους συγκριτικούς (σχεσιακούς) τελεστές >, >=, <, <=, =, <> δημιουργούμε εκφράσεις που η τιμή τους είναι είτε ΑΛΗΘΗΣ είτε ΨΕΥΔΗΣ, οπότε μιλάμε για λογικές εκφράσεις. π.χ. Τελεστής Χ > 3 Τελεστέοι Αν η τιμή του Χ στην παραπάνω έκφραση είναι μεγαλύτερη του 3 η τιμή της είναι ΑΛΗΘΗΣ , ενώ αν είναι μικρότερη ή ίση του 3 η τιμή της είναι ΨΕΥΔΗΣ Αν χρησιμοποιήσουμε τους λογικούς τελεστές ΚΑΙ, Η, ΟΧΙ δημιουργούμε σύνθετες λογικές εκφράσεις όπως: Χ + Y > 3 ΚΑΙ Z <= 6 Στις λογικές εκφράσεις μπορούν να χρησιμοποιηθούν όλοι οι τελεστές.

Αλφαριθμητικοί τελεστέοι σε λογικές εκφράσεις Οι σχεσιακοί τελεστές μπορούν να χρησιμοποιηθούν και με αλφαριθμητικούς τελεστέους. Η σύγκριση αλφαριθμητικών εκφράσεων πραγματοποιείται βάσει διεθνών προτύπων που στοχεύουν στην κωδικοποίηση όλων των συστημάτων γραφής. Στην ψευδογλώσσα θα γίνεται σύγκριση αλφαριθμητικών εκφράσεων που περιέχουν μόνο τα κεφαλαία γράμματα του ελληνικού αλφαβήτου, στα οποία ισχύει η αλφαβητική σειρά. Για παράδειγμα η λογική έκφραση ''ΑΔΓ'' > ''ΑΒΚ'' είναι αληθής, διότι κατά τη σύγκριση χαρακτήρα προς χαρακτήρα από αριστερά προς τα δεξιά εντοπίζεται ότι το γράμμα Δ είναι διαφορετικό και μεγαλύτερο του γράμματος Β.

Τελεστές ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ Για την εκτέλεση αριθμητικών πράξεων Για τη σύγκριση εκφράσεων ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ + πρόσθεση -  αφαίρεση * πολλαπλασιασμός / διαίρεση ^ ύψωση σε δύναμη  div πηλίκο mod υπόλοιπο ΣΧΕΣΙΑΚΟΙ ΤΕΛΕΣΤΕΣ = ίσο <>  διάφορο >= μεγαλύτερο ή ίσο <= μικρότερο ή ίσο >  μεγαλύτερο από  <  μικρότερο από Για τη σύνδεση λογικών εκφράσεων ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ και σύζευξη ή  διάζευξη όχι άρνηση