Εργασίες και λύσεις ρομπότ είδωλο. Ρομπότ Performer. Απλές εντολές

Εισαγωγή στο πρόγραμμα Idol και γνώση των βασικών αρχών του προγραμματισμού.

Σε αυτό, οι μαθητές μπορούν να αποκτήσουν πρακτικές δεξιότητες στη δημιουργία και τον εντοπισμό σφαλμάτων ενός αλγορίθμου, δουλεύοντας με καλλιτέχνες όπως Robot, Draftsman, Aquarius, Grasshopper, Turtle.

Όταν μελετάτε ένα από τα πιο δύσκολα τμήματα της επιστήμης των υπολογιστών, τον «αλγοριθμισμό και τον προγραμματισμό».

Σκοπός ανάπτυξης :

Κατεβάστε:


Προεπισκόπηση:

Μεθοδολογική ανάπτυξη στην επιστήμη των υπολογιστών.

Θέμα: «Ερμηνευτής ρομπότ στο πρόγραμμα KuMir σε μαθήματα πληροφορικής»

καθηγητής τεχνολογίας "Πληροφορική και ΤΠΕ"

Επεξηγηματικό σημείωμα

Αναπτυξιακός στόχος: μελέτη δυνατοτήτων προγραμματισμού χρησιμοποιώντας το παράδειγμα ενός συγκεκριμένου ερμηνευτή ρομπότ που χρησιμοποιεί το περιβάλλον KUMIR. παρέχουν πρακτικές δεξιότητες στην εργασία με έναν ερμηνευτή.

Μεθοδολογική ανάπτυξημεταγλωττίστηκε για μαθήματα πληροφορικήςΕξάσκηση στον υπολογιστή: εργασία με τον εκτελεστή εκπαιδευτικού αλγορίθμου. κατάρτιση γραμμικών, διακλαδιζόμενων και κυκλικών αλγορίθμων για τον έλεγχο εκτελεστών. κατάρτιση αλγορίθμων με πολύπλοκη δομή. χρήση βοηθητικών αλγορίθμων (διαδικασίες, υπορουτίνες).

Οι μαθητές πρέπει να γνωρίζουν:

  • τι είναι ερμηνευτής? SKI Robot, περιβάλλον του ερμηνευτή Robot.
  • τι είναι ένας αλγόριθμος;ποιες είναι οι κύριες ιδιότητες του αλγορίθμου;
  • τρόποι σύνταξης αλγορίθμων: διαγράμματα ροής, εκπαιδευτική αλγοριθμική γλώσσα.βασικές αλγοριθμικές κατασκευές: παρακάτω, διακλάδωση, βρόχος; δομές
  • αλγόριθμοι? ⇒ εκχώρηση βοηθητικών αλγορίθμων. τεχνολογίες για την κατασκευή πολύπλοκων αλγορίθμων:

Οι μαθητές θα πρέπει να είναι σε θέση:

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

Μάθημα 1 (2 ώρες) Μάθημα 1.

Ρομπότ Performer.Σύστημα εντολών εκτελεστή.

Πλάνο μαθήματος.

  1. Περιγραφή του SKI του ερμηνευτή, του περιβάλλοντος του ερμηνευτή.

2. Ανάλυση τυπικών αλγορίθμων Robot.

Κατά τη διάρκεια των μαθημάτων.

Ας δούμε την περιγραφή του καλλιτέχνη.

Καλλιτεχνικό Περιβάλλον: Εκτελεστής Το ρομπότ μπορεί να πλοηγηθεί σε έναν λαβύρινθο που σχεδιάζεται σε ένα επίπεδο χωρισμένο σε κελιά.

Ρομπότ SKI : απλές εντολές: πάνω, κάτω, αριστερά, δεξιά, ζωγραφική.

Λογικές εντολές: (έλεγχος συνθηκών)

πάνω ελεύθερο κάτω ελεύθερο

αριστερά ελεύθερη δεξιά ελεύθερη.

