O’zbekiston respublikasi oliy, fan va innovatsiya vazirligi

|
O’zbekiston respublikasi oliy, fan va innovatsiya vazirligi
|
bet | 1/3 | Sana | 24.11.2023 | Hajmi | 0,75 Mb. | | #104856 |
Bog'liq BERDIMURODOV IBROHIM ALGORITIM
O’ZBEKISTON RESPUBLIKASI OLIY, FAN
VA INNOVATSIYA VAZIRLIGI
SHAROF RASHIDOV NOMIDAGI
SAMARQAND DAVLAT UNIVERSITETI
URGUT FILIALLI BIZNESNI BOSHQARISH
VA TABIIY FANLAR FAKULTETI AXBOROT
TIZIMLARI VA TEXNOLOGIYALAR
YO’NALISHI 220-GURUH TALABASI
BERDIMURODOV IBROHIMNING ALGORITIMIKTILLAR VA DASTURLASH ASOSLARI FANIDAN
MAVZU: Algoritmlarni grafik ifodalash vositalari
Reja :
Algoritm tushunchasi. Algoritmning hususiyatlari.
2. Algoritmlarni tasvirlash usullari.
Inson hayoti davomida katta-kichik vazifalar yoki masalalarni hal etishni o‘z oldiga maqsad qilib qo‘yadi. Odatda, u o‘z maqsadiga erishishi uchun bajarishi lozim bo‘lgan amal yoki ishlarini hayotiy tajribasi yoki o‘zlashtirgan bilimiga asoslanib ma’lum bir tartibga keltiradi. Bunga hayotimizdan xilma-xil misollar keltirish mumkin.
1.1-misol
Ko‘chadan o‘tish maqsad qilib qo‘yilgan bo‘lsin. U holda ko‘chadan o‘tayotgan kishi hammamizga odatiy hol bo‘lib qolgan quyidagi harakatlarni bajarishi lozim bo‘ladi:
chap tarafga qaralsin, agar transport vositasi yo‘q bo‘lsa, 2-bandga o‘tilsin, aks holda 1-bandga o‘tilsin;
o‘ng tarafga qaralsin, agar transport vositasi yo‘q bo‘lsa, 3-bandga o‘tilsin, aks holda 1-bandga o‘tilsin;
ko‘chadan o‘tilsin.
1.2-misol
Eni 6 metr va bo‘yi 10 metr bo‘lgan joyni to‘ldirish uchun sotib olinishi kerak bo‘lgan 12x25 sm (eni 12 sm va bo‘yi 25 sm) g‘ishtlar soni topilsin.
Hisoblayotgan kishi geometriya fanidan olgan bilimiga asoslanib quyidagi ketma-ketlikdagi amallarni bajaradi:
joyning yuzasi Sjoy santimetr o‘lchov birligida topilsin;
bir dona g‘ishtning yuzasi Sg‘isht santimetr o‘lchov birligida topilsin;
g‘ishtlar soni Sson joyning yuzasini g‘ishtning yuzasiga nis-bati deb olinsin.
1.3-misol
Amal bajarisin: 19632107 + 19702202. Bu amalni qanday bajargan bo‘lar edingiz? Ha, to‘gri, bu sonlarni ustun ko‘rinishida deyarli quyidagicha qo‘shasiz:
1) sonlar xonalari to‘g‘ri keladigan tartibda birinchisining tagiga
ikkinchisi yozib olinsin;
2) sonlarning birlik xonasidagi raqamlarini qo‘shib, natijani
birlik xonasidagi raqami birliklar tagiga yozilib, o‘nlik xonasi raqami
dilda saqlansin;
3) sonlarning o‘nliklardagi va dildagi raqamlarni qo‘shib, natijani
birlikdagi raqami o‘nliklar tagiga yozilib, o‘nlik raqami dilda saq
lansin;
va 3-banddagi qoida yuzliklar, mingliklar va hokazo uchun takrorlanadi. Bu amallar quyidagi korinishda sizga juda tanish:
19632107
+ 19702202
39334309
Yuqoridagi misollarda keltirilgan amallar ketma-ketligi, bosh-qacha aytganda, ko‘rsatmalar yoki buyruqlar ketma-ketligi biror kishi tomonidan bajarilgach, ko‘zlangan maqsadga erishiladi. Bun-day amallar ketma-ketligi yoki hayotimizda har kuni va har soatda uchrab turadigan turli qoidalar ichida biror zaruriy natijaga eri-shishga olib keladigan amallarni ketma-ket bajarishni talab etadigan qoidalar informatikaning asosiy tushunchalaridan biri algoritm so‘zi bilan ifodalanadi.
Algoritm so‘zi IX asrda yashab (783- yilda tug‘ilgan) o‘z ilmiy ishlari xazinasi bilan dunyoga tanilgan vatandoshimiz buyuk astronom, matematik va geograf Abu Abdullo Muhammad ibn Muso al-Xorazmiy nomidan kelib chiqqan. Al-Xorazmiy arifme-tikaga bag‘ishlangan «Hind hisobi haqida kitob» risolasida to‘q-qizta hind raqamining sonlarni ifodalashdagi afzalliklari va ular yordamida har qanday sonni ham qisqa va oson yozish mum-kinligini aytadi va hozirgi kunda hamma o‘quvchilar biladigan sonlar ustida, yuqoridagi 3-misoldagi kabi ustun ko‘rinishida amallar bajarish qoidalarini yoritadi. Ayniqsa, nol (0) qo‘llashning ahamiyati haqida tushuncha berib, nolni yozmaslik natijaning xato chiqishiga olib keladi, degan. Bu risola XII asrda Ispaniyada lotin tiliga tarjima qilingan va butun Yevropaga tarqatilgan. Bu tarjimaning XIV asrda ko‘chirilgan qo‘lyozmasining yagona nus-xasi Kembrij universitetining kutubxonasida saqlanmoqda.
«Dixit Alxhorithmi», ya’ni «Dediki al-Xorazmiy» iborasi bilan boshlanadi.
«A. Algoritm deganda, biror maqsadga erishishga qaratilgan ijrochi Ж bajarishi uchun mo‘ljallangan ko‘rsatma (buyruq)larning aniq, tushunarli va chekli ketma-ketligi tushuniladi.
Bu algoritm tushunchasining matematik ta’rifi bo‘lmasa ham intuitiv ma’noda algoritmning mazmunini ochib beruvchi tavsifidir. Algoritmni intuitiv ma’noda bir necha misollarda izohlaymiz. Biror-bir narsani taqiqlovchi qoidalar algoritm bo‘lolmaydi, masalan: «Chekish mumkin emas», «Begonalarning kirishi taqiqlanadi», «Kirish», «Chekish uchun joy» kabi biror-bir narsaga ruxsat etuvchi qoidalar ham algoritmga xos emas. Lekin «Svetoforni yashil rangida o‘ting» juda sodda bo‘lsa ham algoritmdir.
Demak, yuqorida keltirilgan misollardagi ko‘rsatmalar ketma-ketligi algoritm va bu algoritmlarni bajarayotgan inson - ijrochi bo‘lar ekan. Algoritm ijrochisi faqat insonmi, degan savol berishingiz tabiiy. Bu savolga javob quyidagicha:
JUL Algoritm ijrochisi - algoritmda ko‘rsatilgan buyruq yoki ko‘r-™ satmalarni bajara oladigan abstrakt yoki real (texnik yoki biologik) sistema.
Ijrochi bajara olishi uchun algoritm unga tushunarli bo‘lishi lozim. Algoritm ijrochi tushunadigan tilgagina emas, balki uning bilim va malakasiga ham mos bo‘lishi kerak. Aks holda ijrochi birorta ham ko‘rsatmani bajara olmasligi mumkin.
Ijrochi bajara olishi mumkin bo‘lgan ko‘rsatma yoki buyruq-lar to‘plami ijrochining ko‘rsatmalar sistemasi deyiladi. Masalan, «16 sonidan kvadrat ildiz chiqarilsin» ko‘rsatmasi 2-sinf o‘quvchisining ko‘rsatmalar sistemasiga tegishli bo‘lmaydi, lekin 8-sinf o‘quvchisining ko‘rsatmalar sistemasiga tegishli bo‘ladi. Algoritm ijrochiga tushunarli bo‘lishi uchun ijrochining imkoniyat-larini bilish lozim. Agar ijrochi inson bo‘lsa, u holda algoritm insonning imkoniyatlaridan kelib chiqib tuzilishi kerak. Bunda ko‘zlangan maqsad va algoritmdan kelib chiqib inson tushunadigan til, insonning bilimi, hayotiy tajribasi, kasbiy malakasi, yoshi, qolaversa, jismoniy imkoniyatlari hisobga olinishi zarur. Agar ijrochi texnik vosita (masalan, kompyuter, elektron soat, dastgohlar) bo‘lsa, u holda algoritm shu texnik vositaning imkoniyatlaridan kelib chiqib tuzilishi kerak.
Agar ijrochi kompyuter hisoblanib, uning dasturiy ta‘minotida berilgan («Karra jadvalini hosil qilish») algoritmni bajara oladigan dastur (masalan, elektron jadvallardan birortasi ham) bo‘lmasa, u holda hech qanday natijaga erishib bo‘lmaydi.
Demak, berilayotgan har qanday ko‘rsatma ijrochining ko‘r-satmalar sistemasidan olinishi, ya’ni ijrochi uni qanday bajarishni bilishi kerak ekan. Bu algoritmning tushunarlilik xossasini ifodalaydi.
Shuni ta‘kidlash joizki, informatikada algoritmning asosiy ijrochisi sifatida kompyuter xizmat qiladi.
Ijrochi
Bu qo‘llanmada algoritm tuzish usullarini o‘rgatish uchun sizni bir nechta Ijrochi bilan tanishtiramiz [1], lekin ular kompyuter yoki inson emas, balki biz uchun abstrakt sistema. Misol sifatida Robot nomli ijrochi bilan tanishtiramiz.
Robot teng o‘lchamdagi kvadratlarga bo‘lingan tekislikda yashaydi (1.1-rasm). U kvadratlarning birida joylashgan va ixtiyoriy qo‘shni kvadratga o‘tishi mumkin. Shu bilan birga Robot o‘zi turgan kvadratni bo‘yashi mumkin.
1.1-rasm.
Robot 5 ta ko‘rsatmani bajaradi: yuqoriga quyiga chapga o‘ngga bo‘ya Bulardan yuqoriga, quyiga, chapga va o‘ngga ko‘rsatmalari Robotni mos yo‘nalishlar bilan siljishga majbur qiladi. Lekin bo‘ya ko‘rsatmasida Robot harakatlanmaydi, faqat o‘zi turgan kvadratni bo‘yaydi. Agar kvadrat bo‘yalgan bo‘lsa u holda bo‘ya ko‘rsat-masida kvadratning rangi o‘zgarmaydi.
Robotning hayotidagi voqealardan eng qizig‘i, ba’zi kvadrat-lar orasida devor borligi (1.2-rasm). Odatda, Robot har tomondan devorlar bilan o‘ralgan va kvadratlardan hosil bo‘lgan to‘g‘ri to‘rtburchak ichida joylashgan bo‘ladi. Lekin shu to‘g‘ri to‘rtbur-chak ichida ham devorlar bo‘lishi mumkin.
Ba’zan devorlar murakkab shaklni hosil qiladi, bu shaklni labirint deb atashadi.
Robot devor ichidan o‘ta olmaydi. Agar devor ichidan o‘tmoq-chi bo‘lsa, u holda Robot «sochilib» ketadi.
1.2-rasm.
Bunday halokatli holatlarga tushmaslik uchun quyidagi to‘rtta shartni tekshirish zarur: yuqori bo‘sh quyi bo‘sh chap bo‘sh o‘ng bo‘sh Bo‘sh so‘zi shu tomonda devor yo‘qligini bildiradi. Robot o‘zi turgan katakning devorinigina aniqlay oladi. O‘zi turgan kvadrat bilan devor orasida bitta kvadrat bo‘lsa ham uzoqdagi bu devorni «ko‘ra» olmaydi. U yonida turgan devorgagina «tegib» ko‘rishi mumkin. 1.3-rasmda turli holatlarda yuqori bo‘sh degan birgina shartning qiymatini ko‘rish mumkin. Tushunarliki, yuqori bo‘sh sharti (yoki yuqori bo‘sh da’vosi Rost bo‘lsa) Robot yuqoriga ko‘rsatmasini «sochilib» ketmasdan bajara olishini bildiradi.
1.3-rasm.
Bu kabi mulohazalar chap bo‘sh sharti va chapga ko‘rsatmasi, yana boshqa juftliklar uchun ham to‘g‘ri.
Ro‘yxatni yakunlash uchun Robot biladigan oxirgi shartni keltiramiz:
bo‘yalgan
Bu shart Robot turgan kvadratni bo‘yalgan yoki bo‘yal-maganligini tekshirish imkonini beradi. Agar kvadrat bo‘yalgan bo‘lsa, shart ROST, aks holda YOLG‘ON bo‘ladi.
Ko‘rib turibsiz, Robotning ko‘rsatmalari juda sodda. Lekin uni o‘rab turgan muhit xilma-xil imkoniyatlarga boy. Robotning maydonida turli labirintlar, yo‘laklar, har xil shakldagi xonalar va boshqa figuralar yordamida juda ko‘p qiziqarli masalalar qo‘ysih mumkin. Robotning mikrohayoti - algoritmik tafakkurni rivojlan-tirish uchun a‘lo darajadagi mashq maydonidir.
Ijrochilarni boshqalari bilan tanishtirishdan avval ularni nimalar farqlab turishini izohlab o‘tmoqchimiz.
Ijrochini quyidagilar farqlab turadi:
ijrochi muhiti;
ijrochining ko‘rsatmalar sistemasi;
sodda amallar;
INKOR
Ijrochi muhiti - ijrochi «yashaydigan» yoki algoritmni baja-radigan muhiti. Ijrochi Robot misolida bu katakli maydon, bo‘yalgan kataklar va devorlar. Ularning joylashishi va Robotning turgan joyi muhitning aniq holatini beradi.
Har bir ijrochi qat‘iy belgilangan ro‘yxatdagi - ijrochinining ko‘rsatmalar sistemasidagi - ko‘rsatmalarni bajara oladi. Har bir ko‘rsatma uchun qo‘llash sharti (muhitning qanday holatida ko‘rsatmani bajarish mumkinligi) va ko‘rsatmani bajarilish natijasi belgilangan bo‘lishi kerak. Masalan, yuqoriga ko‘rsatmasi Robotning yuqorisida devor yo‘q bo‘lsagina bajarish mumkin. Bu ko‘rsatmani bajarilish natijasi - Robot yuqoriga bitta katak siljiydi.
Ko‘rsatma chaqirilgandan keyin Ijrochi sodda amal bajaradi. Robot misolida - yuqoriga bitta katak siljish.
INKOR - bu holat bo‘lib, ko‘rsatma muhitning mumkin bo‘lmagan holatida chaqirilganda yuz beradi. Robot misolida qarasak, agar u devor ichidan o‘tmoqchi bo‘lsa, «sochilib» ketadi va bu Robot uchun INKOR holatiga olib keladi.
Yodingizda bo‘lsin: Ijrochi algoritm maqsadi haqida hech narsa bilmaydi, u berilgan ko‘rsatmalarni so‘zsiz bajaradi, xolos.
|
| |