Μετάβαση στο περιεχόμενο

Από το διάγραμμα ροής στον ψευδοκώδικα

Ο ίδιος αλγόριθμος, γραμμένος με λέξεις αντί για σχήματα.

35 λεπτά

Θα μάθεις να

  1. Να ορίζεις τι είναι αλγόριθμος και να ελέγχεις τα κριτήριά του (είσοδος, έξοδος, καθοριστικότητα, περατότητα, αποτελεσματικότητα).
  2. Να αναγνωρίζεις τα σχήματα του διαγράμματος ροής και τι σημαίνει το καθένα.
  3. Να μεταφέρεις ένα διάγραμμα ροής σε ψευδοκώδικα και το ανάποδο.
  4. Να εκτελείς «με το χέρι» έναν απλό αλγόριθμο σε ψευδοκώδικα και να βρίσκεις την έξοδό του.

Τι είναι αλγόριθμος

Μια συνταγή για κέικ, οι οδηγίες για να συναρμολογήσεις ένα ράφι, ο τρόπος που κάνεις κάθετη πρόσθεση: όλα είναι αλγόριθμοι. Αλγόριθμος είναι μια πεπερασμένη σειρά από σαφείς εντολές που, αν τις ακολουθήσεις, λύνουν ένα πρόβλημα.

Για να λέγεται μια σειρά εντολών αλγόριθμος, πρέπει να έχει πέντε ιδιότητες:

ΚριτήριοΤι σημαίνειΠαράδειγμα που αποτυγχάνει
Είσοδοςδέχεται δεδομένα (μπορεί και κανένα)—
Έξοδοςδίνει τουλάχιστον ένα αποτέλεσμαοδηγίες που δεν καταλήγουν πουθενά
Καθοριστικότητακάθε εντολή είναι σαφής, χωρίς δεύτερη ερμηνεία«πρόσθεσε λίγη ζάχαρη»
Περατότητατελειώνει μετά από πεπερασμένα βήματα«μέτρα όλους τους αριθμούς»
Αποτελεσματικότητακάθε εντολή μπορεί πράγματι να εκτελεστεί«βρες τον μεγαλύτερο αριθμό που υπάρχει»

Ο υπολογιστής δεν μαντεύει. Αν μια εντολή μπορεί να διαβαστεί με δύο τρόπους, δεν είναι εντολή για υπολογιστή.

Τρεις τρόποι να γράψεις τον ίδιο αλγόριθμο

Έναν αλγόριθμο μπορείς να τον περιγράψεις:

  1. Με ελεύθερο κείμενο: «Ρώτα το μήκος και το πλάτος, πολλαπλασίασέ τα, πες το αποτέλεσμα». Εύκολο, αλλά συχνά ασαφές.
  2. Με διάγραμμα ροής (flowchart): σχήματα ενωμένα με βέλη. Φαίνεται με μια ματιά ο δρόμος που ακολουθεί η εκτέλεση.
  3. Με ψευδοκώδικα (pseudocode): εντολές γραμμένες σε μορφή κοντά σε γλώσσα προγραμματισμού, αλλά με λέξεις που καταλαβαίνει ένας άνθρωπος.

Τα σχήματα του διαγράμματος ροής

ΣχήμαΣημαίνειΣτον ψευδοκώδικα
Έλλειψη (οβάλ)αρχή ή τέλοςΑρχή / Τέλος
Πλάγιο παραλληλόγραμμοείσοδος ή έξοδος δεδομένωνΔιάβασε / Εμφάνισε
Ορθογώνιοεπεξεργασία, π.χ. ένας υπολογισμόςεμβαδόν ← μήκος * πλάτος
Ρόμβοςερώτηση με απάντηση ναι ή όχιΑν … τότε
Βέλοςη σειρά εκτέλεσηςη σειρά των γραμμών

Το βέλος ← διαβάζεται «παίρνει την τιμή». Η γραμμή εμβαδόν ← μήκος * πλάτος σημαίνει: υπολόγισε το γινόμενο και βάλ' το στο εμβαδόν. Στο επόμενο μάθημα θα το δούμε αναλυτικά.

Από το διάγραμμα στον ψευδοκώδικα

Ο αλγόριθμος για το εμβαδόν ενός ορθογωνίου, πρώτα σε διάγραμμα ροής:

ΑρχήΔιάβασε μήκος, πλάτοςεμβαδόν ← μήκος * πλάτοςΕμφάνισε εμβαδόνΤέλος

Και ο ίδιος αλγόριθμος σε ψευδοκώδικα. Κάθε σχήμα γίνεται μία γραμμή, με την ίδια σειρά:

Εμβαδόν ορθογωνίου
  1. Αρχή
  2. Διάβασε μήκος, πλάτος
  3. εμβαδόν ← μήκος * πλάτος
  4. Εμφάνισε εμβαδόν
  5. Τέλος

Οι λέξεις-κλειδιά που θα χρησιμοποιούμε

ΨευδοκώδικαςΤι κάνειScratchPython
Διάβασε 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;

Δοκίμασέ το πρώτα. Μετά δες τη λύση.

Ασκήσεις

Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.

Πολλαπλή επιλογήΆσκηση 1 από 14
Σε διάγραμμα ροής, τι σημαίνει το πλάγιο παραλληλόγραμμο;

Τα κατάφερες;

  • Να ορίζεις τι είναι αλγόριθμος και να ελέγχεις τα κριτήριά του (είσοδος, έξοδος, καθοριστικότητα, περατότητα, αποτελεσματικότητα).
  • Να αναγνωρίζεις τα σχήματα του διαγράμματος ροής και τι σημαίνει το καθένα.
  • Να μεταφέρεις ένα διάγραμμα ροής σε ψευδοκώδικα και το ανάποδο.
  • Να εκτελείς «με το χέρι» έναν απλό αλγόριθμο σε ψευδοκώδικα και να βρίσκεις την έξοδό του.

Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.