Πολύ συχνά καλούμαστε στη ζωή να λάβουμε αποφάσεις ανάλογα με τις υπάρχουσες συνθήκες, έτσι και στον προγραμματισμό τα προγράμματα δεν εκτελούν πάντα τις εντολές σειριακά αλλά επιλέγουν ποιες εντολές θα εκτελέσουν ανάλογα με κάποιες συνθήκες.
Η δομή επιλογής είναι μια σημαντική δομή που χρησιμοποιείται στον προγραμματισμό και με αυτή τη δομή εκτελούνται μια σειρά εντολών όταν μια συνθήκη είναι αληθής και μια άλλη σειρά εντολών όταν η συνθήκη είναι ψευδής.
Στο Scratch 3 οι εντολές που χρησιμοποιούνται για τη δομή επιλογής είναι οι ακόλουθες:
Η εντολή “εάν …τότε”
Πολλές φορές στον προγραμματισμό θέλουμε να δημιουργήσουμε προγράμματα που κάποιες εντολές εκτελούνται μόνο αν ισχύει μια συνθήκη.
Με την εντολή «εάν…τότε» οι εντολές που τοποθετούμε στο εσωτερικό της εκτελούνται μόνο όταν ισχύει η συνθήκη (η συνθήκη μπαίνει μέσα στο ) , αν η συνθήκη δεν ισχύει εκτελούνται οι εντολές που βρίσκονται κάτω από την εντολή «εάν…τότε».
Η συνθήκη είναι μια λογική πρόταση που είναι πάντα ψευδής ή αληθής και στο Scratch χρησιμοποιούμε εντολές από την παλέτα Τελεστές, Αισθητήρες και Μεταβλητές που έχουν το εξάγωνο σχήμα για να τις υλοποιήσουμε.
Ας δούμε ένα παράδειγμα:
Θέλουμε να φτιάξουμε ένα σενάριο που το αντικείμενο γάτα μας ρωτάει τον βαθμό που πήραμε σε ένα τεστ. Αν ο βαθμός είναι μεγαλύτερος από 9.5 τότε μας εμφανίζει το μήνυμα “Συγχαρητήρια!!!”
Tο σενάριο που θα φτιάξουμε είναι το παρακάτω:
Η εντολή “εάν τότε… αλλιώς”
Υπάρχουν και σενάρια που χρειάζεται να εκτελεστούν εντολές και στην περίπτωση που η συνθήκη δεν ισχύει.
Με την εντολή «εάν τότε… αλλιώς», αν η συνθήκη ισχύει (είναι αληθής) εκτελούνται οι εντολές που βρίσκονται στην πρώτη εσοχή, αν η συνθήκη δεν ισχύει (ψευδής) εκτελούνται οι εντολές που βρίσκονται στη δεύτερη εσοχή.
Ας δούμε ένα παράδειγμα για να κατανοήσουμε τη χρήση της.
Παράδειγμα
Θέλουμε να φτιάξουμε ένα σενάριο που το αντικείμενο γάτα μας ρωτάει τον βαθμό που πήραμε σε ένα τεστ. Αν ο βαθμός είναι μεγαλύτερος από 9.5 τότε εμφανίζει το μήνυμα “Συγχαρητήρια!!!” ενώ αν ο βαθμός είναι κάτω από 9.5 εμφανίζει το μήνυμα “Πολύ καλά”.
Το σενάριο που θα δημιουργήσουμε είναι το παρακάτω:
Δοκιμάστε να κάνετε τις παρακάτω δραστηριότητες για καλύτερη κατανόηση των παραπάνω εντολών.
Δραστηριότητα 1
Απόλυτη τιμή
Δημιουργήστε ένα σενάριο που η γάτα θα σας ρωτάει να της πείτε έναν αριθμό και θα σας βρίσκει την απόλυτη τιμή του. Χρησιμοποιήστε τις παρακάτω εντολές, κάποιες περισσότερες από μία φορές
Δραστηριότητα 2
Σε έπιασα
- Δημιουργήστε ένα νέο έργο.
- Εισάγετε ένα υπόβαθρο της επιλογής σας
- Εισάγετε το αντικείμενο ποντίκι και φτιάξτε το σενάριο έτσι ώστε αν γίνει κλικ στην πράσινη σημαία να ολισθαίνει συνεχώς σε τυχαία θέση στη σκηνή.
- Για το αντικείμενο φτιάξτε ένα σενάριο έτσι ώστε όταν αγγίζει το ποντίκι να λέει “Σε έπιασα”
Εντολές που θα χρησιμοποιήσετε:
Δραστηριότητα 3
Αριθμομηχανή
Χρησιμοποιήστε τις εντολές που σας δίνονται παρακάτω για να φτιάξετε μια αριθμομηχανή που θα κάνει πρόσθεση, αφαίρεση, πολλαπλασιασμό και διαίρεση. Θα χρειαστεί να δίνονται από το χρήστη δύο αριθμοί που θα αποθηκεύονται σε μεταβλητές α, β και η πράξη.
Δραστηριότητα 4
Ακολουθώντας τη γραμμή
Σε αυτό το σενάριο θα δούμε πως γίνεται να κάνουμε ένα αντικείμενο να ακολουθήσει ένα μονοπάτι που έχουμε ζωγραφίσει στη σκηνή, όπως βλέπετε στην παρακάτω εικόνα:
Κάνετε κλικ στο στην πράσινη σημαία για να το δείτε.
Ακολουθήστε τις παρακάτω οδηγίες για να δημιουργήσετε και εσείς το ίδιο.
- Ξεκινήστε ένα νέο έργο και εισάγετε (κλικ στο εικονίδιο κάτω δεξιά στην οθόνη) το αντικείμενο ή όποιο εσείς θέλετε. Αν κοιτάξετε προσεκτικά τη γάτα στο έργο, θα παρατηρήσετε ότι η μύτη και τα μπροστινά πόδια της έχουν χρωματιστεί με διαφορετικά χρώματα. Αυτό έγινε γιατί θα χρησιμοποιήσετε τη μύτη και τα πόδια της γάτας ως αισθητήρες χρώματος για την ανίχνευση της μαύρης γραμμής της διαδρομής.
- Κάνετε κλικ στην καρτέλα και στον επεξεργαστή ζωγραφικής, ζωγραφίστε τα πόδια και τη μύτη της γάτας ως εξής:
- Διαγράψτε το αντικείμενο1 κάνοντας δεξί κλικ πάνω του και διαγραφή
Ας δούμε λίγο τον αλγόριθμο που θα πρέπει να εκτελεί το αντικείμενο
- Εάν η μύτη της γάτας (κίτρινο χρώμα) αγγίζει τη μαύρη γραμμή, τότε θα χρησιμοποιήσετε την εντολή για να προχωρήστε προς τα εμπρός με βήμα 2.
- Εάν το αριστερό πόδι της γάτας (κόκκινο χρώμα) αγγίζει τη μαύρη γραμμή, στρίψτε αριστερά με την εντολή (5 μοίρες ) και προχωρήστε προς τα εμπρός με μικρότερο βήμα (0,5 ή 1).
- Εάν το δεξί πόδι της γάτας (πράσινο χρώμα) αγγίζει τη γραμμή, στρίψτε δεξιά με την εντολή (5 μοίρες) και προχωρήστε προς τα εμπρός με μικρότερο βήμα. (0,5 ή 1)
Το βήμα και οι γωνίες στροφής μπορεί να είναι διαφορετικά ανάλογα με τη διαδρομή που θα έχετε σχεδιάσει.
Με την εντολή η γάτα πάει σε συγκεκριμένο x και y που ανήκει πάνω στη μαύρη διαδρομή.
Μέσα σε μια εντολή θα πρέπει να χρησιμοποιήσετε την εντολή ελέγχου (πόσες φορές άραγε; ),
Για να ελέγξετε το πότε οι αισθητήρες που ζωγραφίσατε στη γάτα, ακουμπούν τη μαύρη γραμμή χρησιμοποιήστε την εντολή
Δοκιμάστε να φτιάξετε το σενάριο μόνοι σας. Αν δεν τα καταφέρετε δείτε τη λύση παρακάτω:
Λύση
Ένα σενάριο που κάνει το αντικείμενο να ακολουθεί τη διαδρομή είναι το παρακάτω: