1 / 194

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

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

vaughan
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. ΣΚΟΠΟΣΜΑΘΗΜΑΤΟΣ • Το μάθημα έχει ως σκοπό να αναπτύξει την σκέψη των μαθητών, ώστε να κατανοούν και να επιλύουν «προβλήματα» με τη βοήθεια του Η/Υ. • Η επίλυση γίνεται με τη δημιουργία αλγορίθμων στο χαρτί και στη συνέχεια προγραμμάτων σε μια υποθετική γλώσσα προγραμματισμού με όνομα «ΓΛΩΣΣΑ» • Η «ΓΛΩΣΣΑ», ακολουθεί τις γενικές αρχές των πραγματικών γλωσσών προγραμματισμού, αλλά δεν παράγει αληθινές εφαρμογές (ψευδογλώσσα) • Χρησιμοποιείται ώστε να μας εισάγει με ένα γενικό τρόπο στον συναρπαστικό κόσμο του προγραμματισμού Η/Υ • Η μετατροπή ενός προγράμματος από «ΓΛΩΣΣΑ» σε πραγματική γλώσσα προγραμματισμού (π.χ. Pascal, C, Fortran, Java, Visual Basic κ.λπ.) είναι απλή υπόθεση • Κάθε γλώσσα προγραμματισμού, σχεδιάζεται για συγκεκριμένο σκοπό, αλλά όλες έχουν κοινά χαρακτηριστικά και επεξεργάζονται τους ίδιους τύπους δεδομένων, με παρόμοιο λεξιλόγιο

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

  4. ΟΡΙΣΜΟΣΠρόβλημα, θεωρείται μια κατάσταση την οποία πρέπει να επιλύσουμε, χωρίς να είναι απαραίτητα γνωστή ή προφανής η λύσης της. Π.χ. Τρύπα του όζοντος, πληθωρισμός, αργή ταχύτητα μετάδοσης δεδομένων, ιοί υπολογιστών κ.λπ. ΤΙ ΕΙΝΑΙ «ΠΡΟΒΛΗΜΑ»

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

  6. 2. Τι καταλάβαμε 1. Τι μας ζήτησαν 4. Πως διορθώσαμε 3. Τι περιγράψαμε 6. Τι παραδώσαμε 5. Τι προγραμματίσαμε Το αποτέλεσμα δεν είναι πάντα το αναμενόμενο

  7. ΓΙΑ ΤΗΝ ΕΠΙΛΥΣΗ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Η σωστή και πλήρης αποσαφήνιση των δεδομένων και των ζητούμενων του προβλήματος 1. ΚΑΤΑΝΟΗΣΗ Το αρχικό πρόβλημα διασπάται σε άλλα επί μέρους απλούστερα προβλήματα (υποπροβλήματα) 2. ΑΝΑΛΥΣΗ Υλοποιείται η λύση του προβλήματος, λύνοντας τα επιμέρους προβλήματα 3. ΕΠΙΛΥΣΗ

  8. ΔΟΜΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ • Κάθε πρόβλημα έχει μια δομή την οποία πρέπει να αναλύσουμε και να αποτυπώσουμε. • Η καταγραφή της δομής του προβλήματος, σημαίνει και την ανάλυσή του σε μικρότερα και απλούστερα υποπροβλήματα. ΟΡΙΣΜΟΣ Δομή προβλήματος, είναι τα επιμέρους τμήματα που αποτελούν το πρόβλημα (υποπροβλήματα) και ο τρόπος αλληλοσύνδεσής τους.

  9. ΔΙΑΓΡΑΜΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ ΔΟΜΗΣ ΕΝΟΣ ΠΡΟΒΛΗΜΑΤΟΣ Απλοποιούμε (αποδομούμε) όσο το δυνατόν περισσότερο το πρόβλημα σε ευκολότερα τμήματα

  10. ΚΑΘΟΡΙΣΜΟΣ ΑΠΑΙΤΗΣΕΩΝ • Για τη σωστή επίλυση ενός προβλήματος : • Προσδιορίζουμε τα δεδομένα που μας παρέχονται • Καταγράφουμε τα ζητούμενα • Δεν είναι πάντα εύκολο να διακρίνουμε τα δεδομένα. Δεν υπάρχει συγκεκριμένη μέθοδολογία. • Το ίδιο ισχύει και για τα ζητούμενα.

  11. ΟΡΙΣΜΟΙ • Δεδομένο, είναι οποιοδήποτε στοιχείο μπορούμε να αντιληφθούμε σε ένα πρόβλημα και αναπαρίσταται με κάποια τιμή (αριθμητική, ημερομηνία, κείμενο, κλπ). Π.χ. 1562, 24/5/2005, «ΚΑΛΗΜΕΡΑ ΣΑΣ» • Πληροφορία, είναι το αποτέλεσμα της επεξεργασίας δεδομένων. • Επεξεργασία δεδομένων, είναι η διαδικασία με την οποία ο μηχανισμός επίλυσης ενός προβλήματος δέχεται δεδομένα, τα επεξεργάζεται με συγκεκριμένο τρόπο και παράγει πληροφορία.

  12. ΚΑΤΗΓΟΡΙΕΣ ΠΡΟΒΛΗΜΑΤΩΝ Βάσει της δυνατότητας επίλυσης τους: • ΕπιλύσιμαΗ λύση τους μπορεί να διατυπωθεί χωρίς πρόβλημα • ΑνοικτάΕίναι αυτά που πιθανώς λύνονται, αλλά δεν έχει βρεθεί ακόμα η λύση τους • ΆλυταΑπλά δεν επιλύονται

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

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

  15. ΠΡΟΒΛΗΜΜΑΤΑ ΣΕ Η/Υ • Ο Η/Υ δεν έχει νόηση όπως ο άνθρωπος • Ο λόγος που αναθέτουμε την επίλυση ενός προβλήματος σε Η/Υ είναι γιατί: • Κάνει πολύπλοκους υπολογισμούς • Εκτελεί επαναληπτικές διαδικασίες • Χειρίζεται τεράστιο πλήθος δεδομένων • Είναι ταχύτατος και... • Δεν παραπονιέται! • Και όλα αυτά, ο Η/Υ μπορεί να τα κάνει μόνο με προσθέσεις,συγκρίσειςκαιμεταφορά!

  16. ΠΑΡΑΔΕΙΓΜΑ Να βρεθεί η λύση της συνάρτησης:f(x) = 2x2 – 3x + 4 ΚΑΤΑΝΟΗΣΗ • Πρόκειται για β’ θμια εξίσωση με α=2, β=-3, γ=4 ΑΝΑΛΥΣΗ • Για να βρεθεί η λύση πρέπει να βρούμε τη διακρίνουσα (Δ). Ο τύπος που δίνει τη διακρίνουσα είναι Δ = β2 – 4αγ • Έλεγχος για Δ < 0 ; • Η λύση προκύπτει από τον τύπο x1,x2 = (-β ±√Δ) / 2α ΕΠΙΛΥΣΗ • Το μόνο που μένει είναι να εφαρμόσουμε τα παραπάνω βήματα (αλγόριθμο) σε Η/Υ Το παραπάνω πρόβλημα είναι επιλύσιμο, δομημένο και υπολογιστικό

  17. ΚΕΦΑΛΑΙΟ 2οΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

  18. ΤΙ ΕΙΝΑΙ ΑΛΓΟΡΙΘΜΟΣ • Αλγόριθμος, είναι μια πεπερασμένη σειρά αυστηρά καθορισμένων και εκτελέσιμων βημάτων (ενεργειών), που στοχεύουν στην επίλυση ενός προβλήματος • Ο αλγόριθμος ΔΕΝ είναι το ίδιο το πρόγραμμα • Τα προγράμματα δημιουργούνται, μετατρέποντας τον αλγόριθμο, χρησιμοποιώντας μια γλώσσα προγραμματισμού (π.χ. ΓΛΩΣΣΑ) σε ειδικό περιβάλλον εργασίας. Ιστορικό σημείωμα: Η λέξη προέρχεται από έναν Πέρση μαθηματικό του825 μ.Χ., τον Abu Jafar Mohammed ibn Musa al Khowarizmi. Ο αλγόριθμος είναι σαν μια συνταγή μαγειρικής που διαχειρίζεται συγκεκριμένα υλικά (δεδομένα εισόδου), όπου μετά το μαγείρεμα με ένα συγκεκριμένο τρόπο (επεξεργασία), παράγεται το φαγητό (έξοδος)

  19. ΕΙΣΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ ΕΞΟΔΟΣ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΑΛΓΟΡΙΘΜΩΝ Κάθε αλγόριθμος ικανοποιεί τα παρακάτω: • Δέχεται είσοδο (input) δεδομένων, δηλ. καμία ή περισσότερες τιμές • Παράγει έξοδο (output), δηλαδή τουλάχιστον ένα αποτέλεσμα • Αποτελείται από καθορισμένα βήματα (όχι ασάφειες)π.χ. Σε μια συνταγή λέει : «Βάζουμε λίγο αλάτι...». Δηλ. πόσο; • Αποτελείται από πεπερασμένα βήματα, δηλ. δεν εκτελείται επ’ άπειρον (περατότητα) • Είναι αποτελεσματικός (κάθε βήμα είναι απλό και εκτελέσιμο)π.χ. Η εντολή «Βρες το μεγαλύτερο από 100 αριθμούς» δεν υπάρχει. Πρέπει να αναλυθεί σε πολλές απλούστερες εντολές, δηλ. Πάρε με τη σειρά κάθε αριθμό, έλεγξε αν αυτός είναι ο μεγαλύτερος και αφού τελειώσουν εμφάνισε τον.

  20. ΜΕΛΕΤΗ ΑΛΓΟΡΙΘΜΩΝ Η Πληροφορική μελετά τους αλγορίθμους από τις ακόλουθες σκοπιές : • Του υλικού • Επηρεάζεται η εκτέλεση ενός προγράμματος από την απόδοση ή την αρχιτεκτονική του υλικού; • Των γλωσσών προγραμματισμού • Αν κάποια γλώσσα μπορεί να υποστηρίξει τον αλγόριθμο, ή χρειάζονται περισσότερες εντολές • Θεωρητική • Αν υπάρχει κάποιος αποδοτικός αλγόριθμος για τη λύση ενός προβλήματος • Αναλυτική • Μελετώνται οι πόροι που απαιτούνται από έναν αλγόριθμο (μνήμη, χρόνος, είσοδος/έξοδος, κλπ)

  21. ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΩΝ • Με ελεύθερο κείμενο (free text)Δεν είναι αποτελεσματικός γιατί επιδέχεται παρανόηση • Με διαγράμματαροής (flow charts)Σπανίζουν ωστόσο, γιατί είναι δύσχρηστα και καταλαμβάνουν πολύ χώρο. Παρόλα αυτά, μπορείτε να τα χρησιμοποιήσετε. • Με ψευδοκώδικα (pseudocode)Μια υποθετική γλώσσα (ψευδοκώδικας), πιο κοντά στη φυσική γλώσσα, αλλά με συγκεκριμένη σύνταξη και δομή, που όταν εκτελεστεί θα δώσει τα ίδια αποτελέσματα με τον αλγόριθμο.

  22. ΑΛΓΟΡΙΘΜΟΣ ΜΕ ΕΛΕΥΘΕΡΟ ΚΕΙΜΕΝΟ(παράδειγμα) ΕΙΣΟΔΟΣ: Δύο αριθμοί Α και Β ΕΞΟΔΟΣ: Πηλίκο της διαίρεσής Α/Β αρκεί Β ≠ 0 • Κάνε εισαγωγή του Α και του Β • Έλεγξε αν ο Β ≠ 0 • Αν ναι, υπολόγισε το αποτέλεσμα Α / Β και τοποθέτησέ το στο Χ και εμφάνισέ το • Αλλιώς, εμφάνισε το μήνυμα «ΛΑΘΟΣ στο Β»

  23. ΑΡΧΗ Διάβασε Α και Β ΟΧΙ ΝΑΙ ΙΣΧΥΕΙ Η ΣΥΝΘΗΚΗ; Β ≠ 0 ; ΟΧΙ ΝΑΙ Χ  Α / Β Εκτύπωσε «ΛΑΘΟΣ στο Β» Εκτύπωσε Χ ΤΕΛΟΣ ΑΛΓΟΡΙΘΜΟΣ ΜΕ ΔΙΑΓΡΑΜΜΑ ΡΟΗΣ (παράδειγμα) ΑΡΧΗ Δηλώνει την αρχή ή τέλος του αλγορίθμου ΤΕΛΟΣ Διακλάδωση εκτέλεσης οδηγιών του αλγορίθμου Είσοδος ή έξοδος δεδομένων Είσοδος ή Έξοδος Αριθμητική πράξη, εκχώρηση τιμής, κ.λπ. Εκτέλεσηενέργειας Όλα τα σχήματα ενώνονται με γραμμές που καταλήγουν σε βέλος

  24. ΑΛΓΟΡΙΘΜΟΣ ΜΕ ΨΕΥΔΟΚΩΔΙΚΑ (παράδειγμα) Αλγόριθμος Πηλίκο Διάβασε Α, Β Αν Β <> 0 τότε Χ  Α / Β Εμφάνισε Χ Αλλιώς Εμφάνισε «ΛΑΘΟΣ στο Β» Τέλος_αν Τέλος Πηλίκο

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

  26. ΣΤΟΙΧΕΙΑ ΑΛΓΟΡΙΘΜΟΥ • Μεταβλητές (variables)Θέσεις μνήμης με όνομα, στις οποίες εκχωρούμε κάποια τιμή η οποία μπορεί αργότερα να αλλάξει. • Σταθερές (constants)Θέσεις μνήμης με όνομα, αλλά με προκαθορισμένη τιμή, σταθερή πάντα (π.χ. Π : 3,14 ή ΦΠΑ : 21%) • Τελεστές (operators)Είναι τα σύμβολα που χρησιμοποιούνται στην τέλεση των πράξεων(+, - , * , / , < , > ,  , ΚΑΙ, Ή, ΟΧΙ, ^ , MOD, DIV, κ.λπ.) • Εντολές (commands) και ΣυναρτήσειςΕίναι ειδικές δεσμευμένες λέξεις και δομές, τις οποίες χρησιμοποιούμε με συγκεκριμένο συντακτικό κατά την εκτέλεση των βημάτων και άλλων υπολογισμών του αλγορίθμου • Εκφράσεις/παραστάσεις (expressions)Αποτελούνται από μεταβλητές ή σταθερές και παράγουν ένα αποτέλεσμα που εκχωρείται () σε μεταβλητή.Π.χ. Στη μεταβλητή Α εκχωρείται το αποτέλεσμα της έκφρασης Χ + 15 / ΥΑ  Χ + 15 / Υ • Σχόλια προγραμματιστήΕίναι ελεύθερο κείμενο που συμπληρώνει ο προγραμματιστής σε σημεία του αλγορίθμου που τον ενδιαφέρουν, ώστε να κάνει τον αλγόριθμο πιο κατανοητό. Πρέπει να ξεκινούν με το χαρακτήρα του θαυμαστικού (!)

  27. 1. ΜΕΤΑΒΛΗΤΕΣ Χρησιμοποιούμε μεταβλητές όταν θέλουμε να αποθηκεύσουμε μια τιμή. Οι μεταβλητές είναι θέσεις μνήμης με όνομα, τύπο και περιεχόμενο • Το όνομα μπορεί να είναι ένα απλό γράμμα ή μια μόνο λέξηκαι δεν μπορεί να αρχίζει με αριθμό ή άλλο σύμβολο. Το μόνο επιτρεπτό σύμβολο είναι η κάτω παύλα ( _ ) για χρήση ανάμεσα στα γράμματα του όνοματος π.χ. Επώνυμο, ΑΒ_Κ12, Status, Χ, Υποχρεωτικό Μέσος όρος,1ΑΒ, @35Επώνυμο *** Επίσης, οι μεταβλητές απαγορεύεται να ονομάζονται χρησιμοποιώντας δεσμευμένες λέξεις (π.χ. Αλγόριθμος) *** • Τύπος, είναι το είδος των πιθανών τιμών που μπορεί να λάβει η μεταβλητή π.χ. Ακέραιος, δεκαδικός, κείμενο (χαρακτήρας/αλφαριθμητικό), λογική τιμή (δηλ. «Αληθές» ή «Ψευδές») κ.λπ. Σημ.: Ορίζουμε τον τύπο όταν γράφουμε σε γλώσσα προγραμματισμού (π.χ. «ΓΛΩΣΣΑ»). Όχι σε αλγόριθμο. • Τιμή, είναι το περιεχόμενο της μεταβλητής π.χ. 50, 45.23 , «ΝΙΚΟΣ», ΑΛΗΘΕΣ Κάθε μεταβλητή μπορεί να έχει μόνο μια τιμή τη φορά. >>> Αν θέσουμε νέα τιμή, η προηγούμενη αντικαθίσταται. <<< ΣΩΣΤΕΣ ΛΑΘΟΣ

  28. ΑΙΘΡΙΟΣ ΚΑΙΡΟΣ Status 200 201 Y3 Y3 300 Χ 1. ΜΕΤΑΒΛΗΤΕΣ (παραδείγματα) Η εκχώρηση τιμής σε μεταβλητή γίνεται με τον τελεστή δηλ. από τα δεξιά προς τα αριστερά • Εκχώρηση της τιμής «ΑΙΘΡΙΟΣΚΑΙΡΟΣ», στη μεταβλητή με όνομα StatusStatus  “ΑΙΘΡΙΟΣ ΚΑΙΡΟΣ” • Εκχώρηση της τιμής 200, στη μεταβλητή με όνομα Y3Y3  200 • Εκχώρηση του αποτελέσματος της έκφρασης Υ3 + 100, στη μεταβλητή Χ, δηλαδή ό,τι περιέχει η μεταβλητή Υ3 συν 100Χ  Υ3 + 100 • Αύξηση της τιμής Υ3 κατά 1. Υπολογίζεται πρώτα η έκφραση Υ3 + 1 με την τρέχουσα τιμή της Υ3 και εκχωρείται το αποτέλεσμα πάλι στην Υ3Υ3  Υ3 + 1

  29. 21% Π.χ. ΦΠΑ 2. ΣΤΑΘΕΡΕΣ • Οι σταθερές, μοιάζουν με τις μεταβλητές,στο ότι είναι κι αυτές θέσεις μνήμης με όνομα και περιεχόμενο. Ο τύπος υπονοείται βάσει της αρχικής τιμής. • Η τιμή αυτή όμως είναι πάντα σταθερή σε όλο τον αλγόριθμο και είναι προκαθορισμένη στην αρχή (πριν τις δηλώσεις μεταβλητών). Η εκχώρηση τιμής σε σταθερές γίνεται με το σύμβολο (=), π.χ. Π=3.14 • Αντί λοιπόν της ίδιας της τιμής της σταθεράς, μπορούμε να χρησιμοποιήσουμε το όνομα της (πολύ βολικό αν την αναφέρουμε σε διάφορα σημεία στον αλγόριθμο) Αν τυχόν αργότερα αποφασίσουμε ότι, η αρχική τιμή της σταθεράς πρέπει να είναι άλλη, θα κάνουμε τη ρύθμιση αυτή μόνο μια φορά στην αρχή και όχι σε κάθε σημείο που θα χρησιμοποιούσαμε την τιμή της. Το παρακάτω παράδειγμα είναι απολύτως αντιπροσωπευτικό:

  30. 2. ΣΤΑΘΕΡΕΣ (παράδειγμα) Έστω ότι πρέπει να υπολογίσουμε το ποσό που αντιστοιχεί στο ποσοστό ΦΠΑ (21%) τριών προϊόντων. Αυτό προκύπτει αν πολλαπλασσιάσουμε την αρχική αξία του κάθε προϊόντος, με το αντίστοιχο ποσοστό ΦΠΑ (Αρχική_αξία x ποσοστό_ΦΠΑ) ΦΠΑ_παπουτσιών 50.00 x 0.21 ΦΠΑ_παντελονιών 60.00 x0.21 ΦΠΑ_παλτό 150.00 x 0.21 Παρατηρείτε ότι το 0.21 χρησιμοποιείται 3 φορές στον παραπάνω αλγόριθμο. Αν αλλάξει η νομοθεσία και το ποσοστό γίνει 0.23, τότε πρέπει να κάνουμε την αλλαγή και στα 3 σημεία. Αυτό δεν είναι ευέλικτο και σε μεγάλες εφαρμογές οδηγεί σε πολλά σφάλματα. Μπορούμε να αλλάξουμε τον αλγόριθμο εισάγοντας μια σταθερά για τον ΦΠΑ: Ποσοστό_ΦΠΑ = 0.21 ΦΠΑ_παπουτσιών  50.00 xΠοσοστό_ΦΠΑ ΦΠΑ_παντελονιών  60.00 x Ποσοστό_ΦΠΑ ΦΠΑ_παλτό  150.00 xΠοσοστό_ΦΠΑ Αν το ποσοστό ΦΠΑ αλλάξει σε 0.23, αρκεί να κάνουμε την αλλαγή μόνο μία φορά στην αρχή του αλγορίθμου, αφού χρησιμοποιούμε μόνο το όνομα της σταθεράς Σταθερά με αρχική τιμή Χρήση ονόματος της σταθεράς

  31. 3. ΤΕΛΕΣΤΕΣ Οι τελεστές είναι τα σύμβολα τα οποία χρησιμοποιούμε σε διάφορες εκφράσεις για να εκτελέσουμε κάποιον υπολογισμό.

  32. 4. ΕΝΤΟΛΕΣ( Συνοπτικός πίνακας σύνταξης τους )

  33. 4. ΣΥΝΑΡΤΗΣΕΙΣ(Ενσωματωμένες) • Οι ενσωματωμένες συναρτήσεις έχουν την ίδια χρήση όπως και στα μαθηματικά. • Μπορούν να χρησιμοποιηθούν συνδυαστικά. Π.χ :ΖΗΜ(ΣΥΝ ( Χ ) + Α_Μ ( Υ ) ) + 50

  34. ΠΩΣ ΓΡΑΦΟΥΜΕ ΑΛΓΟΡΙΘΜΟ ΜΕ ΨΕΥΔΟΚΩΔΙΚΑ (Γενική θεώρηση) Παράδειγμα • Ξεκινάμε πάντα με τη δήλωση:Αλγόριθμος όνομα_αλγορίθμου • Αρχικοποιούμε τυχόν σταθερές. • Δίνουμε τιμή στις απαραίτητες μεταβλητές, είτε με την εντολή Διάβασε, είτε με απ’ ευθείας εκχώρηση (). • Χρησιμοποιούμε όπου χρειάζεται δομές διακλάδωσης (Αν ), και δομές επανάληψης Για , Όσο, Μέχρις_ότου) • Κάνουμε τους υπολογισμούς μας εκχωρώντας τα αποτελέσματα πάλι σε μεταβλητές () • Εμφανίζουμε (σε οθόνη ή εκτυπωτή) τα αποτελέσματα με τις εντολές:Εμφάνισε ή εκτύπωσεμεταβλητή1,2...Ν • Τα βήματα 2 ως 6 μπορεί να εμφανίζονται αρκετές φορές και με οποιαδήποτε σειρά, ανάλογα με το πρόβλημα • Τελειώνουμε πάντα με τη δήλωσηΤέλος όνομα_αλγορίθμου (ίδιο όνομα με το βήμα 1) Αλγόριθμος εμβαδό_κύκλου π = 3.14 Διάβασε ρ Εμβ  π * ρ ^ 2 Εμφάνισε“Eμβαδό=“,Εμβ Τέλος εμβαδό_κύκλου

  35. ΠΩΣ ΓΡΑΦΟΥΜΕ ΕΝΑ ΠΡΟΓΡΑΜΜΑ ΣΕ «ΓΛΩΣΣΑ» (Γενική θεώρηση) Παράδειγμα • Ξεκινάμε πάντα με τη δήλωση: ΠΡΟΓΡΑΜΜΑ όνομα_προγράμματος • Μετά γράφουμε τις σταθερές με τη δήλωση: ΣΤΑΘΕΡΕΣκαι από την επόμενη γραμμή τις αρχικοποιούμε,χρήση του ίσον (=) • Μετά δηλώνουμε τις μεταβλητές με τη δήλωση: ΜΕΤΑΒΛΗΤΕΣκαι από την επόμενη γραμμή τις ονομάζουμε, δίνοντας και τον τύπο τους • Ξεκινούμε το κύριο σώμα του προγράμματος με τη δήλωση: ΑΡΧΗ • Δίνουμε τιμή στις απαραίτητες μεταβλητές, είτε με την εντολή ΔΙΑΒΑΣΕ, είτε με απ’ ευθείας εκχώρηση (). • Χρησιμοποιούμε όπου χρειάζεται δομές διακλάδωσης (ΑΝ) και δομές επανάληψης(ΓΙΑ , ΟΣΟ, ΜΕΧΡΙΣ_ΟΤΟΥ) • Κάνουμε τους υπολογισμούς μας εκχωρώντας τα αποτελέσματα πάλι σε μεταβλητές () • Εμφανίζουμε τα αποτελέσματα με τις εντολές:ΓΡΑΨΕμεταβλητή1,2...Ν • Τελειώνουμε το κύριο σώμα του προγράμματος με τη δήλωση: ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑ εμβαδό_κύκλου ΣΤΑΘΕΡΕΣ π = 3.14 ΜΕΤΑΒΛΗΤΕΣ ΠΡΑΓΜΑΤΙΚΕΣ: Εμβ, ρ ΑΡΧΗ ΔΙΑΒΑΣΕ ρ Εμβ  π * ρ ^ 2 ΓΡΑΨΕ“Eμβαδό=“,Εμβ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ Τα κεφαλαία γράμματα στις εντολές δεν είναι υποχρεωτικά αλλά ΣΥΝΙΣΤΩΝΤΑΙ

  36. ΔΙΑΦΟΡΕΣ ΣΤΗ ΣΥΓΓΡΑΦΗ ΑΛΓΟΡΙΘΜΟΥ & ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ «ΓΛΩΣΣΑ» Ένας αλγόριθμος γραμμένος με ψευδοκώδικα, έχει λίγες μόνο διαφορές στη συγγραφή του, από ένα πρόγραμμα γραμμένο σε «ΓΛΩΣΣΑ», γι’ αυτό πιθανώς να υπάρξει μια μικρή σύγχυση. Αναλυτικότερα έχουμε: • Η έναρξη στον αλγόριθμο γίνεται με τη δήλωση Αλγόριθμος, ενώ στο πρόγραμμα με τη δήλωση ΠΡΟΓΡΑΜΜΑ • Οι μεταβλητές και οι σταθερές δηλώνονται μόνο στο πρόγραμμα. Στον αλγόριθμο, απλά γράφουμε //μεταβλητή1, μεταβλητή2,...// στην αρχή • Μόνο στο πρόγραμμα έχουμε έναρξη του κύριου σώματος με τη δήλωση ΑΡΧΗ • Στον αλγόριθμο η έξοδος γίνεται με την εντολή Εμφάνισε, ενώ στο πρόγραμμα με την εντολή ΓΡΑΨΕ • Το τέλος στον αλγόριθμο, γίνεται με το Τέλος όνομα_αλγορίθμου ενώ στο πρόγραμμα, μόνο με το ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

  37. ΣΥΝΙΣΤΩΣΕΣΑΛΓΟΡΙΘΜΟΥ • Δομή ακολουθίαςΕκτέλεση των βημάτων του αλγορίθμου βάσει της σειράς εμφάνισης τους. Στο εξής τα βήματα θα τα ονομάζουμε εντολές • 4 δομές επιλογήςΗ εκτέλεση των εντολών διακλαδώνεται με βάση την επαλήθευση ή όχι, κάποιας συνθήκης. • 3 δομές επανάληψηςΗ εκτέλεση των εντολών μπορεί να γίνεται επαναληπτικά.

  38. 4. ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣΠαράδειγμα #1 Σημαίνει ότι η εκτέλεση των εντολών, γίνεται με τη σειρά που εμφανίζονται (ακολουθιακά) Αλγόριθμοςμέσος_όρος Διάβασε χ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1+χ2+χ3) / Πλήθος Εμφάνισε ΜΟ Τέλος μέσος_όρος Δήλωση έναρξης αλγορίθμου Εισαγωγή τιμών στις χ1,χ2,χ3 από το χρήστη Εκχώρηση τιμής στη μεταβλητή Πλήθος Υπολογισμός και εκχώρηση τιμής στη MO Εμφάνιση αποτελέσματος ΜΟ Δήλωση τέλους αλγορίθμου

  39. ΑΡΧΗ Διάβασε χ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1 + χ2 + χ3) / Πλήθος Εμφάνισε ΜΟ ΤΕΛΟΣ 4. ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ Παράδειγμα #1 (συνέχεια) Με διάγραμμα ροής Με ψευδοκώδικα Με πρόγραμμα Αλγόριθμοςμέσος_όρος Διάβασε χ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1+χ2+χ3) / Πλήθος Εμφάνισε ΜΟ Τέλος μέσος_όρος ΠΡΟΓΡΑΜΜΑμέσος_όρος ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: χ1,χ2,χ3,Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕχ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1+χ2+χ3) / Πλήθος ΓΡΑΨΕ ΜΟ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

  40. 4. ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ Παράδειγμα #2 Ο κλασσικός τρόπος αντιμετάθεσης (Swap) τιμών δύο μεταβλητών ΤΟ ΛΑΘΟΣ ΠΟΥ ΓΙΝΕΤΑΙ ΤΟ ΣΩΣΤΟ 5 8 8 8 5 5 5 8 8 Ζ Χ Υ Χ Υ 1. Ζ  Χ 1. Χ  Υ ΒΟΗΘΗΤΙΚΗΜΕΤΑΒΛΗΤΗ 2. Χ  Υ 3. Υ  Ζ Χάνουμε την τιμή της Χ και κάνουμε και τις δύο ίσες

  41. ΑΡΧΗ Διάβασε x,y z x x y y z Εμφάνισε χ, y ΤΕΛΟΣ 4. ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ Παράδειγμα #2 (Αντιμετάθεσης συνέχεια) Με διάγραμμα ροής Με ψευδοκώδικα Με πρόγραμμα ΑλγόριθμοςSwap Διάβασε x, y z x x y y z Εμφάνισεx,y ΤέλοςSwap ΠΡΟΓΡΑΜΜΑ Swap ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: x, y, z ΑΡΧΗ ΔΙΑΒΑΣΕx, y z x x y y z ΓΡΑΨΕx, y ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

  42. ΑΛΓΕΒΡΑ BOOLE

  43. ΑΛΓΕΒΡΑ BOOLE( Εισαγωγή στις Λογικές Πράξεις – George Boole, Άγγλος μαθημ. ) Χρησιμοποιούνται κατά κόρον στον προγραμματισμό Σε συγκρίσεις, δομές επιλογής και επανάληψης, δηλ. παντού Κάνουν χρήση τουλάχιστον μιας συνθήκης Το αποτέλεσμα είναι πάντα μια από τις τιμές(ΑΛΗΘΗΣ,ΨΕΥΔΗΣ ) Λογικοί τελεστές(κατά σειρά προτεραιότητας) 1. ΌΧΙ (ένας τελεστέος) Αντιστρέφει την πρόταση που την ακολουθεί 2. ΚΑΙ (δύο τελεστέοι, λογική σύζευξη) Πρέπει και οι δύο προτάσεις να έχουν τιμή ΑΛΗΘΗΣγια να είναι τελικά ΑΛΗΘΗΣ 3. Ή (δύο τελεστέοι, λογική διάζευξη) Πρέπει τουλάχιστον η μια πρόταση να είναι ΑΛΗΘΗΣγια να είναι τελικά ΑΛΗΘΗΣ

  44. ΑΛΓΕΒΡΑ BOOLE(με παραδείγματα λογικών τελεστών) ΌΧΙ(Χ = 5) ισούται με (Χ<>5) ΌΧΙ (ΑΛΗΘΗΣ) ισούται με ΨΕΥΔΗΣ ΌΧΙ (ΑΠΑΝΤΗΣΗ = «Ν») ισούται με ΑΠΑΝΤΗΣΗ <> «Ν» (Χ=5) ΚΑΙ (Χ=10) είναι ΨΕΥΔΗΣ (Χ>5) ΚΑΙ (Χ<10) είναι ΑΛΗΘΗΣ για 5<Χ<10 ΨΕΥΔΗΣ για κάθε άλλο Χ (Α=Β) ΚΑΙ (Α=Γ) είναι ΑΛΗΘΗΣ για Β=Γ ΨΕΥΔΗΣ για Β<>Γ (ΠΟΛΗ = «ΠΑΤΡΑ») ΚΑΙ (ΟΝΟΜΑ <> «ΝΙΚΟΣ») (Χ=5) Ή (Χ=10) είναι ΑΛΗΘΗΣ για Χ=5 ή Χ=10 και ΨΕΥΔΗΣ για κάθε άλλο Χ (Χ>5) Ή (Χ<10) είναι ΑΛΗΘΗΣ πάντα (ΠΟΛΗ=«ΠΑΤΡΑ») Ή (Χ=15)

  45. ΑΛΓΕΒΡΑ BOOLE(Εξάσκηση) Να συμπληρώσετε τους παρακάτω πίνακες με τις τιμές ΑΛΗΘΗΣ,ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ ΨΕΥΔΗΣ ΑΛΗΘΗΣ

  46. ΣΥΝΙΣΤΩΣΕΣΑΛΓΟΡΙΘΜΟΥ • Δομή ακολουθίαςΕκτέλεση των βημάτων του αλγορίθμου βάσει της σειράς εμφάνισης τους. Στο εξής τα βήματα θα τα ονομάζουμε εντολές • 4 δομές επιλογήςΗ εκτέλεση των εντολών διακλαδώνεται με βάση την επαλήθευση ή όχι, κάποιας συνθήκης. • 3 δομές επανάληψηςΗ εκτέλεση των εντολών μπορεί να γίνεται επαναληπτικά.

  47. 4. ΔΟΜΗ ΕΠΙΛΟΓΗΣ (Απλή) Η εντολή Αν/τότε Η ροή εκτέλεσης των εντολών του αλγορίθμου εξαρτάται από την επαλήθευση ή όχι, μιας συνθήκης Αλγόριθμοςαποτελέσματα Διάβασε μ1, μ2, μ3 Πλήθος  3 ΜΟ  (μ1+μ2+μ3) / Πλήθος Αν ΜΟ >= 10 τότε Εμφάνισε «ΠΕΡΑΣΕΣ»Εμφάνισε ΜΟ τέλος_αν Τέλος αποτελέσματα Αν συνθήκη_ισχύει τότεεντολές.............Τέλος_Αν

  48. ΑΡΧΗ Διάβασε χ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1 + χ2 + χ3) / Πλήθος ΜΟ >= 10 ΟΧΙ ΝΑΙ Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ ΤΕΛΟΣ 4. ΔΟΜΗ ΕΠΙΛΟΓΗΣ(Απλή)(συνέχεια) Με διάγραμμα ροής Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3,Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 Πλήθος  3 ΜΟ  (μ1+μ2+μ3) / Πλήθος ΑΝΜΟ >= 10ΤΟΤΕ ΓΡΑΨΕ«ΠΕΡΑΣΕΣ»ΓΡΑΨΕΜΟ ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

  49. 4. ΔΟΜΗ ΕΠΙΛΟΓΗΣ(Σύνθετη) Αλγόριθμοςαποτελέσματα Διάβασε μ1, μ2, μ3 Πλήθος  3 ΜΟ  (μ1+μ2+μ3) / Πλήθος Αν ΜΟ >= 10 τότε Εμφάνισε «ΠΕΡΑΣΕΣ»Εμφάνισε ΜΟαλλιώςΕμφάνισε «ΚΟΠΗΚΕΣ» τέλος_αν Τέλος αποτελέσματα Μια άλλη συνήθης μορφή Αν συνθήκη_ισχύει τότεεντολές............αλλιώςεντολές..............Τέλος_Αν

  50. ΑΡΧΗ Διάβασε χ1, χ2, χ3 Πλήθος  3 ΜΟ  (χ1 + χ2 + χ3) / Πλήθος ΜΟ >= 10 ΟΧΙ ΝΑΙ Εμφάνισε«ΚΟΠΗΚΕΣ» Εμφάνισε «ΠΕΡΑΣΕΣ» Εμφάνισε ΜΟ ΤΕΛΟΣ 4. ΔΟΜΗ ΕΠΙΛΟΓΗΣ(Σύνθετη)(συνέχεια) Με διάγραμμα ροής Με πρόγραμμα ΠΡΟΓΡΑΜΜΑ αποτελέσματα ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: μ1,μ2,μ3,Πλήθος ΠΡΑΓΜΑΤΙΚΕΣ: ΜΟ ΑΡΧΗ ΔΙΑΒΑΣΕ μ1, μ2, μ3 Πλήθος 3 ΜΟ  (μ1+μ2+μ3) / Πλήθος ΑΝΜΟ >= 10ΤΟΤΕ ΓΡΑΨΕ«ΠΕΡΑΣΕΣ»ΓΡΑΨΕΜΟ ΑΛΛΙΩΣ ΓΡΑΨΕ«ΚΟΠΗΚΕΣ» ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ

More Related