yuqori ho‘sh YOKI o‘ng bo‘sh.
D Robot hali burchakda bo‘lmasa, harakatda bo'Jishi shart.
emak, bizning algoritmimiz bunday ko'rinishda boMadi:
TOKI yuqori bo‘sh YOKI o‘ng bo‘sh BAJAR bir qadam yur
TAMOM
- jEndi qaysi yo‘nalishda qadam tashlash kerakligini hal etamiz
avob aniq. Haqiqatan TOKI — BAJAR shartining o‘zida
yuqori yoki o‘ng tomon albatta bo‘sh ekanligi aytilgan. «bir qadam yur» protsedurasini quyidagicha yozish mumkin:
PROT bir qadam yur BOSHLANISH
AGAR yuqori bo‘sh U HOLDA
yuqoriga
AKS HOLDA
TAMo‘ngga
TAMOM OM
Mana, masalani hal qilib qo‘ydik!
119
2. Labirintdan chiqish. Robot labirintning qayeridadir turibdi. Labirintning ichidagi devorlar kesmalardan iborat va ular bir- biri bilan va tashqi devorlar bilan kesishmaydi (6.40-rasm). Shunday algoritm tuzingki, uning bajarilishi natijasida Robot ixtiyoriy shu kabi labirintda yuqori o‘ng burchakka borsin.
6.40-rasm
Oldingi masalada tuzilgan algoritm bu masalaning ham yechimini beradi.
6.14- mashq
6.40-rasmdagi Robotning yurish yo'lini kuzatib boring.
6.15- mashq
Robotni ko‘rsatilgan joyga olib keladigan algoritm tuzing:
a) yuqori chap burchakka;
b) yuqori o‘ng burchakka;
d) quyi o‘ng burchakka.
3. Xazina qidirish. Robot maydoni - ichki devorlarsiz to‘g‘ri to'rtburchak. Robot quyi chap burchakda turibdi. Maydonning qayeridadir xazina bor (bo‘yalgan katak) —(6.41-rasm). Xazinani toping.
6 .4 1 - r a sm .
120
Robot bo'yalgan katakka borganida to‘xtashi, ungacha yurishi shart. Mulohaza qilib algoritmni quyidagicha boshlaymiz:
TOKI EMAS bo‘yalgan BAJAR
TAMOM
Xa Endiiqanday harakatlqilishi kerakligi haqida fikrlab ko‘ramiz.
zinan faqat bir yo'na ishda —pastdan yuqoriga qarab qidirish
oson tuyulmoqda. Aniqrog'i, algoritm tuzuvchi biz uchun oson, Robotga esa ish ko'payadi! Yuqoriga oddiygina qadam tashlab bo‘lmaydi, Robot devorga urilib sochilib ketadi. Bunday ish tutamiz:
AGAR yuqori bo‘sh U HOLDA
yuqoriga AKS HOLDA
TAMOM
AKS HOLDA qismi nimani anglatadi? U Robot yuqori devorga borib taqalganini bildiradi. Bundan kelib chiqadiki, bu vertikalda xazinani topolmadik.
Endi orqaga qaytib, keyingi vertikalga o‘tishimiz kerak.
Uning algoritmi quyidagicha:
TOKI quyi bo‘sh BAJAR quyiga
TAMOM
AGAR o‘ng bo‘sh U HOLDA
o ‘ngga TAMOM
Barcha qismlarni yig'sak, kerakli algoritm tayyor bo'ladi.
6.16-mashq
Agar maydonda xazina bo'lmasa, Robot nima qilarkin?
Mustaqil yechishingiz uchun ikkita masala keltiramiz.
6.33-masala
ka Robot lgorizontal devorning ostida bo‘lib, uning chap chek-
sida joy ashgan. Devorning uzunligi noma’lum. Devor tagidagi
yopishgan barcha kvadratlar bo‘yalsin (6.42-rasm).
121
6.42-rasm.
6.34-masala
to‘ Robot tmaydonidagi ichki devorlar nomaMum oMchamdagi
ch g‘ri to'r burchakni tashkil etadi. Robot to‘g‘ri to‘rtburchakning
ap quyi burchagidan pastda turibdi. To‘g‘ri to'rtburchak atro-
fidagi unga yopishgan barcha kataklar bo'yalsin (6.43-rasm).
Do'stlaringiz bilan baham: |