(bo Robot chalkashib ketgan labirintda aylanib yurib «xazina» 'yalgan kvadrat) topib oldi. U quyidagicha yurgan edi:
quyiga quyiga o‘ngga quyiga o‘ngga
0‘ngga
yuqoriga chapga yuqoriga o‘ngga yuqoriga chapga chapga quyiga
6.15-masala
Robot qanday qilib labirintdan chiqib ketadi, ya'ni oxirgi kvadratdan dastlabki kvadratga aniq teskari yurib bora oladi? qu Yechim. Robotning yurgan yoMini chizib, masalani yechish
b lay. Lekin ibusiz ham yechish mumkin. Bunda bizga avvalgi
uoblarda ko'r lgan (eslab ko‘ring-chi) mulohazaning umumiy bir suli yordam beradi. Robot qilgan oxirgi qadam quyiga edi. Demak,
orqaga qaytayotganda birinchi qadam yuqoriga bo‘ladi. Oxiridan bitta oldingi qadam chapga edi, demak, ikkinchi qadam o‘ngga boladi va hokazo. Natijada quyidagi algoritmlarni hosil qilamiz:
yuqoriga
" o'ngga
o‘ngga
yuqonj
yuqoriga yuqoriga
102
6.5-mashq
Algoritmni mustaqil ravishda to'liq yozib chiqing.
ko' Bu usulning mohiyatini yana bir bor takrorlaymiz. Har bir yo rsatmani aksi bilan almashtiramiz:o o‘nggar o'rniga chapga ni ziladi, chapga o'rniga o‘ngga, yuq riga i o' nigar quyiga va hoyat quyiga o'rniga yuqoriga yoziladi. End aks ko' satmalarni
teskari tartibda yozib chiqilsa bo‘ldi.
Sh Buausulni soddiyi hayotiy misolda ham ko'rish mumkin.
und y ko‘r atman qaraymiz:
paypog‘ingni kiy
Aks ko'rsatma quyidagicha bo'Iadi:
paypog‘ingni yech
Xuddi shunday
tufligingni kiy
ko'rsatmasiga
tufligingni yech
ko‘rsatmasi aks bo‘ladi.
«Oyoq kiyimini kiyish» algoritmini yozamiz:
paypog‘ingni kiy tufligingni kiy
Endi bu algoritmga teskari «Oyoq kiyimini yechish» algoritmi quyidagicha bo‘ladi:
tufligingni yech
paypog‘ingni yech
tes Ko'ribr turganingizdek, bu algoritmda ikkita aks ko'rsatma
kari ta tibda yozilgan.
6.16- masala
la Robotnibbir tkvadratdan ikkinchisiga olib boradigan s (xoh-
sangiz, la irin da deb hisoblang) algoritm yozing. Do' tingiz
esa Robotning bosib o'tgan yo'lini oxiridan boshigacha aniq teskari yo'nalishda harakatlantiradigan algoritm tuzsin. Siz ham do's- tingiz tayyorlagan algoritm uchun ham shu ishlarni bajaring.
6.17- masala
alg Robotimaydonida devorlar yo‘qIigi ma'lum. Robot quyidagi oritmn bajardi:
quyiga quyiga quyiga o'ngga
103
o‘ngga quyiga
o‘ngga *
yuqoriga yuqoriga chapga cbapga
Sh Bu harakatlardan keyin Robot A kvadratdan B kvadratga o‘tdi.
unday algoritm tuzingki, Robot eng qisqa yo‘l orqali (ya'ni,
eng kam qadamda) B kvadratdan A kvadratga qaytsin. Algoritmni rasm chizmasdan tuzishga harakat qiling.
Yechim. Bizning algoritmimizda 4 ta quyiga ko'rsatmasi va 2 ta yuqoriga ko'rsatmasi bor. Demak, natijada Robot 2 ta katak quyiga suriladi. Boshlang‘ich holatga qaytish uchun 2 ta yuqoriga ko'rsatmasini bajarish yetarli. Xuddi shunday, algoritmimizda 3 ta o*ngga ko'rsatmasi va 2 ta chapga ko'rsatmasi bor. Boshlang'ich holatga qaytish uchun I ta chapga ko'rsatmasini bajarish yetarli. Demak, Robotni B katakdan A katakka siljita- digan eng sodda algoritmda 2 ta yuqoriga ko'rsatmasi va I ta chapga ko‘rsatmasi boMishi yetarli. Maydonda devorlar bo‘lma- gani uchun bu ko‘rsatma)arni ixtiyoriy tartibda, ya’ni, masalan, quyidagicha yozish mumkin: