LEGO® Education > Σχέδια Μαθήματος > ΣΧΕΔΙΟ ΕΝΟΤΗΤΑΣ:

Άπειρες κινήσεις

Δημιουργήστε ένα πρόγραμμα με άπειρους βρόχους

}

45-90 λεπτά

Τάξεις Ε’ Δημοτικού- Α’ Γυμνασίου

Ενδιάμεσο επίπεδο

Ερωτήσεις προς διερεύνηση

  • Πώς μπορείτε να δημιουργήσετε βρόχους όπου οι συνθήκες είναι πάντα αληθείς;

Προετοιμασία ( Prepare )

  • Βεβαιωθείτε ότι οι κόμβοι SPIKE Prime είναι φορτισμένοι, ειδικά αν η σύνδεση γίνεται μέσω Bluetooth.
  • Βεβαιωθείτε ότι οι μαθητές έχουν κατασκευάσει το μοντέλο Coach, το οποίο χρησιμοποιήθηκε στο μάθημα Dance Loop with Coach.

Συμμετοχή ( Engage )

      (Ομαδική συζήτηση, 10 λεπτά)

      • Ενεργοποιήστε τους μαθητές σε μια συζήτηση σχετικά με τον καθορισμό των συνθηκών.
      • Παροτρύνετε τους μαθητές να κάνουν καταιγισμό ιδεών για παραδείγματα των περιπτώσεων που πρέπει να πληρούν ορισμένες προϋποθέσεις. Εύκολα παραδείγματα μπορούν να περιλαμβάνουν την απόφαση να τρώτε μόνο όταν πεινάτε ή να καθαρίζετε το δωμάτιό σας μόνο όταν σας το λέει κάποιος. Ζητήστε από τους μαθητές να κατονομάσουν τους όρους σε κάθε περίπτωση.

      Στη συνέχεια, προτρέψτε τους μαθητές να βρουν ένα παράδειγμα μιας χρονικής στιγμής κατά την οποία μια συνθήκη είναι πάντα αληθής. Οι μαθητές θα πρέπει να κάνουν καταιγισμό ιδεών για μια συνθήκη που θα μπορούσε να τεθεί και η οποία δεν θα σταματούσε να είναι αληθής (δεν υπάρχει ψευδές για τη συνθήκη). Ένα παράδειγμα θα μπορούσε να περιλαμβάνει την ανατολή του ήλιου κάθε μέρα. 

      • Προτρέψτε τους μαθητές να γράψουν μια δήλωση που θέτει την ανατολή του ήλιου ως συνθήκη. Παράδειγμα: Αν ο ήλιος ανατείλει, τότε θα δω φως έξω. Αυτό είναι αληθές κάθε μέρα, επειδή ο ήλιος ανατέλλει κάθε μέρα.
      • Εξηγήστε στους μαθητές ότι ένας βρόχος με συνθήκη που είναι πάντα αληθής είναι ένας άπειρος βρόχος. Οι άπειροι βρόχοι είναι βρόχοι while που δεν μπορούν ποτέ να γίνουν ψευδείς.

      Ανακάλυψη ( Explore )

      (Μικρές ομάδες, 45 λεπτά)

      Οι μαθητές θα εξερευνήσουν τον προγραμματισμό του μοντέλου Coach ώστε να κινείται χρησιμοποιώντας έναν άπειρο βρόχο.

      • Καθοδηγήστε τους μαθητές να ανοίξουν ένα νέο έργο στον καμβά προγραμματισμού Python. Ζητήστε από τους μαθητές να διαγράψουν τυχόν κώδικα που υπάρχει ήδη στον προγραμματιστικό χώρο. Οι μαθητές θα πρέπει να συνδέσουν τον κόμβο τους.
      • Εξηγήστε στους μαθητές ότι ο Προπονητής θέλει να μας πάει μια μεγάλη πεζοπορία τώρα που έχουμε ζεσταθεί όλοι. Συζητήστε με τους μαθητές πώς μπορούμε να συμπεριλάβουμε έναν βρόχο για τη μετακίνηση του μοντέλου Coach χρησιμοποιώντας έναν βρόχο while που θέτει μια συνθήκη για την κίνηση, αλλά η συνθήκη δημιουργείται με τέτοιο τρόπο ώστε να είναι πάντα αληθής (δεν μπορεί να είναι ψευδής).
      • Ζητήστε από τους μαθητές να επανεξετάσουν το πρόγραμμά τους από το μάθημα Ορισμός συνθήκης για τη γιόγκα. Ζητήστε από τους μαθητές να κάνουν καταιγισμό ιδεών για να θέσουν τις συνθήκες έτσι ώστε ο βρόχος while να είναι πάντα αληθής και επομένως να μην τερματίζεται.

      Δείγμα προγράμματος από το μάθημα Setting Condition for Yoga:

      from spike import Motor 

      \# αρχικοποίηση των κινητήρων και του αισθητήρα. Ορισμός ονομάτων μεταβλητών 

      motor_b=Motor(‘B’) 

      motor_f=Motor(‘F’) 

      count = 2 

      \# Εκτέλεση των κινητήρων όταν ο αριθμός είναι μικρότερος από 5  

      while count < 5: 

          motor_f.run_for_seconds(0.3, 40) 

          motor_b.run_for_seconds(0.3, 40) 

          motor_f.run_for_seconds(0.3, -40) 

          motor_b.run_for_seconds(0.3, -40) 

          count=count+1 

      Δώστε χρόνο στους μαθητές να δοκιμάσουν διάφορες ιδέες για να διασφαλίσουν ότι η συνθήκη είναι πάντα αληθής. Οι ενδεικτικές λύσεις περιλαμβάνουν τον καθορισμό του count στο 1 και του while count σε τιμή μεγαλύτερη του 0. Αυτό το πρόγραμμα θα συνεχίσει να εκτελείται συνεχώς, επειδή η συνθήκη θα συνεχίσει να είναι αληθής.

      Υπενθυμίστε στους μαθητές να παρακολουθούν την κονσόλα για σφάλματα καθώς ερευνούν.

      While True

      Παρουσιάστε στους μαθητές μια νέα γραμμή κώδικα που θα τους επιτρέψει να επιτύχουν το στόχο να δημιουργήσουν μια συνθήκη για το βρόχο που είναι πάντα αληθής (δεν μπορεί να γίνει ψευδής).

      Μοιραστείτε αυτή τη γραμμή κώδικα με τους μαθητές και ρωτήστε τους πού πιστεύουν ότι ανήκει στο πρόγραμμα που μόλις δημιούργησαν (τι θα πρέπει να αντικαταστήσει).

      Ζητήστε από τους μαθητές να αλλάξουν το πρόγραμμά τους ώστε να συμπεριλάβουν τη γραμμή κώδικα while True, η οποία θα επιτρέψει στο πρόγραμμα να κάνει ατέρμονο βρόχο.

      Δείγμα προγράμματος:

      από spike import Motor 

      \# αρχικοποίηση των κινητήρων και του αισθητήρα. Ορισμός ονομάτων μεταβλητών 

      motor_b=Motor(‘B’) 

      motor_f=Motor(‘F’)  

      \# Εκτέλεση των κινητήρων όταν ο αριθμός είναι μικρότερος από 5  

      while True: 

          motor_f.run_for_seconds(0.3, 40) 

          motor_b.run_for_seconds(0.3, 40) 

          motor_f.run_for_seconds(0.3, -40) 

          motor_b.run_for_seconds(0.3, -40)

        Εξηγήστε το ( Explain )

        (Ολόκληρη η ομάδα, 10 λεπτά)

        Συζητήστε με τους μαθητές πώς λειτούργησε το πρόγραμμα.

        Κάντε στους μαθητές ερωτήσεις όπως:

        • Τι ήταν δύσκολο σε αυτή την πρόκληση;
        • Σε τι διαφέρει αυτός ο βρόχος από έναν βρόχο while;
        • Πότε μπορεί να θέλετε να χρησιμοποιήσετε έναν άπειρο βρόχο;

        Εξελίξτε το ( Elaborate )

        (Μικρές ομάδες, 15 λεπτά)

        Προκαλέστε τους μαθητές να προσθέσουν έναν αισθητήρα δύναμης στο μοντέλο Coach.

        Ζητήστε από τους μαθητές να προσθέσουν έναν αισθητήρα δύναμης στο μοντέλο τους συνδέοντας τον αισθητήρα στη θύρα D. Οι μαθητές δεν χρειάζεται να συνδέσουν τον αισθητήρα δύναμης στο μοντέλο.

        Με τον αισθητήρα προσαρτημένο, ζητήστε από τους μαθητές να ενημερώσουν τα προγράμματά τους ώστε να συμπεριλάβουν τη χρήση ενός αισθητήρα στο βρόχο. Ο βρόχος θα πρέπει να συνεχίσει να είναι πάντα αληθής, αλλά να περιλαμβάνει επίσης τη χρήση ενός αισθητήρα δύναμης.

        Δείγμα προγράμματος:

        από spike import Motor, ForceSensor

        from spike.control import wait_for_seconds

        # αρχικοποίηση των κινητήρων και του αισθητήρα. Ορισμός ονομάτων μεταβλητών

        motor_b=Motor(‘B’)

        motor_f=Motor(‘F’)

        force_sensor=Αισθητήρας δύναμης(‘D’)

        # τρέξτε τους κινητήρες όταν ο αριθμός είναι μικρότερος από 5

        While True:

            force_sensor.wait_until_pressed()

            motor_f.run_for_seconds(0.5, 40)

            wait_for_seconds(1)

            motor_f.run_for_seconds(0.5, -40)

        Δώστε χρόνο στους μαθητές να δοκιμάσουν και να τροποποιήσουν το πρόγραμμά τους. Υπενθυμίστε στους μαθητές να παρακολουθούν την κονσόλα για μηνύματα σφάλματος.

        Επιτρέπει στους μαθητές να μοιραστούν τα προγράμματά τους. Συζητήστε τις διαφορετικές προσεγγίσεις ως ομάδα.

         

        Αξιολόγηση  ( Evaluate )

        (Ομαδική άσκηση, 10 λεπτά)

        Παρατήρηση από τον εκπαιδευτικό:

        Συζητήστε το πρόγραμμα με τους μαθητές.

        Κάντε στους μαθητές ερωτήσεις όπως:

        • Τι μετατρέπει έναν βρόχο while σε έναν άπειρο βρόχο;
        • Ποιο είναι το πιο σημαντικό πράγμα που πρέπει να θυμάστε όταν δημιουργείτε έναν άπειρο βρόχο;
        • Πώς μπορούν να συμπεριληφθούν αισθητήρες στη χρήση βρόχων;

        Αυτοαξιολόγηση:

        • Βάλτε τους μαθητές να απαντήσουν στα ακόλουθα στο ημερολόγιό τους:
        • Τι μάθατε σήμερα σχετικά με τη χρήση άπειρων βρόχων;
        • Ποια χαρακτηριστικά ενός καλού συμπαίκτη επέδειξα σήμερα;
        • Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση του χρόνου τους σήμερα.
        • Ζητήστε από τους μαθητές να βαθμολογήσουν τον εαυτό τους σε κλίμακα 1-3, σχετικά με τη διαχείριση των υλικών (εξαρτημάτων) που έκαναν σήμερα.
        Υποστήριξη εκπαιδευτικών

        Οι μαθητές θα:

        • Προγραμματίσουν άπειρους βρόχους.
        • Δημιουργήσουν ένα μοντέλο που περιλαμβάνει έναν αισθητήρα δύναμης που θα παρέχει μια συνθήκη για να κινηθεί το ρομπότ.
        Πράγματα που θα χρειαστείτε
        • Σετ SPIKE Prime έτοιμα για χρήση από τους μαθητές
        • Συσκευές με εγκατεστημένη την εφαρμογή SPIKE
        • Ημερολόγια μαθητών
        Εκπαιδευτικά πρότυπα

        CSTA

        2-CS-02 Σχεδιασμός έργων που συνδυάζουν στοιχεία υλικού και λογισμικού για τη συλλογή και ανταλλαγή δεδομένων.

        2-AP-10 Χρήση διαγραμμάτων ροής ή/και ψευδοκώδικα για την αντιμετώπιση σύνθετων προβλημάτων ως αλγόριθμοι

        2-AP-13 Να αναλύουν προβλήματα και υποπροβλήματα σε μέρη για να διευκολύνουν το σχεδιασμό, την υλοποίηση και την αναθεώρηση προγραμμάτων.

        2-AP-16 Ενσωμάτωση υπάρχοντος κώδικα, μέσων και βιβλιοθηκών σε πρωτότυπα προγράμματα και απόδοση των στοιχείων αυτών.

        2-AP-17 Συστηματική δοκιμή και βελτίωση των προγραμμάτων με τη χρήση μιας σειράς περιπτώσεων δοκιμής.

        2-AP-19 Τεκμηρίωση προγραμμάτων προκειμένου να διευκολύνεται η παρακολούθηση, ο έλεγχος και η αποσφαλμάτωση.