Λογικές συνδέσεις: ΚΑΙ, ΟΧΙ, Ή:

Παράδειγμα: (Όχι αριστερά) ή (Μη δεξιά δωρεάν)

Εντολή υποκαταστήματος: εντολή βρόχου:

Εάν η προϋπόθεση τότε δεν υπάρχει όρος ακόμα

Μια σειρά από εντολές μια σειρά από εντολές

αυτό είναι όλο kts

(Στα CMM του 2009, οι εντολές του ρομπότ ήταν διαφορετικές από αυτές που ήταν γνωστές στα παιδιά, γεγονός που οδήγησε σεσύγχυση :)

Εντολή υποκαταστήματος: εντολή βρόχου:

Εάν η προϋπόθεση τότε nts προς το παρόν η προϋπόθεση να κάνουμε

Μια σειρά από εντολές μια σειρά από εντολές

τέλος τέλος

Γενική άποψη του παραθύρου του προγράμματος Idol. Γραφικό περιβάλλον του ρομπότ:

Στα CMM της δοκιμαστικής έκδοσης του 2010, η μορφή εντολής άλλαξε σεσυνήθης

Η διαδικασία για τη δημιουργία αλγορίθμου:

1.Ομάδες Εργαλεία -Επεξεργασία περιβάλλοντος εκκίνησηςσχεδιάστε τοίχους στο πεδίο Robot και ρυθμίστε το Robot στην αρχική του θέση.

2.Ομάδες Robot - Αλλαγή περιβάλλοντος εκκίνησηςδιατήρηση του νέου περιβάλλοντος.

3.Ομάδες Εισαγωγή - Χρήση ρομπότυποδεικνύουν τον καλλιτέχνη.

4.Στο παράθυρο του εγγράφου, σημειώστε τον αλγόριθμο χρησιμοποιώντας το μενούΕισάγετε.

5.Χρήση εντολών εκτέλεσης – εκτελέστε τον αλγόριθμο συνεχώς (ή βήμα προς βήμα).

6. Εξετάστε το αποτέλεσμα της εκτέλεσης του αλγορίθμου και, εάν χρειάζεται, διορθώστε τον.

Μάθημα 1 (2 ώρες) Μάθημα 2.

Πρακτική δουλειά "Σύνταξη γραμμικών αλγορίθμων».

Εργασίες: 1. Ρομπότ σε αυθαίρετο σημείο του χωραφιού. Χρωματίστε το κελί πάνω, κάτω και στα δεξιά της αρχικής θέσης.

  1. Ρομπότ σε αυθαίρετο σημείο του χωραφιού. Μετακινήστε τα τετράγωνα Robot 4 προς τα δεξιά, χρωματίζοντάς τα.
  2. Δημιουργήστε ένα νέο περιβάλλον εκκίνησης σχεδιάζοντας ένα τετράγωνο με πλευρά 4 τετραγώνων στο πεδίο. Αποθηκεύστε τη ρύθμιση ως την αρχική.
  3. Δημιουργήστε ένα νέο περιβάλλον εκκίνησης σχεδιάζοντας έναν διάδρομο στο γήπεδο με περάσματα στους τοίχους. Αποθηκεύστε το περιβάλλον ως obst2.fil. Αλλάξτε το περιβάλλον εκκίνησης σε αυτό που δημιουργήθηκε πρόσφατα.

Μάθημα 2 (2 ώρες) Μάθημα 1.

Θέμα : Διακλάδωση και διαδοχική τελειοποίηση του αλγορίθμου.

Ανάλυση εργασιών CMM με χρήση του Robot executor.

χρησιμοποιήστε το Robot

alg kim 2009

αρχή

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

απατώ

χρησιμοποιήστε το Robot

alg kim 2010

αρχή

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

αν όχι ελεύθερο από κάτω

μετά προς τα δεξιά

Ολα

απατώ

Και τα λοιπά. δούλος. Νο. 14. Σύνταξη και αποσφαλμάτωση αλγορίθμων διακλάδωσης

Καθήκοντα. Βλέπε συνημμένο.

Μάθημα 3. Κυκλικοί αλγόριθμοι. Μάθημα 1-2

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

Και τα λοιπά. δούλος. Νο. 15. Σύνταξη και αποσφαλμάτωση κυκλικών αλγορίθμων

1.Δημιουργήστε έναν αλγόριθμο που χρωματίζει όλα τα εσωτερικά κελιά που βρίσκονται δίπλα στον τοίχο.

χρησιμοποιήστε το Robot

αλγ

αρχή

nts το δικαίωμα είναι δωρεάν προς το παρόν

Βαφή πάνω? σωστά

kts

nts το κάτω μέρος είναι δωρεάν προς το παρόν

Βαφή πάνω? κάτω

kts

nts δεν είναι ακόμη δωρεάν από κάτω

Βαφή πάνω? αριστερά

kts

απατώ

2.Δημιουργήστε έναν αλγόριθμο που ζωγραφίζει όλα τα κελιά μεταξύ του Ρομπότ και του τοίχου. Η απόσταση από τον τοίχο είναι άγνωστη.

χρησιμοποιήστε το Robot

αλγ

αρχή

nts το δικαίωμα είναι δωρεάν προς το παρόν

σωστά; ζωγραφίζω

kts

απατώ

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

χρησιμοποιήστε το Robot

alg uch3

αρχή

nts ακόμα (όχι δωρεάν από πάνω) ή (όχι δωρεάν από κάτω)

σωστά

εάν (όχι δωρεάν από πάνω) και (όχι δωρεάν από κάτω)

Οτι

ζωγραφίζω

Ολα

kts

απατώ

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

alg uch4

αρχή

ζωγραφίζω πάνω;πάνω

Τα nts δεν είναι ακόμη δωρεάν στα δεξιά

βαφή πάνω;

kts

βάψιμο πάνω δεξιά

nts δεν είναι ακόμη δωρεάν από κάτω

ζωγραφίζω πάνω;δεξιά;

kts

ζωγραφίζω πάνω;κάτω

Τα nts δεν είναι ακόμη δωρεάν στα αριστερά

βαφή πάνω;κάτω;

kts

βάψιμο πάνω αριστερά

nts δεν είναι στην κορυφή ακόμα δωρεάν

Βαφή πάνω? αριστερά;

kts

απατώ

χρησιμοποιήστε το Robot

alg uch5

αρχή

σωστά

nts δεν είναι ακόμη δωρεάν από κάτω

Βαφή πάνω? σωστά

kts

Βαφή πάνω? κάτω

nts το αριστερό είναι δωρεάν προς το παρόν

Βαφή πάνω? αριστερά

kts

Τα nts δεν είναι ακόμη δωρεάν στα αριστερά

Βαφή πάνω? κάτω

kts

ζωγραφίζω πάνω;αριστερά;ζωγραφίζω πάνω; πάνω;

nts δωρεάν στην κορυφή προς το παρόν

Βαφή πάνω? πάνω

kts

nts δεν είναι στην κορυφή ακόμα δωρεάν

Βαφή πάνω? αριστερά

kts

απατώ

Μάθημα 4 Μάθημα 1

Βοηθητικούς αλγόριθμους.

Στόχος: εισαγάγετε την έννοια των κύριων και βοηθητικών αλγορίθμων. εξηγήστε τους κανόνες για τη χρήση του βοηθητικού αλγόριθμου. να αναλύσει παραδείγματα αλγορίθμων χρησιμοποιώντας βοηθητικούς.

Πλάνο μαθήματος

1.Εισαγωγή νέων όρων (κύριοι και βοηθητικοί αλγόριθμοι, κλήσεις) και επεξήγηση νέων εννοιών.

2. Ανάλυση παραδειγμάτων επίλυσης προβλημάτων με χρήση βοηθητικού αλγόριθμου.

