Το καθήκον του δασκάλου είναι να περπατήσει αυτό το μονοπάτι με τον μαθητή, όχι ασφαλίζοντας από αποτυχίες, αλλά αποτρέποντας την απογοήτευση λόγω πιθανές δυσκολίες. Είναι πολύ σημαντικό να οργανώνονται τα μαθήματα με τέτοιο τρόπο ώστε τα παιδιά να ανακαλύπτουν νέα πράγματα μόνα τους μέσα από δραστηριότητες με νόημα.
Πώς βοηθά ένα ρομπότ στην εκμάθηση της επιστήμης των υπολογιστών; Θα επισημάνω μόνο μερικά θέματα πληροφορικής στα οποία βασίζεται η ρομποτική.
Θέμα «Αρχεία και σύστημα αρχείων».
Ο μαθητής πήρε έναν μικροϋπολογιστή LEGO®NXT από το εκπαιδευτικό κιτ LEGO Mindstorms NXT Εκπαίδευση. Ελέγξτε το σύστημα αρχείωνεμφανίζεται με τυπικές εντολές, αλλά επειδή η ποσότητα της μνήμης δεν είναι μεγάλη, ο έλεγχος των απαραίτητων και περιττών πρέπει να παρακολουθείται συνεχώς. Για να εκφράσετε τις ενέργειες του ρομπότ, να εμφανίσετε μια εικόνα, να συμπληρώσετε τη βιβλιοθήκη των προγραμμάτων εργασίας, είναι απαραίτητο να λειτουργήσετε με τις βασικές έννοιες της επιστήμης των υπολογιστών: αρχείο, τύπος αρχείου, διαδρομή αρχείου, μενού, φάκελος.
Θέμα «Πληροφοριακές διαδικασίες», «Κωδικοποίηση πληροφοριών».
Το ρομποτικό κιτ είναι εξοπλισμένο με αισθητήρες που καταγράφουν πληροφορίες ήχου, αφής και βίντεο. Μετά την ψηφιοποίηση, οι πληροφορίες μπορούν να εμφανιστούν στην οθόνη ενδείξεων. Μια ειδική λειτουργία του μικροϋπολογιστή καθιστά δυνατό τον πειραματισμό με αισθητήρες, κινητήρες, χρησιμοποιώντας έτοιμα προς εκτέλεση προγράμματα. Μετά τη διεξαγωγή μιας σειράς πειραμάτων με αισθητήρες, προκύπτει μια κατανόηση: γιατί ένας αισθητήρας απόστασης υπερήχων είναι πιο αργός από έναν αισθητήρα υπέρυθρου φωτός, πώς ο ήχος μετατρέπεται σε ψηφιακό κώδικα και ούτω καθεξής. Η μελέτη των διαδικασιών πληροφοριών και των αρχών της κωδικοποίησης πληροφοριών δίνει μια βαθύτερη κατανόηση της ουσίας της τεχνολογίας πληροφοριών.

Θέμα «Τεχνολογίες επικοινωνίας».
Υποστηρίζει τεχνολογία LEGO®NXT Μικροϋπολογιστής ασύρματη επικοινωνία. Χρησιμοποιώντας τη λειτουργία Bluetooth, μπορείτε να ορίσετε ασύρματη σύνδεσημεταξύ του μικροϋπολογιστή NXT και άλλων συσκευών που διαθέτουν συσκευή Bluetooth, όπως άλλα NXT, με κινητά τηλέφωναή με υπολογιστές. Με ρύθμιση σύνδεση bluetooth, ίσως: λήψη προγραμμάτων από υπολογιστή από απόσταση. αποστολή προγραμμάτων από άλλες συσκευές (όχι από υπολογιστή), συμπεριλαμβανομένου του NXT. αποστολή προγραμμάτων τόσο σε μεμονωμένα NXT όσο και σε ομάδες τους. Αυτή η τεχνολογία καθιστά δυνατό τον έλεγχο του ρομπότ χρησιμοποιώντας ένα κινητό τηλέφωνο.

