Από το διάγραμμα ροής στον ψευδοκώδικα
Ο ίδιος αλγόριθμος, γραμμένος με λέξεις αντί για σχήματα.
35 λεπτά
Θα μάθεις να
- Να ορίζεις τι είναι αλγόριθμος και να ελέγχεις τα κριτήριά του (είσοδος, έξοδος, καθοριστικότητα, περατότητα, αποτελεσματικότητα).
- Να αναγνωρίζεις τα σχήματα του διαγράμματος ροής και τι σημαίνει το καθένα.
- Να μεταφέρεις ένα διάγραμμα ροής σε ψευδοκώδικα και το ανάποδο.
- Να εκτελείς «με το χέρι» έναν απλό αλγόριθμο σε ψευδοκώδικα και να βρίσκεις την έξοδό του.
Τι είναι αλγόριθμος
Μια συνταγή για κέικ, οι οδηγίες για να συναρμολογήσεις ένα ράφι, ο τρόπος που κάνεις κάθετη πρόσθεση: όλα είναι αλγόριθμοι. Αλγόριθμος είναι μια πεπερασμένη σειρά από σαφείς εντολές που, αν τις ακολουθήσεις, λύνουν ένα πρόβλημα.
Για να λέγεται μια σειρά εντολών αλγόριθμος, πρέπει να έχει πέντε ιδιότητες:
| Κριτήριο | Τι σημαίνει | Παράδειγμα που αποτυγχάνει |
|---|---|---|
| Είσοδος | δέχεται δεδομένα (μπορεί και κανένα) | — |
| Έξοδος | δίνει τουλάχιστον ένα αποτέλεσμα | οδηγίες που δεν καταλήγουν πουθενά |
| Καθοριστικότητα | κάθε εντολή είναι σαφής, χωρίς δεύτερη ερμηνεία | «πρόσθεσε λίγη ζάχαρη» |
| Περατότητα | τελειώνει μετά από πεπερασμένα βήματα | «μέτρα όλους τους αριθμούς» |
| Αποτελεσματικότητα | κάθε εντολή μπορεί πράγματι να εκτελεστεί | «βρες τον μεγαλύτερο αριθμό που υπάρχει» |
Ο υπολογιστής δεν μαντεύει. Αν μια εντολή μπορεί να διαβαστεί με δύο τρόπους, δεν είναι εντολή για υπολογιστή.
Τρεις τρόποι να γράψεις τον ίδιο αλγόριθμο
Έναν αλγόριθμο μπορείς να τον περιγράψεις:
- Με ελεύθερο κείμενο: «Ρώτα το μήκος και το πλάτος, πολλαπλασίασέ τα, πες το αποτέλεσμα». Εύκολο, αλλά συχνά ασαφές.
- Με διάγραμμα ροής (flowchart): σχήματα ενωμένα με βέλη. Φαίνεται με μια ματιά ο δρόμος που ακολουθεί η εκτέλεση.
- Με ψευδοκώδικα (pseudocode): εντολές γραμμένες σε μορφή κοντά σε γλώσσα προγραμματισμού, αλλά με λέξεις που καταλαβαίνει ένας άνθρωπος.
Τα σχήματα του διαγράμματος ροής
| Σχήμα | Σημαίνει | Στον ψευδοκώδικα |
|---|---|---|
| Έλλειψη (οβάλ) | αρχή ή τέλος | Αρχή / Τέλος |
| Πλάγιο παραλληλόγραμμο | είσοδος ή έξοδος δεδομένων | Διάβασε / Εμφάνισε |
| Ορθογώνιο | επεξεργασία, π.χ. ένας υπολογισμός | εμβαδόν ← μήκος * πλάτος |
| Ρόμβος | ερώτηση με απάντηση ναι ή όχι | Αν … τότε |
| Βέλος | η σειρά εκτέλεσης | η σειρά των γραμμών |
Το βέλος ← διαβάζεται «παίρνει την τιμή». Η γραμμή εμβαδόν ← μήκος * πλάτος
σημαίνει: υπολόγισε το γινόμενο και βάλ' το στο εμβαδόν. Στο επόμενο μάθημα θα
το δούμε αναλυτικά.
Από το διάγραμμα στον ψευδοκώδικα
Ο αλγόριθμος για το εμβαδόν ενός ορθογωνίου, πρώτα σε διάγραμμα ροής:
Και ο ίδιος αλγόριθμος σε ψευδοκώδικα. Κάθε σχήμα γίνεται μία γραμμή, με την ίδια σειρά:
ΑρχήΔιάβασε μήκος, πλάτοςεμβαδόν ← μήκος * πλάτοςΕμφάνισε εμβαδόνΤέλος
Οι λέξεις-κλειδιά που θα χρησιμοποιούμε
| Ψευδοκώδικας | Τι κάνει | Scratch | Python |
|---|---|---|---|
Διάβασε x | παίρνει τιμή από τον χρήστη | «ρώτα … και περίμενε» | x = input() |
Εμφάνισε x | δείχνει μια τιμή ή ένα μήνυμα | «πες …» | print(x) |
x ← 5 | δίνει τιμή σε μεταβλητή | «όρισε x σε 5» | x = 5 |
Αν … τότε … αλλιώς … Τέλος_αν | επιλογή | «εάν … τότε … αλλιώς» | if … else |
Όσο … επανάλαβε … Τέλος_επανάληψης | επανάληψη | «επανάλαβε ώσπου …» | while |
Η Python είναι μια πραγματική γλώσσα προγραμματισμού. Θα τη μάθεις στη Γ΄ Γυμνασίου. Εδώ τη βλέπεις μόνο για να δεις ότι ο ψευδοκώδικας μεταφράζεται σχεδόν γραμμή προς γραμμή:
mikos = float(input())
platos = float(input())
emvadon = mikos * platos
print(emvadon)
Οι τρεις δομές
Κάθε αλγόριθμος, όσο μεγάλος κι αν είναι, φτιάχνεται από τρεις δομές:
- Ακολουθία: εντολές η μία μετά την άλλη, όπως στο εμβαδόν.
- Επιλογή: ένας ρόμβος. Ανάλογα με την απάντηση, η εκτέλεση πάει από τον έναν ή τον άλλο δρόμο.
- Επανάληψη: ένα βέλος που γυρίζει πίσω, ώστε κάποιες εντολές να εκτελεστούν ξανά.
Τις δύο τελευταίες θα τις δούμε σε δικά τους μαθήματα.
Λυμένα παραδείγματα
Παράδειγμα 1
Ένα διάγραμμα ροής έχει με τη σειρά: έλλειψη «Αρχή», παραλληλόγραμμο «Διάβασε βαθμός1, βαθμός2, βαθμός3», ορθογώνιο «μο ← (βαθμός1 + βαθμός2 + βαθμός3) / 3», παραλληλόγραμμο «Εμφάνισε μο», έλλειψη «Τέλος». Γράψ' το σε ψευδοκώδικα και βρες την έξοδο για βαθμούς 14, 17, 20.
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Η Μαρία έγραψε οδηγίες για μια ρομποτική σκούπα: «Καθάρισε το δωμάτιο. Όταν τελειώσεις, καθάρισε ξανά. Γύρνα αρκετά αριστερά όταν βρεις εμπόδιο.» Ποια κριτήρια αλγορίθμου παραβιάζει;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 3
Γράψε σε ψευδοκώδικα αλγόριθμο που διαβάζει θερμοκρασία σε βαθμούς Κελσίου και εμφανίζει τη θερμοκρασία σε βαθμούς Φαρενάιτ. Ο τύπος είναι F = C × 1,8 + 32. Τι εμφανίζει για 25 °C;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.
Τα κατάφερες;
- Να ορίζεις τι είναι αλγόριθμος και να ελέγχεις τα κριτήριά του (είσοδος, έξοδος, καθοριστικότητα, περατότητα, αποτελεσματικότητα).
- Να αναγνωρίζεις τα σχήματα του διαγράμματος ροής και τι σημαίνει το καθένα.
- Να μεταφέρεις ένα διάγραμμα ροής σε ψευδοκώδικα και το ανάποδο.
- Να εκτελείς «με το χέρι» έναν απλό αλγόριθμο σε ψευδοκώδικα και να βρίσκεις την έξοδό του.
Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.