Κατά την επίλυση ορισμένων προβλημάτων, είναι βολικό να τα αναλύουμε σε μικρότερες δευτερεύουσες εργασίες, καθεμία από τις οποίες μπορεί να διατυπωθεί ως ανεξάρτητος αλγόριθμος. Σε αυτή την περίπτωση, αρχικά συντάσσεται ο λεγόμενος κύριος αλγόριθμος, στον οποίο χρησιμοποιούνται κλήσεις σε βοηθητικούς αλγόριθμους για την επίλυση υποεργασιών, οι οποίες προστίθενται αργότερα. Αυτή η λύση ονομάζεταιμέθοδος διαδοχικής βελτίωσης.Επιτρέπει σε μια ομάδα προγραμματιστών να εργαστούν σε ένα έργο, ο καθένας λύνοντας τη δική του υποεργασία.

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

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

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

Εργασία 1:

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

Λύση

Ανάλυση στον πίνακα:

Εργασία 2. Το ρομπότ βρίσκεται στην επάνω αριστερή γωνία του γηπέδου. Δεν υπάρχουν τοίχοι ούτε βαμμένα κελιά. Δημιουργήστε έναν αλγόριθμο που ζωγραφίζει ένα τετράγωνο 8 x 8 σε σκακιέρα Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη.

Μάθημα 4 Μάθημα 2

Πρακτική εργασία σε υπολογιστή "Επίλυση προβλήματος με χρήση βοηθητικών αλγορίθμων".

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

Πλάνο μαθήματος

1.Η εργασία πραγματοποιείται εξ ολοκλήρου σε υπολογιστή. Οι μαθητές λαμβάνουν εργασίες και τις ολοκληρώνουν στο περιβάλλον λογισμικού Idol. Τα αποτελέσματα της εργασίας αποθηκεύονται ως αρχεία για μετέπειτα επαλήθευση.

Πρόβλημα 1 . Το ρομπότ βρίσκεται στην κάτω αριστερή γωνία του γηπέδου. Δεν υπάρχουν τοίχοι ούτε βαμμένα κελιά. Δημιουργήστε έναν αλγόριθμο που ζωγραφίζει 6 κάθετες ρίγες ίσου μήκους σε 6 κελιά. Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη.

Πρόβλημα 2 .Χρησιμοποιώντας βοηθητικά δημιουργήστε έναν αλγόριθμο για τη ζωγραφική των κελιών που σχηματίζουν τον αριθμό 1212.

Εργασία για το σπίτι: Βρείτε έναν αλγόριθμο που σχεδιάζει την ακόλουθη εικόνα: Για να λύσετε το πρόβλημα, χρησιμοποιήστε δύο βοηθητικούς αλγόριθμους.

Μάθημα 5 Μάθημα 1-2

Δοκιμή

"Σχεδιάζοντας έναν αλγόριθμο στο περιβάλλον του Robot executor."

Στόχος: δοκιμάστε τις γνώσεις που αποκτήθηκαν σχετικά με τη δημιουργία και την ικανότητα ανάλυσης αλγορίθμων στο περιβάλλον λογισμικού Idol.

Οι εργασίες για τη δοκιμή χωρίζονται ανά επίπεδο δυσκολίας και περιλαμβάνουν 3 εργασίες με τον εκτελεστή ρομπότ (εργασία 1 και 2 - για διακλάδωση και βρόχους, εργασία 3 - για τη χρήση βοηθητικού αλγορίθμου.) Τα κείμενα των εργασιών δίνονται στο παράρτημα.

Οι αρχικές και τελικές καταστάσεις και οι δημιουργημένοι αλγόριθμοι καταγράφονται ως αρχείο.

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

Και σήμερα θα μιλήσουμε για κύκλους. Ας καταλάβουμε τι είναι ένας κύκλος και πώς να διδάξουμε το ρομπότ μας να εκτελεί κυκλικούς αλγόριθμους.

Ετσι, τι είναι ένας κύκλος? Φανταστείτε ότι βρισκόμαστε σε μάθημα φυσικής αγωγής και βρισκόμαστε αντιμέτωποι με ένα έργο κάνε 7 squats. Αυτή η εργασία μπορεί να διαμορφωθεί ως γραμμικός αλγόριθμος και στη συνέχεια θα μοιάζει κάπως έτσι:

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