Θέματα «Αλγόριθμοι. Εκτελεστής αλγορίθμων», «Περιβάλλον προγραμματισμού».
Για μια αρχική εισαγωγή στο ρομπότ, μπορείτε να προγραμματίσετε απευθείας τη μονάδα NXT χωρίς πρόσβαση σε υπολογιστή. Απευθείας στην οθόνη προβολής, σύμφωνα με ένα πρότυπο πέντε εντολών, μπορείτε να συνθέσετε ένα απλό πρόγραμμακαι κυκλώστε το. Ωστόσο, δεν μπορεί κανείς να κάνει χωρίς τη γνώση βασικών αλγοριθμικών δομών και την ανάπτυξη του προγραμματιστικού περιβάλλοντος. Είναι η ικανότητα προγραμματισμού του ρομπότ που το καθιστά καθολικό εκτελεστή ικανό να λύνει μια ποικιλία εργασιών. Η έναρξη της εξοικείωσης με την τεχνολογία προγραμματισμού θα πρέπει να γίνει με οπτικά περιβάλλοντα προγραμματισμού και στη συνέχεια να προχωρήσουμε σε πιο ισχυρά και σύγχρονα περιβάλλοντα που βασίζονται σε εκδηλώσεις.
Έτσι, η ρομποτική απαιτεί βασικές γνώσεις της επιστήμης των υπολογιστών και η ανεξάντλητη επιθυμία του μαθητή να κάνει το ρομπότ του «το καλύτερο» τον ωθεί να κατακτήσει τη νέα γνώση.
Γιατί ένα ρομπότ μπορεί να ονομαστεί ιδανικό εργαλείο μάθησης; Επειδή αυτό το εργαλείο καθιστά δυνατή τη δημιουργία ενός περιβάλλοντος μάθησης που ανακτά τις φυσικές φιλοδοξίες του παιδιού να παίξει, να δημιουργήσει, να επικοινωνήσει με τους συνομηλίκους του. Έτσι, μπορούμε να επισημάνουμε τα πλεονεκτήματα της ρομποτικής ως μέσο εκπαίδευσης:
. Η αφομοίωση της γνώσης γίνεται κατά τη διάρκεια του παιχνιδιού.
. Η κατασκευή ρομπότ προσφέρει δημιουργική ελευθερία.
. Η επιθυμία να βελτιώσουν τη δουλειά τους είναι η πλειοψηφία των μαθητών.

Ως παράδειγμα, θα ήθελα να δώσω ένα μοντέλο του «Δωρεάν ρομπότ παράδοσης φαγητού», που δημιουργήθηκε από μαθητή της Στ΄ τάξης στο πλαίσιο του μαθήματος «Προγραμματισμός από ρομπότ» σε εξωσχολικές δραστηριότητες. Το ρομπότ είναι κατασκευασμένο από το σετ LEGO MINDSTORMS NXT Education 9797 χρησιμοποιώντας το τυπικό μοντέλο Alfarex 1.0 και ολοκληρώνεται με έναν χρωματικό αισθητήρα που υποδεικνύει την κατάσταση του ρομπότ και ένα δίσκο λιχουδιών.
Σκοπός της εργασίας είναι η εφαρμογή του μοντέλου ανθρώπινης βάδισης όσο το δυνατόν περισσότερο με τους διαθέσιμους πόρους. Η κίνηση κάθε σκέλους ελέγχεται από έναν κινητήρα και ένα μηχανικό συγκρότημα γραναζιών και μοχλών. Ο ένας μοχλός κινεί το πόδι πάνω-κάτω, ο άλλος το κινεί προς τα εμπρός. Σε αυτή την περίπτωση, το σώμα αποκλίνει προς το πόδι στήριξης, λόγω του οποίου το ρομπότ διατηρεί την ισορροπία. Αυτό το βάδισμα ονομάζεται "ανακάτεμα"
Ένας ξεχωριστός κινητήρας ελέγχει τον αισθητήρα απόστασης και τους μοχλούς που συγκρατούν τον αισθητήρα αφής και τον αισθητήρα χρώματος. Ο δίσκος για λιχουδιές είναι στερεωμένος ακίνητος.
Το ρομπότ είναι προγραμματισμένο να εκτελεί το ρόλο ενός μικροπωλητή, για παράδειγμα, δωρεάν λιχουδιές, σύμφωνα με τον ακόλουθο αλγόριθμο συμπεριφοράς. Το ρομπότ συνοδεύει την κίνησή του σε ευθεία γραμμή με τη φράση: «Είμαι ρομπότ Alpharex, σας περιποιούμαι δωρεάν!» Ένα άτομο που επιθυμεί να έρθει σε επαφή με το ρομπότ μπορεί να το σταματήσει με μια χειρονομία. Αφού σταματήσει, το ρομπότ λέει τη φράση: «Βοηθήστε τον εαυτό σας και πατήστε το κουμπί!». Λαμβάνοντας μια καραμέλα, ένα άτομο ως ένδειξη ευγνωμοσύνης πρέπει να πατήσει το κουμπί μία φορά. Τρία δευτερόλεπτα μετά τη διακοπή, το ρομπότ θα συνεχίσει την κίνησή του. Όταν τελειώσουν οι λιχουδιές (το ρομπότ είναι προγραμματισμένο για μια συγκεκριμένη ποσότητα γλυκών στο δίσκο), το ρομπότ θα πει αντίο, η κόκκινη ένδειξη θα ανάψει, το ρομπότ θα σταματήσει.

