Αυτοματοποιημένη Πρόκληση - Python
Αυτοματοποιημένη Πρόκληση
Σε αυτήν την πρόκληση, πρέπει να προγραμματίσετε το ρομπότ σας ώστε να πλοηγείται σε ένα νοσοκομείο καθώς παραδίδει φάρμακα σε ασθενείς σε διάφορα δωμάτια.
Συμβουλές για τους Δασκάλους
Αυξήστε την αλληλεπίδραση δημιουργώντας μια ιστορία για το νοσοκομείο! Τι είδους νοσοκομείο είναι και τι είδους ασθενείς εξυπηρετεί;
Κανόνες Πρόκλησης
-
Το ρομπότ πρέπει να ξεκινά και να τελειώνει στη Ζώνη Εκκίνησης.
-
Ολόκληρο το ρομπότ πρέπει να βρίσκεται μέσα στο Φαρμακείο, το Ασανσέρ και τα Δωμάτια Ασθενών και να περιμένει τους ακόλουθους χρόνους για να ολοκληρώσει τις ενέργειες:
-
Φαρμακείο: Περιμένετε τουλάχιστον 5 δευτερόλεπτα για να παραλάβετε τα φάρμακα.
-
Ασανσέρ: Περιμένετε τουλάχιστον 5 δευτερόλεπτα για να φτάσετε σε άλλο όροφο.
-
Δωμάτιο Ασθενούς: Περιμένετε τουλάχιστον 3 δευτερόλεπτα για να παραδώσετε τα φάρμακα.
-
-
Το ρομπότ δεν πρέπει να έρχεται σε επαφή με τοίχους ή να περνάει πάνω από αυτούς.
-
Το ρομπότ πρέπει πρώτα να επισκεφτεί το φαρμακείο για να παραλάβει φάρμακα για τα δωμάτια ασθενών.
-
Το ρομπότ πρέπει να επισκεφθεί καθένα από τα δωμάτια ασθενών (χωρίς συγκεκριμένη σειρά) για να παραδώσει φάρμακα.
-
Καλή διασκέδαση!
Εργαλειοθήκη Δασκάλου
-
Λύση
Μια ρουμπρίκα προγραμματισμού για την αξιολόγηση των μαθητών μπορεί να βρεθεί εδώ (Google ).
Δείτε ένα δείγμα λύσης Python VEXcode V5 παρακάτω:
# Εισαγωγές βιβλιοθήκης
από vex import *
# Κωδικός έναρξης έργου
# Μετάβαση στο φαρμακείο
drivetrain.drive_for(FORWARD, 900, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 1350, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
wait(6, SECONDS)
# Μετάβαση στο δωμάτιο 1
drivetrain.drive_for(REVERSE, 600, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 600, MM)
drivetrain.turn_for(LEFT, 90, DEGREES)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, ΜΜ)
αναμονή(6, ΔΕΥΤΕΡΟΛΕΠΤΑ)
# Μετάβαση στο ασανσέρ
drivetrain.drive_for(ΠΙΣΩ, 600, ΜΜ)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, ΜΜ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, ΜΜ)
αναμονή(6, ΔΕΥΤΕΡΟΛΕΠΤΑ)
# Μετάβαση στο δωμάτιο 2
drivetrain.drive_for(ΠΙΣΩ, 800, ΜΜ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 1000, ΜΜ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 800, ΜΟΙΡΕΣ)
wait(5, ΔΕΥΤΕΡΟΛΕΠΤΑ)
# Μετάβαση στο δωμάτιο 3
drivetrain.drive_for(ΠΙΣΩ, 800, ΜΟΙΡΕΣ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 600, ΜΟΙΡΕΣ)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 800, ΜΟΙΡΕΣ)
wait(5, ΔΕΥΤΕΡΟΛΕΠΤΑ)
# Μετάβαση στο ασανσέρ
drivetrain.drive_for(ΠΙΣΩ, 800, ΜΟΙΡΕΣ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 750, ΜΟΙΡΕΣ)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
drivetrain.drive_for(ΜΠΡΟΣΤΑ, 750, MM)
wait(6, ΔΕΥΤΕΡΟΛΕΠΤΑ)
# Επιστροφή στη ζώνη εκκίνησης
drivetrain.drive_for(ΠΙΣΩ, 1500, MM)