Δηλαδή επαναλάβαμε 7 φορές την εντολή «κάνε squat». Έχει νόημα να γράψουμε 7 πανομοιότυπες εντολές; Ίσως είναι πιο εύκολο να δώσετε μια εντολή κάνε 7 squats? Φυσικά είναι πιο απλό και σωστό. Αυτός είναι ο κύκλος. Μπορείτε να θυμηθείτε παραδείγματα κύκλων από τη ζωή μόνοι σας - υπάρχουν αρκετά από αυτά.

Ετσι γραμμικός αλγόριθμος, όπου επαναλαμβάνονται οι ίδιες εντολές μπορούμε να τακτοποιήσουμε ως κυκλικός αλγόριθμος- σαν αυτό:

επαναλάβετε 7 φορές

κάνε ένα squat

τέλος του κύκλου

Έτσι σχεδιάσαμε τον κύκλο στη γλώσσα που εφεύραμε. Το Robot performer έχει επίσης τη δυνατότητα εγγραφής κύκλων. Εξάλλου, οι κύκλοι είναι διαφορετικοί. Η επιλογή που μόλις εξετάσαμε ονομάζεται βρόχος με μετρητήή βρόχος με παράμετρο.

Τύποι κύκλων.

Βρόχο με μετρητή.

Βρόχος με μετρητήχρησιμοποιείται όταν είναι γνωστό εκ των προτέρων πόσες επαναλήψεις πρέπει να γίνουν. Στο παραπάνω παράδειγμα με τα squats, αυτό ακριβώς συμβαίνει.

Για να γράψετε έναν βρόχο με μετρητή για τον εκτελεστή, πρέπει να γνωρίζετε τη σύνταξή του. Και είναι κάπως έτσι:

nc<αριθμός επαναλήψεων> φορές

<команда 1>

<команда 2>

<команда n>

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

Ας το δούμε αυτό με ένα παράδειγμα.

Αρχικά, το ρομπότ βρισκόταν στο επάνω αριστερό κελί.

Ας λύσουμε πρώτα το πρόβλημα γραμμικά. Σε αυτήν την περίπτωση, θα ζωγραφίσουμε πάνω από το τρέχον κελί και θα μετακινήσουμε 1 κελί προς τα δεξιά και το πρόγραμμα θα μοιάζει με αυτό:
χρησιμοποιήστε το Robot
αλγ
αρχή

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

Όπως μπορείτε να δείτε, οι εντολές για ζωγραφική και προς τα δεξιά επαναλαμβάνονται 7 φορές. Ας ξαναγράψουμε τώρα το πρόγραμμα χρησιμοποιώντας έναν βρόχο. Παρεμπιπτόντως, για να εισαγάγετε έναν κύκλο στο πρόγραμμά σας, μπορείτε να μεταβείτε στο μενού Εισάγετεεπιλέξτε αντικείμενο τσκ-τσκ-τσκή πατήστε έναν από τους συνδυασμούς πλήκτρων Esc, Π(ρωσικό γράμμα R) ή Esc, H(Λατινικό γράμμα Η). Εξάλλου τα πλήκτρα πρέπει να πατηθούν διαδοχικά- πρώτα Esc, αφήστε το και μόνο μετά P ή H.

Ορίστε λοιπόν το δικό μας πρόγραμμα βρόχουθα μοιάζει με αυτό:

χρησιμοποιήστε το Robot

nts 7 φορές

ζωγραφίζω

σωστά

Αν το τρέξουμε, θα δούμε ότι το αποτέλεσμα θα είναι το ίδιο - 7 γεμάτα κελιά. Ωστόσο, το πρόγραμμα έχει γίνει πιο σύντομο και πολύ πιο έξυπνο από αλγοριθμική άποψη!

Ως προθέρμανση και ενίσχυση, σας προτείνω να γράψετε μόνοι σας ένα πρόγραμμα για το Ρομπότ, το οποίο θα σχεδιάζει ένα τετράγωνο με πλευρά 7 κελιών. Φυσικά, χρησιμοποιώντας βρόχο. Περιμένω λύση στα σχόλια.

Βρόχος υπό όρους.

Κατά την επίλυση του Προβλήματος 19 της Κρατικής Ακαδημαϊκής Πληροφορικής στην Επιστήμη των Υπολογιστών με ένα ρομπότ, δεν θα είναι δυνατή η χρήση βρόχου με μετρητή. Αφού το χωράφι εκεί είναι, κατά κανόνα, ατελείωτο και οι τοίχοι δεν έχουν συγκεκριμένο μήκος. Επομένως, δεν θα μπορούμε να προσδιορίσουμε τον αριθμό των επαναλήψεων για έναν βρόχο με μετρητή. Αλλά δεν έχει σημασία - θα μας βοηθήσει βρόχος με συνθήκη.

Ας επιστρέψουμε στη φυσική αγωγή και ας αλλάξουμε το πρόβλημα. Άλλωστε, κάποιος μπορεί να μην μπορεί να κάνει 7 squats, ενώ κάποιος άλλος μπορεί να κάνει 27. Είναι δυνατόν να ληφθεί υπόψη αυτό κατά τη δημιουργία ενός κύκλου; Σίγουρα. Μόνο που τώρα θα χρησιμοποιήσουμε όχι μετρητή (αριθμός επαναλήψεων), αλλά συνθήκη. Για παράδειγμα, πριν κουραστείς, κάνε καταλήψεις. Σε αυτή την περίπτωση, το άτομο δεν θα κάνει συγκεκριμένο αριθμό καταλήψεων, αλλά θα κάνει οκλαδόν μέχρι να κουραστεί. Και ο κύκλος μας στην αφηρημένη γλώσσα θα έχει την εξής μορφή:

Αντίο ΟΧΙ κουρασμενος

κάνε ένα squat

τέλος του κύκλου

Τα λόγια δεν κουράζονται στην περίπτωσή μας - αυτή είναι μια προϋπόθεση. Όταν ισχύει, ο βρόχος εκτελείται. Εάν είναι false (κουρασμένο), το σώμα του βρόχου δεν θα εκτελεστεί. Ο ερμηνευτής Robot έχει αρκετές προϋποθέσεις

δωρεάν στην κορυφή

ελεύθερο από κάτω

έμεινε ελεύθερος

ελεύθερο στα δεξιά

τοίχο πάνω

τοίχο από κάτω

αριστερός τοίχος

τοίχο στα δεξιά

Αλλά στις συνθήκες της εργασίας 19 του GIA, υποδεικνύονται μόνο τα πρώτα 4, οπότε θα τα χρησιμοποιήσουμε μόνο.

Τώρα ας λύσουμε την επόμενη εργασία για το Ρομπότ - σχεδιάστε μια κάθετη γραμμή από το αριστερό προς το δεξί περίγραμμα του πεδίου χρησιμοποιώντας έναν βρόχο με μια συνθήκη. Αρχικά, το Ρομπότ βρίσκεται στην επάνω αριστερή γωνία.

Ας διατυπώσουμε πρώτα έναν λεκτικό αλγόριθμο - δηλαδή να περιγράψουμε με λέξεις τι πρέπει να κάνει το Ρομπότ. Αυτός ο αλγόριθμος θα ακούγεται κάπως έτσι:

« Ενώ υπάρχει ελεύθερος χώρος στα δεξιά, κάντε ένα βήμα προς τα δεξιά και ζωγραφίστε το κελί »

Ως αποτέλεσμα, το ρομπότ θα τρέξει μέσα από όλα τα κελιά προς τα δεξιά και θα τα ζωγραφίσει μέχρι να υπάρχει ένας τοίχος στα δεξιά.

Ο πηγαίος κώδικας του προγράμματός μας για το Robot θα είναι κάπως έτσι:

χρησιμοποιήστε το Robot

nts το δικαίωμα είναι δωρεάν προς το παρόν

σωστά

ζωγραφίζω

Ως αποτέλεσμα της εκτέλεσης αυτού του προγράμματος, θα δούμε την παρακάτω εικόνα:




Executor Robot Command system for performer Robot Move εντολές: πάνω, κάτω, αριστερά, δεξιά Το ρομπότ μετακινεί ένα κελί πάνω, κάτω, αριστερά, δεξιά. Η εντολή paint ζωγραφίζει το κελί στο οποίο βρίσκεται το ρομπότ. Έλεγχος της αλήθειας της συνθήκης: ελεύθερος στην κορυφή, ελεύθερος στο κάτω μέρος, ελεύθερος στα αριστερά, ελεύθερος στα δεξιά Το ρομπότ ελέγχει την αλήθεια της συνθήκης ότι δεν υπάρχει τοίχος στο κελί όπου βρίσκεται το ρομπότ. Μπορείτε να χρησιμοποιήσετε τη σημείωση των σύνθετων συνθηκών που σχηματίζονται από τις λογικές πράξεις ΚΑΙ, Ή, ΟΧΙ.




Performer Robot Άμεση επεξεργασία του περιβάλλοντος Όλες οι εντολές για την επεξεργασία του περιβάλλοντος εκτελούνται με το ποντίκι: τοποθέτηση/αφαίρεση τοίχου - κλικ στο περίγραμμα μεταξύ κελιών, ζωγραφική/εκκαθάριση κελιού - κλικ στο κελί, μετακίνηση του ρομπότ - σύρσιμο του ποντικιού στο επιθυμητό κελί.


Εντολές μενού Robot Executor Robot Εμφάνιση πεδίου Robot Καθιστά ορατό το παράθυρο παρατήρησης ρομπότ. Περιβάλλον εκτύπωσης Δημιουργεί ένα αρχείο PDF που απεικονίζει το τρέχον περιβάλλον έγχρωμο ή ασπρόμαυρο. Αποθήκευση κατάστασης σε αρχείο Δημιουργεί ένα αρχείο κειμένου με περιγραφή της κατάστασης στην εσωτερική μορφή *.fil. Αυτό το αρχείο μπορεί αργότερα να φορτωθεί ως περιβάλλον εκκίνησης (εντολή αλλαγής περιβάλλοντος εκκίνησης) ή κατά την επεξεργασία του περιβάλλοντος εκκίνησης (εντολή ανοίγματος παραθύρου επεξεργασίας περιβάλλοντος εκκίνησης). Αλλαγή ως περιβάλλον εκκίνησης Ορίζει ένα νέο όνομα αρχείου περιβάλλοντος εκκίνησης (χρησιμοποιώντας το τυπικό παράθυρο διαλόγου) και φορτώνει ένα νέο περιβάλλον εκκίνησης. Επιστροφή στο περιβάλλον εκκίνησης Κάνει το περιβάλλον εκκίνησης ενημερωμένο.


Ρομπότ Performer Εικόνα της τρέχουσας κατάστασης στο παράθυρο παρατήρησης Η εικόνα του τρέχοντος περιβάλλοντος τοποθετείται πάντα πλήρως στο πεδίο εργασίας του παραθύρου παρατήρησης ρομπότ. Το φόντο του πεδίου εργασίας είναι πράσινο. Τα γεμάτα κελιά είναι γκρι. Υπάρχουν λεπτές μαύρες γραμμές ανάμεσα στα κελιά. Οι τοίχοι εμφανίζονται ως παχιές κίτρινες γραμμές. Στο κελί του πεδίου εργασίας του παραθύρου παρατήρησης, το ρομπότ απεικονίζεται ως διαμάντι.


Παράδειγμα ρομπότ Performer 1. Ας δημιουργήσουμε έναν αλγόριθμο που ονομάζεται "Knight's move" έτσι ώστε το ρομπότ να μπορεί να φτάσει από το σημείο Α στο σημείο Β (Εικ. 3). Ο αλγόριθμος μοιάζει με (Εικ. 4.). Μετά την εκτέλεσή του, το Ρομπότ θα μετακινηθεί στο επιθυμητό σημείο (Εικ. 5). Ένας αλγόριθμος γραμμένος στη γλώσσα του ερμηνευτή ονομάζεται πρόγραμμα. Εικ.3Εικ.4 Εικ.5











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

Το σύστημα εντολών του εκτελεστή "Robot" περιλαμβάνει:

  • 5 εντολές που ενεργοποιούν τις ενέργειες του ρομπότ (αριστερά, δεξιά, πάνω, κάτω, ζωγραφική)
  • 10 εντολές ελέγχου συνθήκης:
  • 8 εντολές της φόρμας [αριστερά/δεξιά/κάτω/πάνω] [τοίχος/δωρεάν]
  • 2 εντολές του τύπου κελιού [γεμάτο/κενό]
  • 2 εντολές μέτρησης (θερμοκρασία, ακτινοβολία)

Εντολές ενεργειών

Ελέγξτε τις εντολές

Ομάδα Περιγραφή
Το log στα αριστερά είναι δωρεάν Επιστρέφει ναι εάν το ρομπότ μπορεί να μετακινηθεί προς τα αριστερά, διαφορετικά όχι.
Η σύνδεση στα δεξιά είναι δωρεάν Επιστρέφει ναι εάν το ρομπότ μπορεί να μετακινηθεί προς τα δεξιά, διαφορετικά όχι.
συνδεθείτε από πάνω δωρεάν Επιστρέφει ναι εάν το ρομπότ μπορεί να ανέβει, διαφορετικά όχι.
συνδεθείτε παρακάτω δωρεάν Επιστρέφει ναι εάν το ρομπότ μπορεί να μετακινηθεί προς τα κάτω, διαφορετικά όχι.
κούτσουρο αριστερό τοίχο Επιστρέφει ναι αν υπάρχει τοίχος στα αριστερά του ρομπότ, διαφορετικά όχι.
κούτσουρο δεξιό τοίχο Επιστρέφει ναι εάν υπάρχει τοίχος στα δεξιά του ρομπότ, διαφορετικά όχι.
κούτσουρο στον επάνω τοίχο Επιστρέφει ναι εάν υπάρχει τοίχος πάνω από το ρομπότ, διαφορετικά όχι.
κούτσουρο κάτω από τον τοίχο Επιστρέφει ναι εάν υπάρχει τοίχος κάτω από το ρομπότ, διαφορετικά όχι.
κελί καταγραφής συμπληρώνεται Επιστρέφει ναι εάν το κελί είναι γεμάτο και όχι εάν το κελί δεν είναι γεμάτο.
ημερολόγιο καθαρό Επιστρέφει όχι εάν το κελί είναι γεμάτο και ναι εάν το κελί δεν είναι γεμάτο.

Εντολές μέτρησης

Ας είναι απαραίτητο να μεταφέρετε από το κελί στα αριστερά του τοίχου στο κελί στα δεξιά του τοίχου:

Ο αλγόριθμος μπορεί να μοιάζει με αυτό:

χρησιμοποιήστε το Robot
alg παράδειγμα 1
αρχή
. κάτω
. σωστά
. πάνω
απατώ

Εάν προσπαθήσετε να οδηγήσετε το ρομπότ μέσα από έναν τοίχο, θα προκύψει μια αποτυχία. Το ρομπότ θα πέσει στον τοίχο και δεν θα μπορεί πλέον να ακολουθεί εντολές.


Ας γράψουμε έναν αλγόριθμο για ένα ρομπότ που περνά έναν λαβύρινθο από το σημείο Α στο Β:

χρησιμοποιήστε το Robot
Alg από το Α στο Β
αρχή
. σωστά

. πάνω ; πάνω ;
σωστά ; κάτω ;
απατώ

κάτω ; σωστά