Το πρόγραμμα για τον έλεγχο του ρομπότ γράφτηκε στο περιβάλλον NXT Programming 2.0.

Γνωριμία με το πρόγραμμα Kumir με γνώμονα τα βασικά του προγραμματισμού.

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

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

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

Κατεβάστε:


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

Μεθοδική ανάπτυξη στην πληροφορική.

Θέμα: "Ρομπότ εκτελεστής στο πρόγραμμα KuMir σε μαθήματα πληροφορικής"

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

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

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

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

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

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

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

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

Συνεδρία 1 (2 ώρες) Μάθημα 1.

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

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

  1. Περιγραφή του UCS του εκτελεστή, του περιβάλλοντος του εκτελεστή.

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

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

Εξετάστε την περιγραφή του ερμηνευτή.

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

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

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

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

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

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

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

Εντολή υποκαταστήματος: cycle εντολή:

Εάν συνθήκη τότε nts ενώ συνθήκη

σειρά εντολών σειρά εντολών

όλα τα kts

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

Εντολή υποκαταστήματος: cycle εντολή:

Εάν συνθήκη τότε nts ενώ συνθήκη do

σειρά εντολών σειρά εντολών

τέλος τέλος

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

σε KIM έκδοση επίδειξηςΗ μορφή εντολής 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.

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

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

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

alg kim 2009

νωρίς

αν όχι ο πάτος χαλαρός

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

όλα

αν όχι ο πάτος χαλαρός

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

όλα

αν όχι ο πάτος χαλαρός

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

όλα

ενάντιος

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

alg kim 2010

νωρίς

αν όχι ο πάτος χαλαρός

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

όλα

αν όχι ο πάτος χαλαρός

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

όλα

αν όχι ο πάτος χαλαρός

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

όλα

ενάντιος

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

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

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

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

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

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

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

αλγ

νωρίς

nc ενώ δικαίωμα δωρεάν

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

kts

nc ενώ το κάτω μέρος είναι ελεύθερο

Βαφή πάνω? πολύ κάτω

kts

nc μέχρι να χαλαρώσει ο πάτος

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

kts

ενάντιος

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

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

αλγ

νωρίς

nc ενώ δικαίωμα δωρεάν

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

kts

ενάντιος

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

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

alg uch3

νωρίς

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

σωστά

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

έπειτα

ζωγραφίζω

όλα

kts

ενάντιος

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

alg uch4

νωρίς

βαφή;επάνω

nc μέχρι να χαλαρώσει σωστά

βαφή;πάνω;

kts

βαφή; σωστά

nc μέχρι να χαλαρώσει ο πάτος

βαφή;δεξιά;

kts

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

nc μέχρι να μείνει χαλαρό

βαφή;κάτω;

kts

βαφή, αριστερά

nc μέχρι πάνω χαλαρό

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

kts

ενάντιος

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

alg uch5

νωρίς

σωστά

nc μέχρι να χαλαρώσει ο πάτος

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

kts

Βαφή πάνω? πολύ κάτω

nc ενώ έμεινε ελεύθερο

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

