Εργασίες και λύσεις ρομπότ είδωλο. Ρομπότ Performer. Απλές εντολές
Εισαγωγή στο πρόγραμμα Idol και γνώση των βασικών αρχών του προγραμματισμού.
Σε αυτό, οι μαθητές μπορούν να αποκτήσουν πρακτικές δεξιότητες στη δημιουργία και τον εντοπισμό σφαλμάτων ενός αλγορίθμου, δουλεύοντας με καλλιτέχνες όπως Robot, Draftsman, Aquarius, Grasshopper, Turtle.
Όταν μελετάτε ένα από τα πιο δύσκολα τμήματα της επιστήμης των υπολογιστών, τον «αλγοριθμισμό και τον προγραμματισμό».
Σκοπός ανάπτυξης :
Κατεβάστε:
Προεπισκόπηση:
Μεθοδολογική ανάπτυξη στην επιστήμη των υπολογιστών.
Θέμα: «Ερμηνευτής ρομπότ στο πρόγραμμα KuMir σε μαθήματα πληροφορικής»
καθηγητής τεχνολογίας "Πληροφορική και ΤΠΕ"
Επεξηγηματικό σημείωμα
Αναπτυξιακός στόχος: μελέτη δυνατοτήτων προγραμματισμού χρησιμοποιώντας το παράδειγμα ενός συγκεκριμένου ερμηνευτή ρομπότ που χρησιμοποιεί το περιβάλλον KUMIR. παρέχουν πρακτικές δεξιότητες στην εργασία με έναν ερμηνευτή.
Μεθοδολογική ανάπτυξημεταγλωττίστηκε για μαθήματα πληροφορικήςΕξάσκηση στον υπολογιστή: εργασία με τον εκτελεστή εκπαιδευτικού αλγορίθμου. κατάρτιση γραμμικών, διακλαδιζόμενων και κυκλικών αλγορίθμων για τον έλεγχο εκτελεστών. κατάρτιση αλγορίθμων με πολύπλοκη δομή. χρήση βοηθητικών αλγορίθμων (διαδικασίες, υπορουτίνες).
Οι μαθητές πρέπει να γνωρίζουν:
- τι είναι ερμηνευτής? SKI Robot, περιβάλλον του ερμηνευτή Robot.
- τι είναι ένας αλγόριθμος;ποιες είναι οι κύριες ιδιότητες του αλγορίθμου;
- τρόποι σύνταξης αλγορίθμων: διαγράμματα ροής, εκπαιδευτική αλγοριθμική γλώσσα.βασικές αλγοριθμικές κατασκευές: παρακάτω, διακλάδωση, βρόχος; δομές
- αλγόριθμοι? ⇒ εκχώρηση βοηθητικών αλγορίθμων. τεχνολογίες για την κατασκευή πολύπλοκων αλγορίθμων:
Οι μαθητές θα πρέπει να είναι σε θέση:
- κατανοούν τις περιγραφές των αλγορίθμων στην εκπαιδευτική αλγοριθμική γλώσσα.
- εκτελέστε ένα ίχνος αλγορίθμου για έναν γνωστό εκτελεστή.
- δημιουργία γραμμικών, διακλαδιζόμενων και κυκλικών αλγορίθμων ελέγχου για τον εκτελεστή ρομπότ. επισήμανση δευτερευουσών εργασιών. ορίζει και χρησιμοποιεί βοηθητικούς αλγόριθμους.
Μάθημα 1 (2 ώρες) Μάθημα 1.
Ρομπότ Performer.Σύστημα εντολών εκτελεστή.
Πλάνο μαθήματος.
- Περιγραφή του SKI του ερμηνευτή, του περιβάλλοντος του ερμηνευτή.
2. Ανάλυση τυπικών αλγορίθμων Robot.
Κατά τη διάρκεια των μαθημάτων.
Ας δούμε την περιγραφή του καλλιτέχνη.
Καλλιτεχνικό Περιβάλλον: Εκτελεστής Το ρομπότ μπορεί να πλοηγηθεί σε έναν λαβύρινθο που σχεδιάζεται σε ένα επίπεδο χωρισμένο σε κελιά.
Ρομπότ SKI : απλές εντολές: πάνω, κάτω, αριστερά, δεξιά, ζωγραφική.
Λογικές εντολές: (έλεγχος συνθηκών)
πάνω ελεύθερο κάτω ελεύθερο
αριστερά ελεύθερη δεξιά ελεύθερη.
Λογικές συνδέσεις: ΚΑΙ, ΟΧΙ, Ή:
Παράδειγμα: (Όχι αριστερά) ή (Μη δεξιά δωρεάν)
Εντολή υποκαταστήματος: εντολή βρόχου:
Εάν η προϋπόθεση τότε δεν υπάρχει όρος ακόμα
Μια σειρά από εντολές μια σειρά από εντολές
αυτό είναι όλο kts
(Στα CMM του 2009, οι εντολές του ρομπότ ήταν διαφορετικές από αυτές που ήταν γνωστές στα παιδιά, γεγονός που οδήγησε σεσύγχυση :)
Εντολή υποκαταστήματος: εντολή βρόχου:
Εάν η προϋπόθεση τότε nts προς το παρόν η προϋπόθεση να κάνουμε
Μια σειρά από εντολές μια σειρά από εντολές
τέλος τέλος
Γενική άποψη του παραθύρου του προγράμματος Idol. Γραφικό περιβάλλον του ρομπότ:
Στα CMM της δοκιμαστικής έκδοσης του 2010, η μορφή εντολής άλλαξε σεσυνήθης
Η διαδικασία για τη δημιουργία αλγορίθμου:
1.Ομάδες Εργαλεία -Επεξεργασία περιβάλλοντος εκκίνησηςσχεδιάστε τοίχους στο πεδίο Robot και ρυθμίστε το Robot στην αρχική του θέση.
2.Ομάδες Robot - Αλλαγή περιβάλλοντος εκκίνησηςδιατήρηση του νέου περιβάλλοντος.
3.Ομάδες Εισαγωγή - Χρήση ρομπότυποδεικνύουν τον καλλιτέχνη.
4.Στο παράθυρο του εγγράφου, σημειώστε τον αλγόριθμο χρησιμοποιώντας το μενούΕισάγετε.
5.Χρήση εντολών εκτέλεσης – εκτελέστε τον αλγόριθμο συνεχώς (ή βήμα προς βήμα).
6. Εξετάστε το αποτέλεσμα της εκτέλεσης του αλγορίθμου και, εάν χρειάζεται, διορθώστε τον.
Μάθημα 1 (2 ώρες) Μάθημα 2.
Πρακτική δουλειά "Σύνταξη γραμμικών αλγορίθμων».
Εργασίες: 1. Ρομπότ σε αυθαίρετο σημείο του χωραφιού. Χρωματίστε το κελί πάνω, κάτω και στα δεξιά της αρχικής θέσης.
- Ρομπότ σε αυθαίρετο σημείο του χωραφιού. Μετακινήστε τα τετράγωνα Robot 4 προς τα δεξιά, χρωματίζοντάς τα.
- Δημιουργήστε ένα νέο περιβάλλον εκκίνησης σχεδιάζοντας ένα τετράγωνο με πλευρά 4 τετραγώνων στο πεδίο. Αποθηκεύστε τη ρύθμιση ως την αρχική.
- Δημιουργήστε ένα νέο περιβάλλον εκκίνησης σχεδιάζοντας έναν διάδρομο στο γήπεδο με περάσματα στους τοίχους. Αποθηκεύστε το περιβάλλον ως 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 από το Α στο Β
αρχή
. σωστά
. πάνω ; πάνω ;
σωστά ; κάτω ;
απατώ
κάτω ; σωστά