Αν… τότε… αλλιώς
Πώς παίρνει αποφάσεις ένα πρόγραμμα.
20 λεπτά
Θα μάθεις να
- Να αναγνωρίζεις μια συνθήκη ως ερώτηση που απαντιέται μόνο με «σωστό» ή «λάθος».
- Να περιγράφεις μια απόφαση με τη μορφή «αν… τότε… αλλιώς».
- Να προβλέπεις ποιο κομμάτι ενός προγράμματος θα εκτελεστεί για μια δεδομένη τιμή.
- Να ελέγχεις μια συνθήκη με τιμές πάνω στο όριο, όπως το «μεγαλύτερο» και το «μεγαλύτερο ή ίσο».
Κάθε μέρα παίρνεις αποφάσεις
Το πρωί κοιτάς από το παράθυρο. Αν βρέχει, τότε παίρνεις ομπρέλα. Αλλιώς παίρνεις καπέλο.
Δεν το σκέφτεσαι καν — το κάνεις αυτόματα. Όμως μέσα σε αυτή τη μικρή πρόταση κρύβονται τρία κομμάτια:
- μια ερώτηση: βρέχει;
- τι κάνεις αν η απάντηση είναι ναι: ομπρέλα.
- τι κάνεις αν η απάντηση είναι όχι: καπέλο.
Ένα πρόγραμμα παίρνει αποφάσεις με τον ίδιο ακριβώς τρόπο. Η διαφορά είναι ότι ο υπολογιστής δεν μαντεύει τίποτα: πρέπει να του πεις και την ερώτηση και τις δύο απαντήσεις.
Η συνθήκη: σωστή ή λάθος
Η ερώτηση μέσα στο «αν» λέγεται συνθήκη. Μια συνθήκη έχει μόνο δύο πιθανές απαντήσεις: σωστή ή λάθος.
| Είναι συνθήκη; | Γιατί |
|---|---|
| «Βρέχει;» | Ναι — ή βρέχει ή δεν βρέχει. |
| «Το σκορ είναι μεγαλύτερο από 10;» | Ναι — ο υπολογιστής συγκρίνει δύο αριθμούς. |
| «Ο χαρακτήρας ακουμπάει τον τοίχο;» | Ναι — ή τον ακουμπάει ή όχι. |
| «Τι καιρό κάνει;» | Όχι — η απάντηση είναι λέξη, όχι σωστό/λάθος. |
| «Είναι ωραίο το παιχνίδι;» | Όχι — ο καθένας απαντά αλλιώς. |
Οι πιο συχνές συνθήκες στα προγράμματα είναι συγκρίσεις: μεγαλύτερο από, μικρότερο από, ίσο με. Για παράδειγμα «οι ζωές είναι ίσες με 0» ή «ο χρόνος είναι μεγαλύτερος από 60».
Αν… τότε… αλλιώς μέσα σε πρόγραμμα
Σε ένα πρόγραμμα με τουβλάκια, όπως το Scratch, η απόφαση είναι ένα τουβλάκι με δύο «στόματα». Αν το γράψουμε με απλά ελληνικά, μοιάζει έτσι:
αν οι ζωές είναι ίσες με 0 τότεπες «Τέλος παιχνιδιού!»σταμάτα το παιχνίδιαλλιώςσυνέχισε να παίζειςτέλος αν
Ο υπολογιστής κάνει τρία πράγματα, πάντα με την ίδια σειρά:
- Ελέγχει τη συνθήκη στη γραμμή 1.
- Αν είναι σωστή, εκτελεί τις εντολές κάτω από το «τότε» και προσπερνά το «αλλιώς».
- Αν είναι λάθος, προσπερνά το «τότε» και εκτελεί τις εντολές κάτω από το «αλλιώς».
Δοκίμασε: ποιο κομμάτι θα τρέξει;
Ένα παιχνίδι έχει αυτόν τον κανόνα:
αν το σκορ είναι μεγαλύτερο από 10 τότε πες «Πέρασες την πίστα!» αλλιώς πες «Προσπάθησε ξανά».
Αν χωρίς αλλιώς
Μερικές φορές δεν χρειάζεται «αλλιώς». Αν δεν γίνει τίποτα όταν η συνθήκη είναι λάθος, γράφεις μόνο «αν… τότε».
αν ο χαρακτήρας ακουμπάει το νόμισμα τότεπαίξε τον ήχο «κλινγκ»κρύψε το νόμισματέλος αν
Αν ο χαρακτήρας δεν ακουμπάει το νόμισμα, το πρόγραμμα απλώς συνεχίζει στην επόμενη εντολή.
Σε ένα παιχνίδι τέτοιοι έλεγχοι γίνονται συνέχεια, πολλές φορές το δευτερόλεπτο, μέσα σε μια επανάληψη «για πάντα». Έτσι το παιχνίδι «καταλαβαίνει» τη στιγμή που ακουμπάς το νόμισμα.
Ας το κάνουμε μαζί
Παράδειγμα 1
Ένα πρόγραμμα χαιρετά: αν η ώρα είναι πριν από τις 12 τότε λέει «Καλημέρα», αλλιώς λέει «Καλησπέρα». Τι θα πει στις 12:00 ακριβώς;
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Παράδειγμα 2
Στο λούνα παρκ, στο τρενάκι μπαίνουν παιδιά από 8 χρονών και πάνω. Γράψε την απόφαση με «αν… τότε… αλλιώς» και δοκίμασέ τη για 7, 8 και 9 χρονών.
Δοκίμασέ το πρώτα. Μετά δες τη λύση.
Ασκήσεις
Πρώτα ερωτήσεις με επιλογές: διαλέγεις, πατάς «Έλεγξε» και μαθαίνεις αμέσως αν το βρήκες και γιατί. Στο τέλος, λίγες ασκήσεις χωρίς επιλογές — εκεί κρύβεται μόνο η απάντηση.
Τα κατάφερες;
- Να αναγνωρίζεις μια συνθήκη ως ερώτηση που απαντιέται μόνο με «σωστό» ή «λάθος».
- Να περιγράφεις μια απόφαση με τη μορφή «αν… τότε… αλλιώς».
- Να προβλέπεις ποιο κομμάτι ενός προγράμματος θα εκτελεστεί για μια δεδομένη τιμή.
- Να ελέγχεις μια συνθήκη με τιμές πάνω στο όριο, όπως το «μεγαλύτερο» και το «μεγαλύτερο ή ίσο».
Λύσε τις ασκήσεις πιο πάνω και θα δεις εδώ πού στέκεσαι.