kts

nc μέχρι να μείνει χαλαρό

Βαφή πάνω? πολύ κάτω

kts

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

nc ενώ κορυφαίο δωρεάν

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

kts

nc μέχρι πάνω χαλαρό

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

kts

ενάντιος

Δραστηριότητα 4 Μάθημα 1

Βοηθοί αλγόριθμοι.

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

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

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

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

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

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

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

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

Εργασία 1:

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

Λύση

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

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

Δραστηριότητα 4 Μάθημα 2

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

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

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

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

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

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

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

Δραστηριότητα 5 Μάθημα 1-2

Δοκιμή

«Σύνταξη του αλγορίθμου στο περιβάλλον του ρομπότ εκτελεστή».

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

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

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

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

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

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

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

κάνε ένα squat

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

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

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

κάνε ένα squat

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

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

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

Ποδηλασία με μετρητή.

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

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

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

<команда 1>

<команда 2>

<команда n>

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

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

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

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

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

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

Ιδού λοιπόν το δικό μας πρόγραμμα κύκλουθα μοιάζει με αυτό:

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

nc 7 φορές

ζωγραφίζω

σωστά

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

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

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

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

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

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

κάνε ένα squat

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

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

πάνω χαλαρό

κάτω χαλαρό

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

δικαίωμα δωρεάν

πάνω τοίχο

κάτω τοίχο

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

δεξιός τοίχος

Όμως στην συνθήκη του προβλήματος 19 του ΓΙΑ υποδεικνύονται μόνο τα πρώτα 4. Άρα θα χρησιμοποιήσουμε μόνο αυτά.

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

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

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

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

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

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

nc ενώ δικαίωμα δωρεάν

σωστά

ζωγραφίζω

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

Έμαθαν να το ρυθμίζουν για περαιτέρω δουλειά. Τώρα ας πάμε απευθείας στη μεταγλώττιση αλγορίθμων για το ρομπότ χρησιμοποιώντας απλές εντολές.

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

Κάθε εκτελεστής πρέπει να έχει σύστημα εντολών ( ΣΚΙσύστημα εντολών του εκτελεστή). Σύστημα εντολών εκτελεστή- το σύνολο όλων των εντολών που μπορεί να εκτελέσει ο εκτελεστής. Ως παράδειγμα, σκεφτείτε έναν εκπαιδευμένο σκύλο. Ξέρει πώς να εκτελεί ορισμένες εντολές - "Κάτσε", "Ξάπλωσε", "Επόμενο", κ.λπ. Αυτό είναι το σύστημα εντολών της.

Απλές εντολές ρομπότ

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

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

Το αποτέλεσμα της εκτέλεσης αυτών των εντολών είναι ξεκάθαρο από το όνομά τους:

  1. πάνω— μετακινήστε το Robot ένα κελί προς τα πάνω
  2. πολύ κάτω— μετακινήστε το Robot ένα κελί προς τα κάτω
  3. αριστερά— μετακινήστε το Robot ένα κελί προς τα αριστερά
  4. σωστά— μετακινήστε το Robot ένα κελί προς τα δεξιά
  5. ζωγραφίζω— ζωγραφίστε το τρέχον κελί (το κελί στο οποίο βρίσκεται το ρομπότ).

Αυτές οι εντολές μπορούν να γραφτούν από το πληκτρολόγιο ή μπορείτε να χρησιμοποιήσετε πλήκτρα συντόμευσης (πατώντας τα, οι εντολές θα εισαχθούν αυτόματα):

  • επάνω - Escape, Up (επάνω βέλος)
  • κάτω - Escape, Down (κάτω βέλος)
  • αριστερά - Escape, Αριστερά (αριστερό βέλος)
  • δεξιά - Escape, Right (δεξί βέλος)
  • ζωγραφίζω - Escape, Space (χώρος)

Λάβετε υπόψη ότι πρέπει να καλέσετε τον επιθυμητό συνδυασμό πλήκτρων συντόμευσης όχι με τον συνηθισμένο τρόπο!Έχουμε συνηθίσει να πατάμε ταυτόχρονα πλήκτρα, αλλά εδώ χρειάζονται πατήστε διαδοχικά. Για παράδειγμα, για να εισαγάγετε την εντολή επάνω, πρέπει να πατήσετε Escape, να την αφήσετε και, στη συνέχεια, να πατήσετε το επάνω βέλος. Αυτό πρέπει να το θυμόμαστε.

