Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20
Περιεχόμενα Μέθοδοι Παρουσίασης του αλγόριθμου Εισαγωγή Φραστική μέθοδος Ψευδοκώδικας Λογικό διάγραμμα Βασικές έννοιες Σταθερές Μεταβλητές Τελεστές Εκφράσεις 2
Εισαγωγή Η παρουσίαση ενός αλγορίθμου μπορεί να γίνει με τρεις τρόπους. Με φραστική μέθοδο (ή φυσική γλώσσα), με ψευδοκώδικα (ή ψευδογλώσσα) και με λογικό διάγραμμα (ή διάγραμμα ροής). Μπορούμε να χρησιμοποιήσουμε όποια μέθοδο κρίνουμε καλύτερη σε κάθε περίπτωση. Για παράδειγμα, έστω ότι δίδονται τρεις θετικοί αριθμοί και θέλουμε να βρούμε τον μέσο όρο τους. Ακολουθεί ο αλγόριθμος και με τις τρεις μεθόδους. 3
Φραστική Μέθοδος Με τη φραστική μέθοδο περιγράφεται ένας αλγόριθμος χρησιμοποιώντας τον καθημερινό μας γραπτό λόγο. Ένα καλό αποτέλεσμα επιτυγχάνεται, όταν χρησιμοποιούνται σύντομα και περιφραστικά λεκτικά σχήματα, χωρίς όμως αυτό να είναι σε βάρος του συνολικού νοήματος. Για παράδειγμα, για να υπολογίσουνε το μέσο όρο τριών αριθμών θα γράφαμε: Αφού μας δοθούν οι τρεις αριθμοί, θα τους προσθέσουμε και το άθροισμά τους θα το διαιρέσουμε με το τρία. Το αποτέλεσμα θα είναι ο ζητούμενος μέσος όρος. 4
Φραστική Μέθοδος Πλεονεκτήματα Είναι πολύ απλή. Είναι πολύ εύκολη στη χρήση. Μειονεκτήματα Απαιτεί πολλά λόγια για την περιγραφή του αλγόριθμου. Σε πολλές περιπτώσεις για να μην γίνει δυσνόητος ο αλγόριθμος χρειάζεται να γράψουμε περισσότερα λόγια. Είναι χρονοβόρα. Δυσκολεύει πολύ την κωδικοποίηση της λύσης. 5
Ψευδοκώδικας Ο ψευδοκώδικας είναι ένας τρόπος παρουσίασης αλγόριθμου, που προσπαθεί να μειώσει τα μειονεκτήματα της φραστικής μεθόδου. Με τον ψευδοκώδικα τα βήματα της λύσης περιγράφονται με σύντομες και περιεκτικές προτάσεις. Δεν υπάρχουν κανόνες που να μας περιορίζουν στον τρόπο σύνταξης αυτών των προτάσεων. Καλό όμως είναι να γίνει μία τυποποίηση των λέξεων και να χρησιμοποιούμε πάντοτε τις ίδιες, για να δηλώσουμε ίδιες ενέργειες, όπως είσοδο, έξοδο, κ.λπ. 6
Ψευδοκώδικας Διάβασε Α, για είσοδο από το πληκτρολόγιο της τιμής της Α. Εμφάνισε Λάθος, για έξοδο στην οθόνη του μηνύματος Λάθος. Τύπωσε ΤΙΤΛΟ, για έξοδο στον εκτυπωτή. Τα βήματα του ψευδοκώδικα μπορεί και να αριθμούνται, αν αυτό κρίνεται απαραίτητο. 7
Ψευδοκώδικας Για το παράδειγμα υπολογισμού του μέσου όρου τριών αριθμών θα γράφαμε: Αλγόριθμος Μέσος_Όρος ΔΙΑΒΑΣΕ α, β, γ μο (α+β+γ)/3 ΕΜΦΑΝΙΣΕ μο Τέλος Μέσος_Όρος 8
Ψευδοκώδικας Πλεονεκτήματα Είναι εύκολα κατανοητός από τον χρήστη Γρήγορη κωδικοποίηση του αλγόριθμου. Μειονεκτήματα Λείπει η οπτική εικόνα της λύσης, γεγονός που είναι πολύ χρήσιμο για αρχάριο προγραμματιστή 9
Λογικό διάγραμμα Στα λογικά διαγράμματα χρησιμοποιούνται σύμβολα και λέξεις για την αποτύπωση του αλγόριθμου. Κάθε λειτουργία συμβολίζεται με ένα σχήμα, το οποίο περιέχει μία σύντομη περιγραφή της. Τα βασικά σύμβολα που χρησιμοποιούνται στην κατασκευή λογικών διαγραμμάτων, είναι τα ακόλουθα: 10
Λογικό διάγραμμα 11
Λογικό διάγραμμα 12
Λογικό διάγραμμα 13
Λογικό διάγραμμα Για το παράδειγμα υπολογισμού του μέσου όρου τριών αριθμών θα γράφαμε: ΑΡΧΗ ΔΙΑΒΑΣΕ α, β, γ μο (α+β+γ)/3 ΕΜΦΑΝΙΣΕ μο ΤΕΛΟΣ 14
Λογικό διάγραμμα Κατά την σχεδίαση του λογικού διαγράμματος πρέπει να εφαρμόζονται οι παρακάτω κανόνες. Πρέπει να υπάρχει μία αρχή. Ο αλγόριθμος μπορεί να τερματίζει σε περισσότερα από ένα σημεία, κάτι που είναι καλό να αποφεύγεται. Επομένως, σε έναν αλγόριθμο, καλό θα είναι να υπάρχει και ένα μόνο τέλος. Το σύμβολο αποφάσεως πρέπει να έχει τουλάχιστον δύο εξόδους. Τα διαγράμματα ροής μπορεί να περιέχουν και άλλα σύμβολα, όπως συνδέσμους για να δείξουν διαδρομές που συγκλίνουν, οι οποίοι συνήθως αναπαριστώνται από κύκλους. Οι κύκλοι θα έχουν περισσότερα από ένα βέλη ερχόμενα προς αυτούς, αλλά μόνο ένα εξερχόμενο. 15
Λογικό διάγραμμα Κάθε εργασία πρέπει να ακολουθείται από κάποια άλλη, εκτός από το σύμβολο τέλους του λογικού διαγράμματος. Κάποια διαγράμματα μπορεί να έχουν ένα βέλος, το οποίο να καταλήγει σε ένα άλλο. Αυτό είναι χρήσιμο στην αναπαράσταση μιας επαναληπτικής διαδικασίας (loop). 16
Λογικό διάγραμμα Πλεονεκτήματα Σαν σχηματική παρουσίαση, λειτουργεί καλλίτερα από την περιγραφική καταγραφή της σκέψης. Μειονεκτήματα Απαιτείται πολύ προσοχή στην λεπτομερή σχεδίαση της λύσης του προβλήματος. Δεν είναι ευέλικτος σε μελλοντικές αλλαγές ή τροποποιήσεις. Η δυσκολία κατασκευής του αυξάνει, με τη δυσκολία του προβλήματος. 17
Σταθερές Σταθερές (constants), καλούμε τις προκαθορισμένες τιμές που παραμένουν αμετάβλητες σε όλη τη διάρκεια εκτέλεσης ενός αλγορίθμου και διακρίνονται σε: Αριθμητικές, π.χ. 27, -30 Αλφαριθμητικές, π.χ. "Μέσος όρος", "Ποσότητα Λογικές που παίρνουν μόνο δύο τιμές, Αληθής και Ψευδής 18
Μεταβλητές Οι μεταβλητές (variables) είναι συμβολικά ονόματα που δίνουμε στα δεδομένα μας για να αναφερόμαστε σε αυτά και η τιμή τους μεταβάλετε κατά τη διάρκεια της εκτέλεσης του αλγορίθμου. Ανάλογα με το είδος της τιμής που μπορούν να λάβουν, διακρίνονται σε αριθμητικές, αλφαριθμητικές και λογικές. Για τη σύνταξη των ονομάτων των μεταβλητών πρέπει να τηρούνται ορισμένοι κανόνες, όπως να αποτελούνται από γράμματα, ψηφία και το χαρακτήρα κάτω παύλα (_), να αρχίζουν από γράμμα κ.λπ. Οι μεταβλητές μπορούν να πάρουν τιμή είτε με κάποια εντολή εισόδου είτε με την εντολή εκχώρησης τιμής, που η γενική της μορφή είναι: Μεταβλητή Έκφραση 19
Τελεστές Ως τελεστές (operators) ορίζουμε τα γνωστά σύμβολα που χρησιμοποιούμε στις διάφορες πράξεις και διακρίνονται σε αριθμητικούς, λογικούς και συγκριτικούς (ή σχεσιακούς). Αριθμητικοί: *, /, mod, div, +, - Λογικοί: όχι, και, ή Σχεσιακοί: <, >,,,,=, 20
Εκφράσεις Οι εκφράσεις (expressions) διαμορφώνονται από τους τελεστέους (operands), που είναι σταθερές και μεταβλητές, σε συνδυασμό με τους τελεστές. Η διεργασία αποτίμησης μιας έκφρασης συνίσταται στην απόδοση τιμών στις μεταβλητές και στην εκτέλεση των πράξεων. Η τελική τιμή μια έκφρασης εξαρτάται από την ιεραρχία των πράξεων και τη χρήση των παρενθέσεων. Μια έκφραση μπορεί να αποτελείται από μία μόνο μεταβλητή ή σταθερά μέχρι μια πολύπλοκη μαθηματική παράσταση. α 5 α β α (β+5)/2-4 Έκφραση ως σταθερά Έκφραση ως μεταβλητή Έκφραση ως μαθηματική παράσταση 21
Βιβλιογραφία Αναφορά σε σημειώσεις «Σχεδίαση προγράμματος Pascal» του Πετρίδη Συμεών και της Δελιοπούλου Μαρίας Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον: Σχολικό Βιβλίο Γ Γενικού Λυκείου ΒΙΚΙΠΑΙΔΕΙΑ (https://el.wikipedia.org/wiki/διάγραμμα_ροής) 22