Λήψη Αποφάσεων - Python
Εργαλειοθήκη Δασκάλου
-
Ο Σκοπός αυτής της Ανάγνωσης
Αυτό το Εργαστήριο STEM επικεντρώνεται στον προγραμματισμό του ρομπότ ώστε να ανταποκρίνεται στις συνθήκες που ανιχνεύει. Αυτή η πρώτη ανάγνωση έχει ως στόχο να εισαγάγει την ιδέα των υπό όρους, των λογικών (σωστών ή ψευδών) συνθηκών και το όφελος της συμπερίληψης αυτών των δομών προγραμματισμού σε ένα έργο. Οι μαθητές θα πρέπει να αρχίσουν να αναγνωρίζουν ότι η συμπερίληψη του υπό όρους προγραμματισμού βελτιώνει τον τρόπο με τον οποίο το ρομπότ ανταποκρίνεται στο περιβάλλον του.
Ενώ παρακολουθούμε ένα ρομπότ, μπορεί να φαίνεται ότι παίρνει αποφάσεις για τη δική του συμπεριφορά, αλλά μέσα στον προγραμματισμό, ελέγχει τις συνθήκες και αναλαμβάνει δράση κατάλληλα. Οι μαθητές θα μπορούσαν να εξετάσουν πώς οι συνθήκες επηρεάζουν τις δικές τους τεκμηριωμένες αποφάσεις.
Απόφαση που πρέπει να ληφθεί:Να πάρω ομπρέλα;
Τρέχουσα κατάσταση:Είναι πιθανό να βρέξει (ΑΛΗΘΕΙΑ).
Απόφαση: Πάρτε ομπρέλα.
Λήψη Αποφάσεων
Στο πιο βασικό τους επίπεδο, τα προγράμματα γράφονται για να επιτύχουν απλές ακολουθίες συμπεριφοράς. Για παράδειγμα, μπορεί να θέλετε το ρομπότ σας να κινείται προς τα εμπρός και να κάνει επίσης μερικές στροφές για να φτάσει σε έναν προορισμό. Τι γίνεται όμως αν θέλετε το ρομπότ σας να περιμένει την κατάλληλη στιγμή για να αρχίσει να κινείται προς τα εμπρός και να ολοκληρώσει τη διαδρομή του; Αυτό θα απαιτούσε προγραμματισμό με εντολές υπό όρους. Θα χρησιμοποιούσατε μια υπό όρους δήλωση για να ορίσετε ποια είναι η «κατάλληλη στιγμή για να ξεκινήσετε» στο έργο σας. Ίσως η «κατάλληλη στιγμή» να είναι αφού πατηθεί ένα κουμπί ή όταν ένας αισθητήρας ανιχνεύσει ένα συγκεκριμένο επίπεδο και στη συνέχεια αρχίσει να λειτουργεί. Όταν παρακολουθείτε τη συμπεριφορά του ρομπότ, θα φαίνεται σαν να αποφασίζει πότε θα ξεκινήσει η οδήγηση, αλλά αυτό συμβαίνει επειδή ορίζετε τη συνθήκη για το πότε θα πρέπει να ξεκινήσει η οδήγηση.
Οι εντολές υπό όρους είναι ισχυρές εντολές προγραμματισμού που χρησιμοποιούν μια λογική συνθήκη (TRUE ή FALSE). Χρησιμοποιώντας το ίδιο παράδειγμα όπως παραπάνω, θα μπορούσατε να προγραμματίσετε το ρομπότ σας να ελέγχει επανειλημμένα αν η οθόνη του εγκεφάλου του είναι πατημένη και να κινείται προς τα εμπρός όταν πατηθεί. Η υπό όρους πρόταση σε αυτό το έργο μπορεί να έχει παρόμοια μορφή με την εξής: "Εάν η οθόνη εντοπίσει ότι έχει πατηθεί (TRUE), εκτελέστε την ακολουθία οδήγησης". Αυτή η δήλωση δεν αναφέρει καμία συμπεριφορά εάν η συνθήκη είναι FALSE (η οθόνη είναι πατημένηκαι όχι), επομένως το ρομπότ δεν εκτελεί καμία ενέργεια όταν είναι FALSE. Οι υπό όρους δηλώσεις σάς επιτρέπουν να αναπτύξετε έργα στα οποία το ρομπότ συμπεριφέρεται διαφορετικά ανάλογα με το τι ανιχνεύει. Για περισσότερες πληροφορίες σχετικά με τη Λογική Boolean, κάντε κλικ σε έναν από τους ακόλουθους συνδέσμους (Google Doc / .docx / .pdf).
Στο ακόλουθο παράδειγμα, αν πατηθεί η οθόνη του Εγκεφάλου (TRUE), το ρομπότ θα κινηθεί προς τα εμπρός. Εάν δεν πατηθεί η οθόνη του εγκεφάλου (ΨΕΥΔΗΣ), το ρομπότ θα σταματήσει να οδηγεί. Αυτό δείχνει το ρομπότ να κινείται προς τα εμπρός μόνο όταν πατηθεί η οθόνη του Εγκεφάλου, διαφορετικά το ρομπότ σταματά.
# Κωδικός έναρξης έργου
ενώ True:
if brain.screen.pressing():
drivetrain.drive(FORWARD)
else:
drivetrain.stop()
wait(5, MSEC)
Συμβουλές για Δασκάλους
-
Χρήση της Αυτόματης Συμπλήρωσης
Η αυτόματη συμπλήρωση είναι μια λειτουργία στο VEXcode V5 που προβλέπει την υπόλοιπη εντολή που πληκτρολογείτε. Καθώς οι μαθητές εργάζονται στο VEXcode V5, ενθαρρύνετέ τους να χρησιμοποιήσουν τη λειτουργία Αυτόματης συμπλήρωσης για να τους βοηθήσει με τη σύνταξη της Python. Ενδέχεται να παρατηρήσετε μια συνάρτηση αυτόματης συμπλήρωσης καθώς αρχίζετε να πληκτρολογείτε την εντολή. Χρησιμοποιήστε τα πλήκτρα "Πάνω" και "Κάτω" για να επιλέξετε το όνομα που θέλετε και, στη συνέχεια, πατήστε "Tab" ή (Enter/Return) στο πληκτρολόγιό σας για να κάνετε την επιλογή. Για περισσότερες πληροφορίες σχετικά με τη χρήση της Αυτόματης Συμπλήρωσης Python.
Επεκτείνετε τη Μάθησή σας
Για να επεκτείνετε αυτήν τη δραστηριότητα, ζητήστε από τους μαθητές σας να χωριστούν σε ομάδες και να δημιουργήσουν ένα σκίτσο ενός λαβυρίνθου για να το ολοκληρώσει μια άλλη ομάδα. Ο λαβύρινθος θα πρέπει να απαιτεί τουλάχιστον τρεις έως πέντε υποθετικές δηλώσεις. Για παράδειγμα, «συνεχίστε προς τα εμπρός μέχρι να εμφανιστεί ένας τοίχος». Στη συνέχεια, στρίψτε αριστερά. Οι μαθητές θα πρέπει να γράψουν μια λύση για τον λαβύρινθο σε μορφή διαγράμματος ροής. Οι μαθητές θα πρέπει στη συνέχεια να ανταλλάξουν λαβύρινθους με μια άλλη ομάδα, η οποία με τη σειρά της θα πρέπει να δημιουργήσει μια λύση για τον λαβύρινθο σε μορφή διαγράμματος ροής. Στη συνέχεια, οι δύο ομάδες θα πρέπει να συγκρίνουν τις απαντήσεις για να δουν πόσο κοντά βρίσκονται μεταξύ τους.
Για να συσχετίσετε αυτήν τη δραστηριότητα με διαδικτυακά ή κινητά παιχνίδια, ζητήστε από τους μαθητές σας να περιγράψουν τον στόχο του αγαπημένου τους παιχνιδιού/εφαρμογής. Στη συνέχεια, ζητήστε από τους μαθητές να δημιουργήσουν ένα διάγραμμα ροής που περιγράφει τις πρώτες δέκα αποφάσεις με ναι/όχι ή σωστό/λάθος που ακολουθούν στο παιχνίδι τους.