Τώρα είμαστε έτοιμοι να γράψουμε τον πρώτο αλγόριθμο για το Ρομπότ. Προτείνω να ξεκινήσετε με ένα απλό - σχεδιάστε ένα τετράγωνο με πλευρά 3 κελιών. Πηγαίνω!

Ξεκινάμε το Idol, αυτό. Μπορώ να ξεκινήσω να γράφω ένα πρόγραμμα; Φυσικά και όχι! Δεν είμαστε! Ας το κάνουμε. Προτείνω να χρησιμοποιήσετε αυτό:

Τώρα όλα είναι έτοιμα. Ας αρχίσουμε να γράφουμε το πρόγραμμα. Αρκεί να μοιάζει έτσι

Διαγράψτε το σύμβολο "|" και ονομάζουμε τον αλγόριθμό μας "Τετράγωνο"

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

Ας προσπαθήσουμε να τρέξουμε το πρόγραμμα και να δούμε τι έγινε. Πατήστε για εκκίνηση F9ή το κουμπί στη γραμμή εργαλείων

Ως αποτέλεσμα, θα πρέπει να δούμε κάτι τέτοιο

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

Τώρα θα μετακινηθούμε προς τα κάτω και θα ζωγραφίσουμε τη δεξιά πλευρά του τετραγώνου:

πολύ κάτω

ζωγραφίζω

πολύ κάτω

ζωγραφίζω

Μετά πάμε αριστερά, ζωγραφίζοντας το κάτω περίγραμμα του τετραγώνου

αριστερά

ζωγραφίζω

αριστερά

ζωγραφίζω

Έχουμε ένα άβαφο κελί. Ας το ζωγραφίσουμε

πάνω

ζωγραφίζω

Όλα είναι έτοιμα! Ως αποτέλεσμα, το πρόγραμμά μας μοιάζει με αυτό:

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

αλγ τετράγωνο

νωρίς

ζωγραφίζω

σωστά

ζωγραφίζω

σωστά

ζωγραφίζω

πολύ κάτω

ζωγραφίζω

πολύ κάτω

ζωγραφίζω

Ρομπότ ελέγχου εκτελεστών στο σύστημα KUMIR

Το ρομπότ υπάρχει σε ένα συγκεκριμένο περιβάλλον (ορθογώνιο καρό πεδίο). Οι τοίχοι μπορούν να βρίσκονται ανάμεσα σε ορισμένα κελιά του πεδίου. Ορισμένα κελιά ενδέχεται να είναι σκιασμένα (Εικ. 3.11).

Το ρομπότ καταλαμβάνει ακριβώς ένα κελί του πεδίου.

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

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

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

Ο
λάθη: 1 συντακτικό; 2. λογικό

Οι περιγραφές της σκηνής αποθηκεύονται σε αρχεία κειμένουειδική μορφή (μορφή .fil).

Ρεύμα- το περιβάλλον στο οποίο βρίσκεται το ρομπότ αυτή τη στιγμή(συμπεριλαμβανομένων πληροφοριών σχετικά με τη θέση του ρομπότ).

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

ΔΙΑΔΙΚΑΣΙΑ ΛΕΙΤΟΥΡΓΙΑΣ:


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

2. Προσδιορίστε τον Ανάδοχο:

Εισαγωγή μενού → Χρήση ρομπότ

3. Γράψτε έναν αλγόριθμο για την επίλυση του προβλήματος.

4. Εκτελέστε τον αλγόριθμο (Μενού Εκτέλεση → Συνεχής εκτέλεση / F9)

Το σύστημα εντολών του ρομπότ εκτελεστή στο σύστημα KUMIR


Ομάδα

Δράση

πάνω

Το ρομπότ ανεβαίνει 1 κελί

πολύ κάτω

Το ρομπότ κινείται προς τα κάτω 1 κελί

αριστερά

Το ρομπότ μετακινεί 1 κελί προς τα αριστερά

σωστά

Το ρομπότ μετακινεί 1 κελί προς τα δεξιά

ζωγραφίζω

Το ρομπότ ζωγραφίζει το κελί στο οποίο βρίσκεται

δικαίωμα δωρεάν

Το ρομπότ ελέγχει την εκτέλεση του αντίστοιχου απλόςόροι

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



πάνω χαλαρό



κάτω χαλαρό



το κελί είναι σκιασμένο



κλουβί καθαρό



Κυκλικοί αλγόριθμοι

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

Σώμα βρόχου -ένα σύνολο επαναλαμβανόμενων ενεργειών.

Κατάσταση - Boolean έκφραση (απλή ή σύνθετη (σύνθετη))
Τύποι κύκλου:

1.Βρόχος "Επανάληψη n φορές" 2. Επανάληψη "Αντίο"
nc n φορές nts αντίο
. . Σώμα βρόχου. . Σώμα βρόχου
kts kts

Παράδειγμα: nts αντίοδικαίωμα δωρεάν


Γενική προβολή του κύκλου "Επανάληψη n φορές:

ΕΠΑΝΑΛΗΨΗ n ΦΟΡΕΣ

ΤΟ ΤΕΛΟΣ
kts

Γενική άποψη του βρόχου while:

ΕΝΩ ΝΑ ΚΑΝΟΥΜΕ

ΤΟ ΤΕΛΟΣ
Σύνθετες συνθήκεςσχηματίζεται από ένα ή περισσότερα απλές συνθήκεςκαι λόγια υπηρεσίας ΚΑΙ, Ή, ΟΧΙ.


Σύνθετη κατάσταση Α και Β(όπου Α, Β είναι απλές συνθήκες) ικανοποιείται όταν ικανοποιείται καθεμία από τις δύο απλές συνθήκες που περιλαμβάνονται σε αυτήν.

Αφήστε τον Α - δωρεάν στην κορυφήΣΤΟ - δωρεάν στα δεξιάτότε η σύνθετη συνθήκη Α και Β- δωρεάν στην κορυφή ΚΑΙ δωρεάν στα δεξιά.


Σύνθετη κατάσταση Α Ή Β ικανοποιείται όταν ικανοποιείται τουλάχιστον μία από τις δύο απλές προϋποθέσεις που περιλαμβάνονται σε αυτήν: επάνω δωρεάν Ή δικαίωμα δωρεάν
Σύνθετη κατάσταση ΔΕΝ ΕΙΝΑΙ- πληρούται όταν δεν πληρούται η προϋπόθεση Α.

Παράδειγμα:Έστω A ένα σκιασμένο κελί (απλή συνθήκη).

Π Έλεγχος της συνθήκης της ένωσης ΟΧΙ Α:

α) Α - έγινε, ΟΧΙ Α (ΟΧΙ σκιασμένο) - δεν έγινε.

β) Α ​​- δεν έγινε, ΟΧΙ Α (ΟΧΙ σκιασμένο) - έγινε.


Εντολή υποκαταστήματος

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

Γενική άποψη της εντολής IF:

ΑΝ ΕΠΕΙΤΑ ΣΕ ΔΙΑΦΟΡΕΤΙΚΗ ΠΕΡΙΠΤΩΣΗ

ΤΟ ΤΕΛΟΣ

Στη γλώσσα KUMIR:

Πλήρης διακλάδωση: Μερική διακλάδωση:
αν έπειτα αν έπειτα

σε διαφορετική περίπτωση

όλα όλα

Βοηθητικός αλγόριθμος- ένας αλγόριθμος που λύνει κάποιο υποπρόβλημα του κύριου προβλήματος.

Στο σύστημα KUMIR, οι βοηθητικοί αλγόριθμοι γράφονται στο τέλος του κύριου προγράμματος (μετά επίσημη λέξη ενάντιος) καλούνται για εκτέλεση στο κύριο πρόγραμμα ονομαστικά.

ΣΤΟ έρευνες και εργασίες

1. Δώστε όλους τους αλγόριθμους των τριών εντολών που θα μετακινήσουν το Ρομπότ από την αρχική του θέση στο κελί Β.

Υπάρχει αλγόριθμος για αυτήν την εργασία, κατά την οποία το ρομπότ κάνει:

