Μετάβαση στο κύριο περιεχόμενο
Πύλη Εκπαιδευτικών

Αυτοματοποιημένη Πρόκληση - C++

Η κάτοψη για την Πρόκληση Automed, συμπεριλαμβανομένων των ονομασιών περιοχών ως εξής: Φαρμακείο, Δωμάτιο 1, Δωμάτιο 2, Δωμάτιο 3, Αφετηρία και Ανελκυστήρας. Τα δωμάτια 2 και 3 βρίσκονται στον δεύτερο όροφο, ενώ όλα τα υπόλοιπα δωμάτια βρίσκονται στον πρώτο όροφο. Οι μετρήσεις είναι σημειωμένες, με ολόκληρη την κάτοψη να χωράει σε ένα ορθογώνιο 2 επί 1,8 μέτρα.
Διάταξη νοσοκομείου Automed Challenge με διαστάσεις

Αυτοματοποιημένη Πρόκληση

Σε αυτήν την πρόκληση, πρέπει να προγραμματίσετε το ρομπότ σας ώστε να πλοηγείται σε ένα νοσοκομείο καθώς παραδίδει φάρμακα σε ασθενείς σε διάφορα δωμάτια.

Εικονίδιο Συμβουλών Δασκάλου Συμβουλές για τους Δασκάλους

Αυξήστε την αλληλεπίδραση δημιουργώντας μια ιστορία για το νοσοκομείο! Τι είδους νοσοκομείο είναι και τι είδους ασθενείς εξυπηρετεί;

Κανόνες Πρόκλησης

  • Το ρομπότ πρέπει να ξεκινά και να τελειώνει στη Ζώνη Εκκίνησης.

  • Ολόκληρο το ρομπότ πρέπει να βρίσκεται μέσα στο Φαρμακείο, το Ασανσέρ και τα Δωμάτια Ασθενών και να περιμένει τους ακόλουθους χρόνους για να ολοκληρώσει τις ενέργειες:

    • Φαρμακείο: Περιμένετε τουλάχιστον 5 δευτερόλεπτα για να παραλάβετε τα φάρμακα.

    • Ασανσέρ: Περιμένετε τουλάχιστον 5 δευτερόλεπτα για να φτάσετε σε άλλο όροφο.

    • Δωμάτιο Ασθενούς: Περιμένετε τουλάχιστον 3 δευτερόλεπτα για να παραδώσετε τα φάρμακα.

  • Το ρομπότ δεν πρέπει να έρχεται σε επαφή με τοίχους ή να περνάει πάνω από αυτούς.

  • Το ρομπότ πρέπει πρώτα να επισκεφτεί το φαρμακείο για να παραλάβει φάρμακα για τα δωμάτια ασθενών.

  • Το ρομπότ πρέπει να επισκεφθεί καθένα από τα δωμάτια ασθενών (χωρίς συγκεκριμένη σειρά) για να παραδώσει φάρμακα.

  • Καλή διασκέδαση!

Εικονίδιο Εργαλειοθήκης Εκπαιδευτικού Εργαλειοθήκη Δασκάλου - Λύση

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

Δείτε ένα δείγμα λύσης C++ του VEXcode V5 παρακάτω:

int main() {
  // Αρχικοποίηση διαμόρφωσης ρομπότ. ΜΗΝ ΤΟ ΑΦΑΙΡΕΙΤΕ!
  vexcodeInit();
    // Έναρξη έργου κωδικός

    // Μετάβαση στο φαρμακείο
    Drivetrain.driveFor(forward, 900, mm);
    Drivetrain.turnFor(left, 90, degrees);
    Drivetrain.driveFor(forward, 1350, mm);
    Drivetrain.turnFor(right, 90, degrees);
    Drivetrain.driveFor(forward, 600, mm);
    wait(6, seconds);

    // Μετάβαση στο δωμάτιο 1
    Drivetrain.driveFor(reverse, 600, mm);
    Drivetrain.turnFor(right, 90, degrees);
    Drivetrain.driveFor(forward, 600, mm);
    Drivetrain.turnFor(left, 90, degrees);
    Drivetrain.driveFor(forward, 600, mm);
    wait(5, seconds);

    // Μετάβαση στον ανελκυστήρα
    Drivetrain.driveFor(reverse, 600, mm);
    Drivetrain.turnFor(right, 90, degrees);
    Drivetrain.driveFor(forward, 600, mm);
    Drivetrain.turnFor(left, 90, degrees);
    Drivetrain.driveFor(forward, 600, mm);
    αναμονή(6, seconds);

    // Μετάβαση στο δωμάτιο 2
    Drivetrain.driveFor(reverse, 800, mm);
    Drivetrain.turnFor(left, 90, degrees);
    Drivetrain.driveFor(forward, 1000, mm);
    Drivetrain.turnFor(left, 90, degrees);
    Drivetrain.driveFor(forward, 800, mm);
    αναμονή(5, seconds);

    // Μετάβαση στο δωμάτιο 3
    Drivetrain.driveFor(reverse, 800, mm);
    Drivetrain.turnFor(αριστερά, 90, μοίρες);
    Drivetrain.driveFor(εμπρός, 600, mm);
    Drivetrain.turnFor(δεξιά, 90, μοίρες);
    Drivetrain.driveFor(εμπρός, 800, mm);
    wait(5, δευτερόλεπτα);

    // Μετάβαση στον ανελκυστήρα
    Drivetrain.driveFor(όπισθεν, 800, mm);
    Drivetrain.turnFor(αριστερά, 90, μοίρες);
    Drivetrain.driveFor(εμπρός, 600, mm);
    Drivetrain.turnFor(δεξιά, 90, μοίρες);
    Drivetrain.driveFor(εμπρός, 800, mm);
    wait(6, δευτερόλεπτα);

    // Επιστροφή στη ζώνη εκκίνησης
    Drivetrain.driveFor(εμπρός, 1500, mm);

}