ამოცანები რობოტისთვის კერპში. შემსრულებელი რობოტი
ვისწავლეთ შემდგომი მუშაობისთვის თხოვნა. ახლა პირდაპირ გადავიდეთ რობოტისთვის ალგორითმების შედგენაზე მარტივი ბრძანებების გამოყენებით.
თუ გირჩევნიათ ინფორმაცია ვიდეო გაკვეთილის ფორმატში, მაშინ საიტზე არის ვიდეო გაკვეთილი
ნებისმიერ შემსრულებელს უნდა ჰქონდეს ბრძანების სისტემა ( SKI — შემსრულებელი ბრძანების სისტემა). შემსრულებელი ბრძანების სისტემა- ყველა ბრძანების ნაკრები, რომელიც შემსრულებელს შეუძლია შეასრულოს. მაგალითად, განვიხილოთ გაწვრთნილი ძაღლი. მან იცის როგორ შეასრულოს რამდენიმე ბრძანება - "დაჯექი", "დაწექი", "ახლო" და ა.შ. ეს არის მისი ბრძანებების სისტემა.
მარტივი რობოტის ბრძანებები
ჩვენს რობოტს ასევე აქვს ბრძანების სისტემა. დღეს ჩვენ გადავხედავთ რობოტის მარტივი ბრძანებები. სულ 5 მათგანია:
- ზევით
- დატოვა
- უფლება
- გადაღება
ამ ბრძანებების შესრულების შედეგი აშკარაა მათი სახელებიდან:
- ზევით- გადაიტანეთ რობოტი ერთი უჯრედით ზემოთ
- ქვემოთ- გადაიტანეთ რობოტი ერთი უჯრედით ქვემოთ
- დატოვა— გადაიტანეთ რობოტი ერთი უჯრედი მარცხნივ
- უფლება— გადაიტანეთ რობოტი ერთი უჯრედი მარჯვნივ
- გადაღება- დახატეთ მიმდინარე უჯრედზე (უჯრედი, რომელშიც მდებარეობს რობოტი).
ეს ბრძანებები შეიძლება დაიწეროს კლავიატურაზე, ან შეგიძლიათ გამოიყენოთ ცხელი კლავიშები (მათ დაჭერით, ბრძანებები ავტომატურად ჩაიდება):
- ზევით - გაქცევა, ზემოთ (ზემო ისარი)
- ქვემოთ - გაქცევა, ქვევით (ქვემოთ ისარი)
- მარცხნივ - გაქცევა, მარცხნივ (მარცხენა ისარი)
- მარჯვნივ - გაქცევა, მარჯვნივ (მარჯვენა ისარი)
- ხატვა – გაქცევა, სივრცე (სივრცე)
გთხოვთ გაითვალისწინოთ, რომ თქვენ უნდა შეიყვანოთ ცხელი კლავიშების სასურველი კომბინაცია არა ისე, როგორც ჩვენ შეჩვეული ვართ!ჩვენ მიჩვეული ვართ კლავიშების ერთდროულად დაჭერას, მაგრამ აქ ისინი გვჭირდება დააჭირეთ თანმიმდევრულად. მაგალითად, up ბრძანების შესაყვანად, თქვენ უნდა დააჭიროთ Escape-ს, გაათავისუფლოთ იგი და შემდეგ დააჭიროთ ზემოთ ისარს. ეს უნდა ახსოვდეს.
ახლა ჩვენ მზად ვართ დავწეროთ რობოტის პირველი ალგორითმი. მე გთავაზობთ მარტივიდან დაწყებას - დახაზეთ კვადრატი 3 უჯრედის გვერდით. მოდით წავიდეთ!
მოდით გავუშვათ Idol, ის. შემიძლია პროგრამის წერა დავიწყო? რა თქმა უნდა არა! ჩვენ არ ვართ! მოდით გავაკეთოთ. მე გირჩევთ გამოიყენოთ ეს:
ახლა ყველაფერი მზადაა. დავიწყოთ პროგრამის წერა. მიუხედავად იმისა, რომ ის ასე გამოიყურება
"|" სიმბოლოს ამოღება და უწოდეთ ჩვენს ალგორითმს "კვადრატი"
მე გთავაზობთ კვადრატის დახატვას, საათის ისრის მიმართულებით მოძრაობას. პირველი, მოდით დავხატოთ მიმდინარე უჯრედი ბრძანების მიცემით გადაღება. შემდეგ ჩვენ ვდგამთ ნაბიჯს მარჯვნივ და ისევ ვხატავთ უჯრედს. და კიდევ ერთხელ გადადით მარჯვნივ და დახატეთ.
ვცადოთ პროგრამის გაშვება და ვნახოთ რა მოხდება. დასაწყებად დააჭირეთ F9ან ღილაკი ხელსაწყოების პანელზე
შედეგად, ჩვენ უნდა ვნახოთ ასეთი სურათი
თუ ასეთი რობოტის ფანჯარა არ გამოჩნდება თქვენთვის, მაშინ ინსტრუმენტთა პანელზე დააწკაპუნეთ “ რობოტის ფანჯრის ჩვენება"ან Robot მენიუში აირჩიეთ" რობოტის ფანჯრის ჩვენება". გავაგრძელოთ შემდგომ.
ახლა ჩვენ გადავალთ ქვემოთ და დავხატავთ მარჯვენა მხარეკვადრატი:
ქვემოთ
გადაღება
ქვემოთ
გადაღება
შემდეგ გადავიდეთ მარცხნივ, დავხატოთ კვადრატის ქვედა საზღვარი
დატოვა
გადაღება
დატოვა
გადაღება
დაგვრჩა ერთი შეუღებავი უჯრედი. მოდი დავხატოთ
ზევით
გადაღება
ყველაფერი მზადაა! შედეგად, ჩვენი პროგრამა ასე გამოიყურება:
გამოიყენეთ რობოტი
ალგ მოედანი
დასაწყისი
გადაღება
უფლება
გადაღება
უფლება
გადაღება
ქვემოთ
გადაღება
ქვემოთ
გადაღება
და დღეს ჩვენ ვისაუბრებთ ციკლებზე. მოდით გავარკვიოთ რა არის ციკლი და როგორ ვასწავლოთ ჩვენს რობოტს ციკლური ალგორითმების შესრულება.
ასე რომ, რა არის ციკლი? წარმოიდგინე, რომ კლასში ვართ ფიზიკური კულტურადა ჩვენ წინ გვაქვს ამოცანა გააკეთე 7 ჩაჯდომა. ეს დავალება შეიძლება დაიწეროს როგორც ხაზოვანი ალგორითმი და შემდეგ გამოიყურება ასე:
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ჩაჯდომის გაკეთება
ანუ 7-ჯერ გავიმეორეთ ბრძანება „გააკეთე ჩაჯდომა“. აქვს თუ არა აზრი 7 იდენტური ბრძანების დაწერას? შეიძლება უფრო ადვილი იყოს ბრძანების მიცემა გააკეთე 7 ჩაჯდომა? რა თქმა უნდა, ეს უფრო მარტივი და სწორია. ეს არის ციკლი. თქვენ შეგიძლიათ გაიხსენოთ ციკლების მაგალითები ცხოვრებიდან - საკმაოდ ბევრია.
ამგვარად ხაზოვანი ალგორითმი, სადაც იგივე ბრძანებები მეორდება შეგვიძლია მოვაწყოთ როგორც ციკლური ალგორითმი- რაღაც მსგავსი:
გაიმეორეთ 7 ჯერ
ჩაჯდომის გაკეთება
ციკლის დასასრული
ასე შევქმენით ციკლი ჩვენს მიერ გამოგონილ ენაზე. Robot შემსრულებელს ასევე აქვს ციკლების ჩაწერის შესაძლებლობა. უფრო მეტიც, ციკლები განსხვავებულია. ვარიანტს, რომელსაც ჩვენ ახლახან შევხედეთ, ჰქვია მარყუჟი მრიცხველითან მარყუჟი პარამეტრით.
ციკლების სახეები.
მარყუჟი მრიცხველით.
მარყუჟი მრიცხველითგამოიყენება მაშინ, როდესაც წინასწარ არის ცნობილი, რამდენი გამეორებაა საჭირო. ზემოთ მოყვანილ მაგალითში ჩაჯდომასთან დაკავშირებით, ეს ზუსტად ასეა.
იმისათვის, რომ დაწეროთ ციკლი შემსრულებლისთვის, თქვენ უნდა იცოდეთ მისი სინტაქსი. და ის ასეთია:
nc<გამეორებების რაოდენობა> ჯერ
<команда 1>
<команда 2>
…
<команда n>
აქ უნდა მივუთითოთ გამეორებების რაოდენობა (რიცხვი) და ბრძანებები, რომლებიც განმეორდება. ბრძანებები, რომლებიც მეორდება ციკლში, ეწოდება მარყუჟის სხეული.
მოდით შევხედოთ ამას მაგალითით.
თავდაპირველად, რობოტი ზედა მარცხენა საკანში იყო.
ჯერ პრობლემა წრფივად გადავჭრათ. ამ შემთხვევაში, ჩვენ დავხატავთ მიმდინარე უჯრედს და გადავაადგილებთ 1 უჯრედს მარჯვნივ და პროგრამა ასე გამოიყურება:
გამოიყენეთ რობოტი
ალგ
დასაწყისი
გადაღება
უფლება
გადაღება
უფლება
გადაღება
უფლება
გადაღება
უფლება
გადაღება
უფლება
გადაღება
უფლება
გადაღება
უფლება
როგორც ხედავთ, ბრძანებები ხატვისა და მარჯვნივ მეორდება 7-ჯერ. მოდით ახლა გადავიწეროთ პროგრამა მარყუჟის გამოყენებით. სხვათა შორის, თქვენს პროგრამაში ციკლის ჩასასმელად, შეგიძლიათ მენიუში გადასვლა ჩასმააირჩიეთ ელემენტი ცკ-ცკ-ცკან დააჭირეთ კლავიშთა ერთ-ერთ კომბინაციას ესკი, პ(რუსული ასო R) ან ესკი, ჰ(ლათინური ასო H). მეტიც ღილაკები თანმიმდევრულად უნდა დააჭიროთ- ჯერ Esc, გამოუშვით და მხოლოდ ამის შემდეგ P ან H.
ასე რომ, აქ არის ჩვენი მარყუჟის პროგრამაასე გამოიყურება:
გამოიყენეთ რობოტი
nts 7-ჯერ
გადაღება
უფლება
თუ გავუშვით, დავინახავთ, რომ შედეგი იგივე იქნება - 7 შევსებული უჯრედი. თუმცა, პროგრამა გახდა უფრო მოკლე და ბევრად უფრო ინტელექტუალური ალგორითმული თვალსაზრისით!
როგორც გახურება და გამაგრება, გირჩევთ, თავად დაწეროთ პროგრამა რობოტისთვის, რომელიც დახაზავს კვადრატს 7 უჯრედის გვერდით. ბუნებრივია, მარყუჟის გამოყენებით. ველოდები გამოსავალს კომენტარებში.
პირობითი მარყუჟი.
კომპიუტერულ მეცნიერებაში სახელმწიფო აკადემიური ინფორმატიკის მე-19 ამოცანის რობოტით გადაჭრისას, მრიცხველის მქონე მარყუჟის გამოყენება არ გამოდგება. ვინაიდან ველი იქ, როგორც წესი, გაუთავებელია და კედლებს კონკრეტული სიგრძე არ აქვთ. აქედან გამომდინარე, ჩვენ ვერ შევძლებთ განვსაზღვროთ გამეორებების რაოდენობა ციკლისთვის მრიცხველით. მაგრამ არ აქვს მნიშვნელობა - ეს დაგვეხმარება მარყუჟი პირობით.
დავუბრუნდეთ ფიზიკურ აღზრდას და შევცვალოთ პრობლემა. ვიღაცამ ხომ შეიძლება 7 ჩაჯდომა ვერ შეძლოს, მეორემ კი 27. შესაძლებელია თუ არა ამის გათვალისწინება ციკლის შექმნისას? რა თქმა უნდა. მხოლოდ ახლა გამოვიყენებთ არა მრიცხველს (გამეორებების რაოდენობას), არამედ პირობას. მაგალითად, სანამ არ დაიღლებით, გააკეთეთ squats. ამ შემთხვევაში ადამიანი არ გააკეთებს ჩაჯდომას კონკრეტულ რაოდენობას, არამედ დაიღლება მანამ, სანამ არ დაიღლება. და ჩვენი ციკლი აბსტრაქტულ ენაში მიიღებს შემდეგ ფორმას:
ნახვამდის არ დაიღალა
ჩაჯდომის გაკეთება
ციკლის დასასრული
სიტყვები არ სცალია ჩვენ შემთხვევაში - ეს პირობაა. როდესაც true, მარყუჟი შესრულებულია. თუ ის ყალბია (დაღლილი), მარყუჟის სხეული არ შესრულდება. რობოტის შემსრულებელს რამდენიმე პირობა აქვს
უფასო თავზე
თავისუფალი ქვემოდან
თავისუფალი დარჩა
თავისუფალი მარჯვნივ
კედელი ზემოთ
კედელი ქვემოთ
მარცხენა კედელი
კედელი მარჯვნივ
მაგრამ GIA-ს 19-ე დავალების პირობებში მითითებულია მხოლოდ პირველი 4, ასე რომ, ჩვენ მხოლოდ მათ გამოვიყენებთ.
ახლა მოდით გადავწყვიტოთ რობოტის შემდეგი ამოცანა - გავავლოთ ვერტიკალური ხაზი ველის მარცხნიდან მარჯვენა საზღვრამდე მარყუჟის გამოყენებით. თავდაპირველად, რობოტი მდებარეობს ზედა მარცხენა კუთხეში.
ჯერ ჩამოვაყალიბოთ ვერბალური ალგორითმი – ანუ სიტყვებით აღვწეროთ რა უნდა გააკეთოს რობოტმა. ეს ალგორითმი დაახლოებით ასე ჟღერს:
« სანამ მარჯვნივ არის თავისუფალი ადგილი, გადადგით ნაბიჯი მარჯვნივ და დახატეთ უჯრედი »
შედეგად, რობოტი გაივლის ყველა უჯრედს მარჯვნივ და ხატავს მათ მანამ, სანამ კედელი არ იქნება მარჯვნივ.
რობოტისთვის ჩვენი პროგრამის წყაროს კოდი დაახლოებით ასეთი იქნება:
გამოიყენეთ რობოტი
nts უფლება ამჟამად თავისუფალია
უფლება
გადაღება
ამ პროგრამის შესრულების შედეგად ჩვენ ვნახავთ შემდეგ სურათს:
Executor Robot Command სისტემა შემსრულებლისთვის Robot Move ბრძანებები: ზევით, ქვევით, მარცხნივ, მარჯვნივ რობოტი მოძრაობს ერთი უჯრედის ზემოთ, ქვემოთ, მარცხნივ, მარჯვნივ. paint ბრძანება ხატავს უჯრედს, რომელშიც დგას რობოტი. მდგომარეობის სიმართლის შემოწმება: ზევით თავისუფალი, ქვემოდან თავისუფალი, მარცხნივ თავისუფალი, მარჯვნივ თავისუფალი რობოტი ამოწმებს იმ პირობის ჭეშმარიტებას, რომ არ არის კედელი საკანში, სადაც რობოტი მდებარეობს. თქვენ შეგიძლიათ გამოიყენოთ შედგენილი პირობების აღნიშვნა ლოგიკური ოპერაციებიდა, ან, არა.
Performer Robot გარემოს პირდაპირი რედაქტირება გარემოს რედაქტირების ყველა ბრძანება შესრულებულია მაუსის გამოყენებით: მოათავსეთ/ამოიღეთ კედელი - დააწკაპუნეთ უჯრედებს შორის საზღვარზე, დახატეთ / გაასუფთავეთ უჯრედი - დააწკაპუნეთ უჯრედზე, გადაიტანეთ რობოტი - გადაიტანეთ მაუსი. სასურველ უჯრედამდე.
აღმასრულებელი Robot მენიუს ბრძანებები Robot Show Robot ველი ხდის Robot დაკვირვების ფანჯარას ხილულს. ბეჭდვის პარამეტრი ქმნის ფაილს PDF ფორმატში, რომელიც ასახავს მიმდინარე ვითარებას ფერად ან შავ-თეთრად. შეინახეთ გარემო ფაილში Creates ტექსტური ფაილისიტუაციის აღწერით შიდა *.fil ფორმატში. ეს ფაილი შეიძლება მოგვიანებით ჩაიტვირთოს, როგორც საწყისი გარემო (ბრძანება Change starting environment) ან საწყისი გარემოს რედაქტირებისას (Open starting environment editing window ბრძანება). საწყისი გარემოს შეცვლა აყენებს ახალი საწყისი გარემოს ფაილის სახელს (სტანდარტული დიალოგის გამოყენებით) და იტვირთება ახალი საწყისი გარემო. საწყის გარემოში დაბრუნება აქცევს საწყის გარემოს აქტუალურს.
შემსრულებლის რობოტი არსებული სიტუაციის სურათი დაკვირვების ფანჯარაში მიმდინარე გარემოს სურათი ყოველთვის მთლიანად მოთავსებულია Robot-ის დაკვირვების ფანჯრის სამუშაო ველში. სამუშაო ველის ფონი მწვანეა. შევსებული უჯრედები ნაცრისფერია. უჯრედებს შორის არის თხელი შავი ხაზები. კედლები ნაჩვენებია სქელი ყვითელი ხაზების სახით. დაკვირვების ფანჯრის სამუშაო ველის უჯრედში რობოტი გამოსახულია ალმასის სახით.
შემსრულებელი რობოტის მაგალითი 1. შევქმნათ ალგორითმი სახელწოდებით „რაინდის მოძრაობა“, რათა რობოტმა შეძლოს A წერტილიდან B წერტილამდე გადასვლა (ნახ. 3). ალგორითმი ჰგავს (ნახ. 4.). მისი შესრულების შემდეგ რობოტი გადავა სასურველ წერტილში (სურ. 5). შემსრულებლის ენაზე დაწერილ ალგორითმს პროგრამა ეწოდება. სურ.3ნახ.4 ნახ.5
მასწავლებლის ამოცანაა გაიაროს ეს გზა მოსწავლესთან ერთად, არა დაზღვეული წარუმატებლობისგან, არამედ თავიდან აიცილოს იმედგაცრუება შესაძლო სირთულეების გამო. ძალიან მნიშვნელოვანია კლასების ორგანიზება ისე, რომ ბავშვებმა თავად აღმოაჩინონ ახალი რამ მათთვის მნიშვნელოვანი აქტივობებით.
როგორ ეხმარება რობოტი კომპიუტერული მეცნიერების შესწავლაში? მე მივუთითებ მხოლოდ რამდენიმე კომპიუტერული მეცნიერების თემას, რომლებზეც დაფუძნებულია რობოტიკა.
თემა "ფაილები და ფაილური სისტემა".
სტუდენტს ხელთ ჰქონდა LEGO®NXT მიკროკომპიუტერი სასწავლო კომპლექტიდან LEGO Mindstorms NXT განათლება. აკონტროლე ფაილური სისტემახდება სტანდარტული ბრძანებების გამოყენებით, მაგრამ რადგან მეხსიერების მოცულობა არ არის დიდი, კონტროლი იმაზე, თუ რა არის საჭირო და რა არ არის საჭირო, მუდმივად უნდა განხორციელდეს. რობოტის მოქმედებების გასახმოვანებლად, სურათის ჩვენების ან სამუშაო პროგრამების ბიბლიოთეკაში დასამატებლად, თქვენ უნდა იმოქმედოთ კომპიუტერული მეცნიერების ძირითადი ცნებებით: ფაილი, ფაილის ტიპი, ფაილის გზა, მენიუ, საქაღალდე.
თემა: „საინფორმაციო პროცესები“, „ინფორმაციის კოდირება“.
რობოტული ნაკრები აღჭურვილია სენსორებით, რომლებიც ჩაწერენ აუდიო, ტაქტილურ და ვიდეო ინფორმაციას. მას შემდეგ რაც ციფრული გახდება, ინფორმაცია შეიძლება გამოჩნდეს ჩვენების ეკრანზე. მიკროკომპიუტერის სპეციალური ფუნქცია შესაძლებელს ხდის ექსპერიმენტებს სენსორებთან და ძრავებთან მზა პროგრამების გამოყენებით. სენსორებით ექსპერიმენტების სერიის ჩატარების შემდეგ ჩნდება გაგება: რატომ მუშაობს ულტრაბგერითი მანძილის სენსორი უფრო ნელა ვიდრე ინფრაწითელი სინათლის სენსორი, როგორ იქცევა ხმა ციფრულ კოდად და ა.შ. საინფორმაციო პროცესებისა და ინფორმაციის კოდირების პრინციპების შესწავლა უზრუნველყოფს საინფორმაციო ტექნოლოგიების არსის უფრო ღრმად გააზრებას.
თემა: საკომუნიკაციო ტექნოლოგიები.
LEGO®NXT მიკროკომპიუტერი მხარს უჭერს ტექნოლოგიას უკაბელო კომუნიკაცია. Bluetooth ფუნქციის გამოყენებით შეგიძლიათ დააყენოთ უკაბელო კავშირი NXT მიკროკომპიუტერსა და სხვა მოწყობილობებს შორის, რომლებსაც აქვთ Bluetooth მოწყობილობა, მაგალითად, სხვა NXT-თან ერთად მობილური ტელეფონებიან კომპიუტერებით. Bluetooth კავშირის დამყარებით შესაძლებელია: პროგრამების ჩამოტვირთვა კომპიუტერიდან დისტანციურად; პროგრამების გაგზავნა სხვა მოწყობილობებიდან (არა კომპიუტერიდან), მათ შორის NXT-დან; გაუგზავნეთ პროგრამები როგორც ცალკეულ NXT-ებს, ასევე მათ ჯგუფებს. ეს ტექნოლოგია შესაძლებელს ხდის რობოტის მართვას მობილური ტელეფონის გამოყენებით.
თემები „ალგორითმები. ალგორითმის შემსრულებელი“, „პროგრამირების გარემო“.
რობოტთან პირველადი გაცნობისთვის შეგიძლიათ პირდაპირ NXT განყოფილების დაპროგრამება კომპიუტერთან წვდომის გარეშე. პირდაპირ ეკრანზე, ხუთი ბრძანების შაბლონის გამოყენებით, შეგიძლიათ შექმნათ მარტივი პროგრამადა გაატარეთ იგი. თუმცა, შეუძლებელია ძირითადი ალგორითმული სტრუქტურების ცოდნისა და პროგრამირების გარემოს დაუფლების გარეშე. ეს არის რობოტის დაპროგრამების უნარი, რაც მას უნივერსალურ შემსრულებლად აქცევს, რომელსაც შეუძლია სხვადასხვა პრობლემების გადაჭრა. თქვენ უნდა დაიწყოთ პროგრამირების ტექნოლოგიის დაუფლება ვიზუალური პროგრამირების გარემოებით, შემდეგ გადახვიდეთ უფრო მძლავრ და თანამედროვე მოვლენებზე ორიენტირებულ გარემოზე.
ამრიგად, რობოტიკა მოითხოვს კომპიუტერული მეცნიერების საბაზისო ცოდნას და სტუდენტის ამოუწურავი სურვილი, რომ თავისი რობოტი "საუკეთესო" გახდეს, უბიძგებს მას დაეუფლოს ახალ ცოდნას.
რატომ შეიძლება ეწოდოს რობოტს იდეალური სასწავლო ინსტრუმენტი? იმის გამო, რომ ეს ინსტრუმენტი შესაძლებელს ხდის შექმნას სასწავლო გარემო, რომელიც გამოიყენებს ბავშვის ბუნებრივ სურვილებს თამაშის, შექმნისა და თანატოლებთან ურთიერთობისთვის. ამრიგად, ჩვენ შეგვიძლია გამოვყოთ რობოტიკის, როგორც სასწავლო ინსტრუმენტის უპირატესობები:
. ცოდნის შეძენა ხდება თამაშის დროს.
. რობოტის შექმნა გთავაზობთ შემოქმედებით თავისუფლებას.
. სტუდენტების უმეტესობას აქვს სურვილი გააუმჯობესოს სამუშაო.
მაგალითად, მინდა მოვიყვანო კლასგარეშე აქტივობების დროს მე-6 კლასის მოსწავლის მიერ შექმნილი „რობოტების პროგრამირების“ კურსის „რობოტის პროგრამირების“ მოდელის მოდელი. რობოტი აწყობილია LEGO MINDSTORMS NXT Education 9797 კომპლექტიდან სტანდარტული Alpharex 1.0 მოდელის მიხედვით და მას ავსებს ფერის სენსორი, რომელიც მიუთითებს რობოტის სტატუსზე და ლანგარზე.
სამუშაოს მიზანია ადამიანის სიარულის მოდელის შეძლებისდაგვარად დანერგვა არსებული რესურსებით. თითოეული ფეხის მოძრაობა კონტროლდება ძრავით და გადაცემათა და ბერკეტების მექანიკური შეკრებით. ერთი ბერკეტი აწევს ფეხს ზევით-ქვევით, მეორე კი წინ. ამ შემთხვევაში სხეული გადაიხრება საყრდენი ფეხისკენ, რის გამოც რობოტი ინარჩუნებს წონასწორობას. ამ სიარულის ეწოდება "არევა"
ცალკე ძრავა აკონტროლებს დისტანციის სენსორს და ბერკეტის მკლავებს, რომლებიც იკავებენ შეხების სენსორს და ფერის სენსორს. სამკურნალო უჯრა ფიქსირდება.
რობოტი დაპროგრამებულია, რომ იმოქმედოს როგორც მიმწოდებელი, მაგალითად, უფასო კერძები, შემდეგი ქცევის ალგორითმის მიხედვით. რობოტი თავის მოძრაობას თან ახლავს პირდაპირი ფრაზით: "მე ვარ რობოტი ალფარექსი, მე გთავაზობთ უფასო სიამოვნებას!" ადამიანს, რომელსაც სურს რობოტთან კონტაქტის დამყარება, შეუძლია მისი შეჩერება ჟესტით. გაჩერების შემდეგ რობოტი ამბობს ფრაზას: "დაეხმარე საკუთარ თავს და დააჭირე ღილაკს!" კანფეტის მიღების შემდეგ ადამიანმა მადლიერების ნიშნად ერთხელ უნდა დააჭიროს ღილაკს. გაჩერებიდან სამი წამის შემდეგ რობოტი განაგრძობს მოძრაობას. როდესაც კერძები ამოიწურება (რობოტი დაპროგრამებულია ისე, რომ უჯრაზე ჰქონდეს ტკბილეულის გარკვეული რაოდენობა), რობოტი დაემშვიდობება, წითელი მაჩვენებელი აინთება და რობოტი გაჩერდება.
რობოტის მართვის პროგრამა დაწერილია NXT Programming 2.0 გარემოში.
Idol პროგრამა
შემსრულებელი რობოტი
ვინ არის რობოტის შემსრულებელი?
- წარმოიდგინეთ უჯრიანი ველი (როგორც ფურცელი რვეულიდან მოხაზული შაბლონით), რომელზეც არის გარკვეული ობიექტი, რომელსაც რობოტს დავარქმევთ. სპეციალური ბრძანებების გამოყენებით, ჩვენ შეგვიძლია ვაკონტროლოთ ეს რობოტი - გადავიტანოთ იგი უჯრედების გარშემო, დავხატოთ უჯრედებზე. და უმეტეს შემთხვევაში, ჩვენი ამოცანა იქნება რობოტისთვის პროგრამის დაწერა, რომელშიც ის დახატავს გარკვეულ უჯრედებს.
გარემოს დაყენება კერპი შემსრულებლის რობოტისთვის
- გაშვებული Idol პროგრამა ასე გამოიყურება.
რობოტის დაწყების გარემო
- პროგრამის შესრულების დაწყებამდე აუცილებელია Robot-ის შემსრულებლის საწყისი გარემოს დაყენება. ეს ნიშნავს რობოტის სასურველ მდგომარეობაში მოთავსებას, კედლების განთავსებას, საჭირო უჯრედების მოხატვას და ა.შ. ეს ნაბიჯი ძალიან მნიშვნელოვანია. თუ მას უგულებელყოფთ, პროგრამამ შეიძლება არ იმუშაოს სწორად ან თუნდაც ავარიული იყოს.
დააწკაპუნეთ გარემოს რედაქტირება
შემსრულებელი რობოტი. მარტივი ბრძანებები.
- ზევით
- ქვემოთ
- დატოვა
- უფლება
- გადაღება
ამ ბრძანებების შესრულების შედეგი აშკარაა მათი სახელებიდან:
- ზემოთ - გადაიტანეთ რობოტი ერთი უჯრედის ზემოთ
- ქვემოთ - გადაიტანეთ რობოტი ერთი უჯრედი ქვემოთ
- მარცხნივ - გადაიტანეთ რობოტი ერთი უჯრედი მარცხნივ
- მარჯვნივ - გადაიტანეთ რობოტი ერთი უჯრედი მარჯვნივ
- paint over - ხატავს მიმდინარე უჯრედს (უჯრედი, რომელშიც რობოტი მდებარეობს).
ალგორითმის მაგალითი
- ჯერ უნდა დაწეროთ ფრაზა:
- გამოყენება რობოტი
თუ იცით, რამდენი უჯრედის დახატვაა საჭირო, მაშინ ამოხსნის ალგორითმი იქნება შემდეგი!
დავალება No1
- დაწერეთ პროგრამა შემდეგი ამოცანის გადასაჭრელად, თუ იცით რამდენი უჯრედის დაჩრდილვაა საჭირო
ციკლები
- 1. მარყუჟი მრიცხველით გამოიყენება მაშინ, როდესაც წინასწარ არის ცნობილი, რამდენი გამეორებაა საჭირო.
nc ჯერ
…
ქც
აქ უნდა მივუთითოთ გამეორებების რაოდენობა (რიცხვი) და ბრძანებები, რომლებიც განმეორდება. ბრძანებები, რომლებიც მეორდება ციკლში, ეწოდება ციკლის სხეული.
დავალება No2
- დაწერეთ პროგრამა შემდეგი ამოცანის გადასაჭრელად მრიცხველის მქონე მარყუჟის გამოყენებით
- 2. მარყუჟი პირობით - სანამ პირობა არის true, მარყუჟი დაკმაყოფილებულია, თუ false, არ არის დაკმაყოფილებული
- რობოტის შემსრულებელს რამდენიმე პირობა აქვს
უფასო თავზე
თავისუფალი ქვემოდან
თავისუფალი დარჩა
თავისუფალი მარჯვნივ
კედელი ზემოთ
კედელი ქვემოთ
მარცხენა კედელი
კედელი მარჯვნივ
- ნაწილაკები, რომელთა გამოყენება შეგიძლიათ: არა, და, ან
პირობითი მარყუჟის სტრუქტურა
nts ამჟამად თავისუფალი მარჯვნივ
უფლება
გადაღება
ქც
დავალება No3
- დაწერეთ პროგრამა შემდეგი პრობლემის გადასაჭრელად პირობითი ციკლის გამოყენებით:
დავალება No4
- დაწერეთ პროგრამა შემდეგი პრობლემის გადასაჭრელად პირობითი მარყუჟების გამოყენებით:
პრობლემის გადაჭრა:
- 2. რობოტი უნდა გადავიდეს საწყისი პოზიციიდან საბოლოო პოზიციაზე, კედლების მოხატვა
დავალება No5
- უსასრულო ველზე ჰორიზონტალური კედელია. კედლის სიგრძე უცნობია. რობოტი მდებარეობს კედლის თავზე მის მარცხენა ბოლოში. ფიგურაში ნაჩვენებია რობოტის მდებარეობა კედელთან შედარებით (რობოტი მითითებულია ასო "P"):
პასუხი No5 დავალებაზე
- ncჯერ არა (ქვემოდან თავისუფალი)
გადაღება
ციკლის დასაწყისი (nc) და პირობა (ჯერ არ არის (ქვემოდან თავისუფალი)) იწერება ერთ ხაზზე.
დიზაინი თუ
- ზედა თავისუფალი ქვედა თავისუფალი მარცხენა თავისუფალი მარჯვნივ თავისუფალი
- ეს ბრძანებები შეიძლება გამოყენებულ იქნას მდგომარეობასთან ერთად "თუ", რომელსაც აქვს შემდეგი ფორმა:
- თუ მდგომარეობა რომ
- ბრძანებების თანმიმდევრობა
- მაგალითად, ერთი უჯრედის მარჯვნივ გადასატანად, თუ კედელი არ არის მარჯვნივ, და დახატოთ უჯრედი, შეგიძლიათ გამოიყენოთ შემდეგი ალგორითმი:
- თუ უფლება თავისუფალია მაშინ
- უფლება
- გადაღება
დავალება No7
კედლების სიგრძე უცნობია.
პასუხი No7 დავალებაზე
სანამ ზედა არ იქნება თავისუფალი
გადაღება
უფლება
ხოლო ზედა თავისუფალია
უფლება
მაშინ როცა ის უფასოა მარჯვნივ
გადაღება
უფლება
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
მაშინ როცა ის უფასოა მარჯვნივ
ქვემოთ
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
დავალება No8
კედლების სიგრძე უცნობია.
თითოეულ კედელს აქვს ზუსტად ერთი გადასასვლელი, გადასასვლელის ზუსტი მდებარეობა და სიგანე უცნობია.
პასუხი No8 დავალებაზე
ხოლო ზედა თავისუფალია
სანამ ზედა არ იქნება თავისუფალი
გადაღება
ხოლო ზედა თავისუფალია
სანამ ზედა არ იქნება თავისუფალი
გადაღება
სანამ ქვედა არ არის თავისუფალი
გადაღება
ხოლო ქვედა თავისუფალია
სანამ ქვედა არ არის თავისუფალი
გადაღება
დავალება No9
კედლების სიგრძე უცნობია.
თითოეულ კედელს აქვს ზუსტად ერთი გადასასვლელი, გადასასვლელის ზუსტი მდებარეობა და სიგანე უცნობია.
პასუხი No9 დავალებას
ხოლო ქვედა თავისუფალია
სანამ ქვედა არ არის თავისუფალი
გადაღება
ხოლო ქვედა თავისუფალია
სანამ ქვედა არ არის თავისუფალი
გადაღება
სანამ ზედა არ იქნება თავისუფალი
გადაღება
ხოლო ზედა თავისუფალია
სანამ ზედა არ იქნება თავისუფალი
გადაღება
დავალება No10
კედლების სიგრძე უცნობია.
თითოეულ კედელს აქვს ზუსტად ერთი გადასასვლელი, გადასასვლელის ზუსტი მდებარეობა და სიგანე უცნობია.
პასუხი No10 დავალებაზე
ხოლო მარცხენა თავისუფალია
ხოლო მარცხენა თავისუფალია
გადაღება
ხოლო მარცხენა თავისუფალია
სანამ მარცხენა თავისუფალია
გადაღება
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
მაშინ როდესაც ის უფასოა მარჯვნივ
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
დავალება No11
კედლების სიგრძე უცნობია.
თითოეულ კედელს აქვს ზუსტად ერთი გადასასვლელი, გადასასვლელის ზუსტი მდებარეობა და სიგანე უცნობია.
პასუხი No11 დავალებაზე
სანამ ზედა არ იქნება თავისუფალი
სანამ ზედა არ იქნება თავისუფალი
გადაღება
ხოლო ქვედა თავისუფალია
სანამ ზედა არ იქნება თავისუფალი
გადაღება
დავალება No12
გაუთავებელ მინდორზე კიბეა. კიბე ჯერ მარჯვნიდან მარცხნივ ეშვება, შემდეგ ქვემოთ მარცხნიდან მარჯვნივ. თითოეული საფეხურის სიმაღლე არის ერთი კვადრატი, სიგანე ორი კვადრატი. რობოტი კიბის ზედა საფეხურის მარჯვნივაა. მარცხნივ მიმავალი ნაბიჯების რაოდენობა და მარჯვნივ მიმავალი ნაბიჯების რაოდენობა უცნობია. ფიგურაში ნაჩვენებია კიბისა და რობოტის განლაგების ერთ-ერთი შესაძლო გზა (რობოტი მითითებულია ასო "P").
პასუხი No12 დავალებაზე
კიბეების ქვეშ ჩავდივართ მარჯვნიდან მარცხნივ, სანამ არ მივაღწევთ კიბეების შეერთებას:
nts ბოლოში ჯერ თავისუფალია
ქვემოთ
დატოვა
დატოვა
ჩავდივართ დაღმავალი კიბის ბოლოსკენ, ვხატავთ საჭირო უჯრედებს გზაზე:
nts ჯერ არ არის თავისუფალი მარცხენა მხარეს
გადაღება
უფლება
გადაღება
უფლება
ქვემოთ
პასუხი No13 დავალებაზე
nts მარცხენა ჯერ თავისუფალია
გადაღება
დატოვა
ზევით
nts ჯერ არ არის თავისუფალი მარცხენა მხარეს
გადაღება
ზევით
დავალება No14
უსასრულო ველზე არის ოთხკუთხედი, რომელიც შემოსაზღვრულია კედლებით. მართკუთხედის გვერდების სიგრძე უცნობია. რობოტი მართკუთხედის შიგნითაა. ფიგურაში ნაჩვენებია კედლებისა და რობოტის განლაგების ერთ-ერთი შესაძლო გზა (რობოტი მითითებულია ასო "P").
პასუხი No14 დავალებაზე
მაშინ როცა ის უფასოა მარჯვნივ
უფლება
ხოლო ზედა თავისუფალია
ზევით
გადაღება
nts მარცხენა ჯერ თავისუფალია
დატოვა
გადაღება
პასუხი No15 დავალებაზე
მაშინ როცა ის უფასოა მარჯვნივ
გადაღება
უფლება
ხოლო ქვედა თავისუფალია
გადაღება
ქვემოთ
გადაღება
ჯერ არა (ქვემოდან თავისუფალი)
დატოვა
ქვემოთ
ჯერ არა (მარჯვნივ თავისუფალია)
გადაღება
ქვემოთ
გადაღება
უფლება
ჯერ არა (ზემოდან უფასოა)
გადაღება
უფლება
პასუხი No16 დავალებაზე
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
გადაღება
უფლება
სანამ ზედა არ იქნება თავისუფალი
გადაღება
უფლება
ხოლო ზედა თავისუფალია
ზევით
მაშინ როცა ის უფასოა მარჯვნივ
გადაღება
უფლება
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