α) δύο βήματα β) τέσσερα βήματα. γ) πέντε βήματα. δ) επτά βήματα;


  1. Ο Petya έφτιαξε έναν αλγόριθμο που μεταφέρει το ρομπότ από το κελί Α στο κελί Β με μερικά κελιά ζωγραφισμένα. Τι πρέπει να κάνει ο Κόλια με αυτόν τον αλγόριθμο για να αποκτήσει έναν αλγόριθμο που θα μεταφέρει το ρομπότ από το Β στο Α και θα γεμίσει τα ίδια κελιά;


7. Είναι γνωστοί δύο βοηθητικοί αλγόριθμοι ρομπότ

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


ένα)

nc 5 φορές


πρότυπο_1

σωστά; σωστά;


σι)

nc 7 φορές


πρότυπο_2

σωστά; σωστά


σε)
σωστά; σωστά; σωστά

πάνω; πάνω

σωστά; σωστά; σωστά

πολύ κάτω; πολύ κάτω


ΣΟΛ)
σωστά; σωστά
σωστά; σωστά

8. Δημιουργήστε αλγόριθμους με τους οποίους το ρομπότ θα ζωγραφίσει πάνω από τα καθορισμένα κελιά:



9. Είναι γνωστό ότι κάπου στα δεξιά του Ρομπότ υπάρχει ένας τοίχος. Δημιουργήστε έναν αλγόριθμο, υπό τον έλεγχο του οποίου το Ρομπότ θα ζωγραφίσει πάνω από μια σειρά από κελιά μέχρι τον τοίχο και θα επιστρέψει στην αρχική του θέση.

10. Είναι γνωστό ότι κάπου στα δεξιά του Ρομπότ υπάρχει ένα σκιασμένο κελί.

ΑΠΟ αφήστε τον αλγόριθμο, υπό τον έλεγχο του οποίου το Ρομπότ θα ζωγραφίσει έναν αριθμό κελιών μέχρι το σκιασμένο κελί και θα επιστρέψει στην αρχική του θέση.

11. Είναι γνωστό ότι το Ρομπότ βρίσκεται κοντά στην αριστερή είσοδο του οριζόντιου διαδρόμου.

12. Είναι γνωστό ότι το Ρομπότ βρίσκεται κάπου στον οριζόντιο διάδρομο. Κανένα από τα κελιά του διαδρόμου δεν είναι βαμμένο.

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


13. Σε μια σειρά δέκα κελιών στα δεξιά του ρομπότ, ορισμένα κελιά είναι σκιασμένα.

ΑΠΟ αφήστε τον αλγόριθμο που ζωγραφίζει τα κελιά:

α) κάτω από κάθε σκιασμένο κελί.

β) πάνω και κάτω από κάθε σκιασμένο κελί.


14. Τι μπορεί να ειπωθεί για την ορθότητα του παρακάτω τμήματος του αλγορίθμου;

nts αντίοτο κελί είναι σκιασμένο

ΑΝδικαίωμα δωρεάν ΕΠΕΙΤΑ

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

προς την
ντο

15. Γράψτε ένα πρόγραμμα με το οποίο το Ρομπότ μπορεί να φτάσει στο κελί Β και στους τρεις λαβύρινθους.


16. Γράψτε ένα πρόγραμμα, μετά από το οποίο το Ρομπότ θα μπορεί να πάει κατά μήκος του διαδρόμου από την κάτω αριστερή γωνία του χωραφιού προς την επάνω δεξιά. Ο διάδρομος έχει πλάτος ενός κελιού και εκτείνεται προς την κατεύθυνση από αριστερά-κάτω-δεξιά-επάνω. Ένα παράδειγμα πιθανού διαδρόμου φαίνεται στο σχήμα.

W

adachi GIA


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

  1. Προς την
    Απαραίτητη

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

Μια πιθανή παραλλαγή της αρχικής θέσης του ρομπότ φαίνεται στο σχήμα (το ρομπότ υποδεικνύεται με το γράμμα "P")

