რობოტის ამოცანები. შემსრულებელი რობოტი
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 დავალებაზე
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
გადაღება
უფლება
სანამ ზედა არ იქნება თავისუფალი
გადაღება
უფლება
ხოლო ზედა თავისუფალია
ზევით
მაშინ როდესაც ის უფასოა მარჯვნივ
გადაღება
უფლება
ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
მასწავლებლის ამოცანაა გაიაროს ეს გზა მოსწავლესთან ერთად, არა დაზღვეული წარუმატებლობისგან, არამედ თავიდან აიცილოს იმედგაცრუება შესაძლო სირთულეების გამო. ძალიან მნიშვნელოვანია კლასების ორგანიზება ისე, რომ ბავშვებმა თავად აღმოაჩინონ ახალი რამ მათთვის მნიშვნელოვანი აქტივობებით.
როგორ ეხმარება რობოტი კომპიუტერული მეცნიერების შესწავლაში? მე მივუთითებ მხოლოდ რამდენიმე კომპიუტერული მეცნიერების თემას, რომლებზეც დაფუძნებულია რობოტიკა.
თემა "ფაილები და ფაილური სისტემა".
სტუდენტს ხელთ ჰქონდა 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 გარემოში.
შემსრულებელი რობოტი არსებობს მართკუთხა ველში, დაყოფილია უჯრედებად, რომელთა შორის შეიძლება იყოს კედლები და მთლიანად ჯდება ერთ უჯრედში.
რობოტს შეუძლია მოედანზე გადაადგილება, უჯრედების დახატვა, ტემპერატურისა და გამოსხივების გაზომვა. რობოტს არ შეუძლია კედლებში გავლა, მაგრამ შეუძლია შეამოწმოს, არის თუ არა მის გვერდით კედელი.
- "რობოტის" შემსრულებლის ბრძანების სისტემა მოიცავს:
- 5 ბრძანება, რომელიც იწვევს რობოტის მოქმედებებს (მარცხნივ, მარჯვნივ, ზემოთ, ქვემოთ, ხატვა)
- მდგომარეობის შემოწმების 10 ბრძანება:
- ფორმის 8 ბრძანება [მარცხნივ/მარჯვნივ/ქვემოდან/ზემოდან] [კედელი/უფასო]
- უჯრედის ტიპის 2 ბრძანება [შევსებულია/ცარიელი]
2 საზომი ბრძანება (ტემპერატურა, გამოსხივება)
მოქმედების ბრძანებები
შეამოწმეთ ბრძანებები | გუნდი |
აღწერა | შესვლა მარცხნივ უფასოა |
აბრუნებს დიახ, თუ რობოტს შეუძლია მარცხნივ გადაადგილება, წინააღმდეგ შემთხვევაში არა. | მარჯვნივ შესვლა უფასოა |
აბრუნებს დიახ, თუ რობოტს შეუძლია მარჯვნივ გადაადგილება, წინააღმდეგ შემთხვევაში არა. | შესვლა ზემოდან უფასოდ |
უბრუნდება დიახ, თუ რობოტს შეუძლია ასვლა, წინააღმდეგ შემთხვევაში არა. | შედით ქვემოთ უფასოდ |
უბრუნდება დიახ, თუ რობოტს შეუძლია ქვემოთ გადაადგილება, წინააღმდეგ შემთხვევაში არა. | ლოგის მარცხენა კედელი |
ბრუნდება დიახ, თუ რობოტის მარცხნივ არის კედელი, წინააღმდეგ შემთხვევაში არა. | ლოგის მარჯვენა კედელი |
უბრუნდება დიახ, თუ რობოტის მარჯვნივ არის კედელი, წინააღმდეგ შემთხვევაში არა. | შესვლა ზედა კედელზე |
ბრუნდება დიახ, თუ რობოტის ზემოთ არის კედელი, წინააღმდეგ შემთხვევაში არა. | შესვლა კედლის ქვემოთ |
ბრუნდება დიახ, თუ რობოტის ქვემოთ არის კედელი, წინააღმდეგ შემთხვევაში არა. | ჟურნალის უჯრედი ივსება |
აბრუნებს დიახ, თუ უჯრედი შევსებულია და არა, თუ უჯრედი არ არის შევსებული. | ჟურნალის უჯრედის გაწმენდა |
აბრუნებს არას, თუ უჯრედი შევსებულია და დიახ, თუ უჯრედი არ არის შევსებული.
გაზომვის ბრძანებები
ალგორითმი შეიძლება ასე გამოიყურებოდეს:
გამოიყენეთ რობოტი
ალგ მაგალითი 1
დასაწყისი
. ქვემოთ
. უფლება
. ზევით
კონ
თუ თქვენ ცდილობთ რობოტის კედელში გატარებას, მარცხი მოხდება. რობოტი დაეჯახება კედელს და ვეღარ შეასრულებს ბრძანებებს.
მოდით დავწეროთ ალგორითმი რობოტისთვის, რომელიც გადის ლაბირინთს A წერტილიდან B-მდე:
გამოიყენეთ რობოტი
ალგ A-დან B-მდე
დასაწყისი
. უფლება
. ზევით ; ზევით ;
მარჯვენა ; ქვემოთ ; ქვემოთ ; უფლება
კონ
. ზევით ; ზევით ; მარჯვენა ;
ქვემოთ ; ქვემოთ ; უფლება
თითოეული მონაკვეთის გავლის ბრძანებები შეიძლება დაჯგუფდეს ერთ ხაზზე - ეს ამცირებს ალგორითმის ჩაწერას და უფრო გასაგებს ხდის მას. იმისთვის, რომ ბრძანებები ერთ სტრიქონზე დაიწეროს, ისინი უნდა იყოს გამოყოფილი მძიმით.
OGE 2017 ამოცანის 20.1 გამოსავალი კომპიუტერულ მეცნიერებაში დემო ვერსიიდან. ეს არის მეორე ნაწილის დავალება დეტალური პასუხით, მაღალი სირთულის. დავალების შესრულების სავარაუდო დროა 45 წუთი. ამ ამოცანისთვის შეგიძლიათ მაქსიმუმ 2 ქულა დააგროვოთ. დავალება შესრულებულია კომპიუტერზე. შემოწმებული შინაარსის ელემენტები:.
- გარემოში მოკლე ალგორითმის დაწერის უნარი
ფორმალური შემსრულებელი
— გამოცდის დროს გამოცდილი შინაარსის ელემენტების აღწერა:,
- ალგორითმი,
ალგორითმების თვისებები
- ალგორითმების დაწერის გზები,
- ბლოკ-სქემები,
— - პროგრამირების იდეა,,
- ალგორითმული კონსტრუქციები,
ლოგიკური მნიშვნელობები
- ოპერაციები,
- გამონათქვამები,
- დავალების დაყოფა ქვეამოცნებებად,
- დამხმარე ალგორითმი,
- დამუშავებული ობიექტები (სიმბოლოების ჯაჭვები, რიცხვები, სიები, ხეები).
20.1 ამოცანა OGE 2017 კომპიუტერულ მეცნიერებაში
ზევით
ქვემოთ
დატოვა
უფლება
შემსრულებელ რობოტს შეუძლია უჯრედებად დაყოფილ თვითმფრინავზე დახატული ლაბირინთში ნავიგაცია. მეზობელ (გვერდებზე) უჯრედებს შორის შეიძლება იყოს კედელი, რომლის მეშვეობითაც რობოტი ვერ გაივლის.
რობოტს აქვს ცხრა ბრძანება. ოთხი ბრძანება არის შეკვეთის ბრძანებები: გადაღებარომელიმე ამ ბრძანების შესრულებისას რობოტი მოძრაობს ერთ უჯრედს, შესაბამისად: ზემოთ, ქვემოთ ↓, მარცხნივ ←, მარჯვნივ →. თუ რობოტი მიიღებს ბრძანებას კედელში გადაადგილების შესახებ, ის ჩამოიშლება.
რობოტს ჰყავს გუნდიც
, რომელშიც დახატულია უჯრედი, რომელშიც ამჟამად რობოტი მდებარეობს.
თავისუფალი ქვემოდან
თავისუფალი დარჩა
თავისუფალი მარჯვნივ
კიდევ ოთხი ბრძანება არის მდგომარეობის შემოწმების ბრძანებები. ეს ბრძანებები ამოწმებს, არის თუ არა გზა რობოტისთვის ნათელი ოთხი შესაძლო მიმართულებით: უფასო ზედაეს ბრძანებები შეიძლება გამოყენებულ იქნას პირობასთან ერთად "
თუ მდგომარეობა რომ
ბრძანებების თანმიმდევრობა
თუ
", რომელსაც აქვს შემდეგი ფორმა:
ყველააქ მდგომარეობა არის მდგომარეობის შემოწმების ერთ-ერთი ბრძანება.
ბრძანების თანმიმდევრობა
თუ უფლება თავისუფალია მაშინ
უფლება
გადაღება
თუ
ერთი პირობით, შეგიძლიათ გამოიყენოთ რამდენიმე მდგომარეობის შემოწმების ბრძანება ლოგიკური დამაკავშირებლების გამოყენებით და, ან, არა, მაგალითად:
თუ (უფლება უფასოა) და (ქვემოთ არა უფასოა) მაშინ
უფლება
თუ
ბრძანებების თანმიმდევრობის გასამეორებლად შეგიძლიათ გამოიყენოთ მარყუჟი " ნახვამდის", რომელსაც აქვს შემდეგი ფორმა:
nts ამჟამად მდგომარეობა
ბრძანებების თანმიმდევრობა
ქც
მაგალითად, მარჯვნივ გადასასვლელად, სანამ ეს შესაძლებელია, შეგიძლიათ გამოიყენოთ შემდეგი ალგორითმი:
nts უფლება ამჟამად თავისუფალია
უფლება
ქც
დაასრულეთ დავალება.
გაუთავებელ ველს ჰორიზონტალური და ვერტიკალური კედლები აქვს. ჰორიზონტალური კედლის მარცხენა ბოლო უკავშირდება ვერტიკალური კედლის ქვედა ბოლოს. კედლის სიგრძე უცნობია. ვერტიკალურ კედელში ზუსტად ერთი გადასასვლელია უცნობია გადასასვლელის ზუსტი მდებარეობა და სიგანე. რობოტი მდებარეობს გალიაში, რომელიც მდებარეობს ჰორიზონტალური კედლის პირდაპირ მის მარჯვენა ბოლოში.
ფიგურაში ნაჩვენებია ერთ-ერთი შესაძლო გზებიკედლებისა და რობოტის მდებარეობა (რობოტი მითითებულია ასო "P").
დაწერეთ ალგორითმი რობოტისთვის, რომელიც ხატავს ყველა უჯრედს, რომელიც მდებარეობს ვერტიკალური კედლის პირდაპირ მარცხნივ და მარჯვნივ. გადასასვლელი უნდა დარჩეს შეუღებავი. რობოტმა უნდა დახატოს მხოლოდ უჯრედები, რომლებიც აკმაყოფილებენ ამ მდგომარეობას. მაგალითად, ზემოთ მოყვანილი სურათისთვის რობოტი უნდა გააფერადოს შემდეგ უჯრედებში (იხ. სურათი).
ალგორითმის შესრულებისას რობოტი არ უნდა განადგურდეს, ალგორითმის შესრულება უნდა დასრულდეს. რობოტის საბოლოო მდებარეობა შეიძლება იყოს თვითნებური.
ალგორითმმა უნდა გადაჭრას პრობლემა კედლების ნებისმიერი დასაშვები მოწყობისთვის და კედლის შიგნით გადასასვლელის ნებისმიერი ადგილისა და ზომისთვის.
ალგორითმი შეიძლება შესრულდეს ფორმალური შემსრულებლის გარემოში ან დაწერილი ტექსტის რედაქტორში.
შეინახეთ ალგორითმი ტექსტური ფაილი. ფაილის სახელს და შესანახ ცნობარს მოგეწოდებათ გამოცდის ორგანიზატორები.
OGE 2017 დავალების 20.1 ამოხსნა კომპიუტერულ მეცნიერებაში
ჩვენ ჩავწერთ შემსრულებლის ბრძანებებს გაბედულიშრიფტი და კომენტარები - დახრილი. კომენტარის დასაწყისი აღინიშნა სიმბოლოთი "|" ( მუშაობისას კომენტარების ჩაწერა საჭირო არ არის).
|მარცხნივ გადავდივართ, სანამ ვერტიკალურ კედელს არ მივაღწევთ.
nts მარცხენა ჯერ თავისუფალია
დატოვა
ქც
|ჩვენ ავწევთ მაღლა, სანამ არ მივაღწევთ კედელში გადასასვლელს და ვხატავთ უჯრედებს.
nts ჯერ არ არის თავისუფალი მარცხენა მხარეს
გადაღება
ზევით
ქც
|კედლის ბოლომდე ავწევთ და უჯრედებს ვხატავთ.
nts ჯერ არ არის თავისუფალი მარცხენა მხარეს
გადაღება
ზევით
ქც
|ჩვენ კედელს შემოვუვლით.
დატოვა
ქვემოთ
|ჩვენ ქვევით გადავდივართ, სანამ არ მივაღწევთ კედელში გადასასვლელს და ვხატავთ უჯრედებს.
nts ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
ქც
|ჩვენ გადავდივართ კედლის ბოლომდე და ვხატავთ უჯრედებს.
nts ჯერ არ არის თავისუფალი მარჯვნივ
გადაღება
ქვემოთ
ქც
შესაძლებელია სხვა გადაწყვეტილებებიც.
ნებადართულია შემსრულებლის ინსტრუქციებისთვის განსხვავებული სინტაქსის გამოყენება, რაც უფრო მეტად არის ნაცნობი სტუდენტებისთვის.
ცალკეული სინტაქსური შეცდომების არსებობა დასაშვებია, მაგრამ არ ამახინჯებს ამოხსნის ავტორის განზრახვას.
დავალების 2 ქულა ენიჭება თუ
ალგორითმი სწორად მუშაობს ყველა მოქმედი შეყვანის მონაცემისთვის.
დავალების 1 ქულა ენიჭება თუ
ყველა მოქმედი შეყვანის მონაცემისთვის, მართებულია შემდეგი:
1) ალგორითმის შესრულება დასრულებულია და რობოტი არ იშლება;
2) შეღებილია არაუმეტეს 10 დამატებითი უჯრედი;
3) არაუმეტეს 10 უჯრედი იმათგან, რომლებიც უნდა ყოფილიყო შეღებილი, შეუღებავი დარჩა.
დავალების 0 ქულა ენიჭება თუ
დავალება შესრულდა არასწორად, ანუ არ დაკმაყოფილდა 1 ან 2 ქულის მიცემის პირობები.