Γράψτε έναν αλγόριθμο για το Ρομπότ που γεμίζει όλα τα κελιά μέσα στο διάδρομο και επαναφέρει το ρομπότ στην αρχική του θέση. Για παράδειγμα, για την παραπάνω εικόνα, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα ακόλουθα κελιά (βλ. εικόνα):


  1. Υπάρχει ένας μακρύς οριζόντιος τοίχος στο ατελείωτο χωράφι. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά ακριβώς πάνω από τον τοίχο. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις:
H


Απαραίτητη

Δεδομένος
Γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει όλα τα κελιά πάνω και δίπλα στον τοίχο, ανεξάρτητα από το μέγεθος του τοίχου και την αρχική θέση του ρομπότ. Για παράδειγμα, για το δεδομένο σχέδιο, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα ακόλουθα κελιά:

Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη. Κατά την εκτέλεση του αλγόριθμου, το Robot δεν πρέπει να καταστραφεί.



  1. Υπάρχει ένας μακρύς κατακόρυφος τοίχος στο άπειρο πεδίο. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά που βρίσκονται ακριβώς στα δεξιά του τοίχου. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις του ρομπότ φαίνεται στο σχήμα (το ρομπότ σημειώνεται με το γράμμα "P"): Γράψτε έναν αλγόριθμο για εργασία που ζωγραφίζει όλα τα κελιά δίπλα στον τοίχο: στα αριστερά, ξεκινώντας από την κορυφή άβαφο και μέσα από ένα? στα δεξιά, ξεκινώντας από κάτω σκιασμένο και μέσω ενός. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που ικανοποιούν αυτή η συνθήκη. Για παράδειγμα, για το παραπάνω σχήμα, το ρομπότ πρέπει να συμπληρώσει τα ακόλουθα κελιά (βλ. εικόνα): Η τελική θέση του ρομπότ μπορεί να είναι αυθαίρετη. Ο αλγόριθμος πρέπει να λύσει το πρόβλημα για ένα αυθαίρετο μέγεθος τοίχου και οποιαδήποτε έγκυρη αρχική θέση του ρομπότ. Κατά την εκτέλεση του αλγόριθμου, το ρομπότ δεν πρέπει να συμπτύσσεται.


Γράψτε έναν αλγόριθμο για το Ρομπότ που ζωγραφίζει όλα τα κελιά που βρίσκονται στα αριστερά του κατακόρυφου τοίχου και πάνω από τον οριζόντιο τοίχο και δίπλα τους. Το ρομπότ πρέπει να ζωγραφίζει μόνο τα κελιά που πληρούν αυτήν την προϋπόθεση. Για παράδειγμα, για την παραπάνω εικόνα, το ρομπότ πρέπει να ζωγραφίσει πάνω από τα παρακάτω κελιά (βλ. εικόνα).


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

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



R

  1. Υπάρχει ένας μακρύς κάθετος τοίχος στο ατελείωτο χωράφι. Το μήκος του τοίχου είναι άγνωστο. Το ρομπότ βρίσκεται σε ένα από τα κλουβιά που βρίσκονται ακριβώς στα αριστερά του τοίχου. Η αρχική θέση του ρομπότ είναι επίσης άγνωστη. Μία από τις πιθανές θέσεις του ρομπότ φαίνεται στο σχήμα (το ρομπότ σημειώνεται με το γράμμα "P"):
Γράψτε για εργασία έναν αλγόριθμο που ζωγραφίζει όλα τα κελιά που βρίσκονται δίπλα στον τοίχο:

  • όλα στα αριστερά?

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

σι
1102_GIA2011

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

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


ΣΤΟ
1103_GIA_2011


Υπάρχει ένα οριζόντιο τείχος στο άπειρο πεδίο. Το μήκος του τοίχου είναι άγνωστο. Από το δεξί άκρο του τοίχου εκτείνεται προς τα κάτω ένας κατακόρυφος τοίχος, επίσης άγνωστου μήκους. Το ρομπότ βρίσκεται πάνω από έναν οριζόντιο τοίχο σε ένα κλουβί που βρίσκεται στο αριστερό του άκρο. Το σχήμα δείχνει ένα από πιθανούς τρόπουςτη θέση των τοίχων και του Ρομπότ (το ρομπότ υποδεικνύεται με το γράμμα "P").

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