SANA___________________ Tasdiqlayman O’IBDO’

SANA___________________ Tasdiqlayman O’IBDO’
_______________________________
Informatika-9. 4 – dars.
Mavzu: Algoritm tushunchasi
Maqsad:
1) Ta’limiy: O`quvchilrga algoritm, algoritm ijrochisi, ijrochini ko`rsatmari tizimi haqida tushuncha berish;
2) Tarbiyaviy: O`quvchilr buyukallomalarimizga hurmat ruhida tarbiyalash;
3) Rivojlantiruvchi: Masalalar yechish orqali o`quvchilarning algoritmlash ko`nikmalarini rivojlantirish.
DTS: algoritm, algoritm ijrochisi, ijrochini ko`rsatmari tizimi haqida tushunchaga ega bo`lish.
Kompetensiya:
TK3 - doimiy ravishda o’z-o’zini intelektual va kreativ rivojlantirish, hayot davomida mustaqil kognitivlik ko’nikmalarini mustaqil ravishda rivojlantirib boradi;
FK1 - axborotlarni izlash va elektron vositalarda yig‘ish ko’nikmasiga ega bo’ladi
Darsning borishi.
I. Tashkiliy qism.
a) salomlashish;
b) davomatni aniqlash;
d) sinfni darsga tayyorlash;
II. Takrorlash.
Obyekt, uning tavsifi va tavsif qiymati haqida misollar asosida so‘zlab bering.
Model deb nimaga aytiladi?
Matematik model deb nimaga aytiladi? Matematik modellar qanday sohalarda qo‘llaniladi?
Matematik modelning boshqa modellardan farqini tushuntiring.
Modellar necha turga bo‘linadi?
III. Yangi mavzuni o`rganish
Inson hayoti davomida katta-yu-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 hilma-xil misollar keltirish mumkin.
1–misol. Choy damlash maqsad qilib qo‘yilgan bo‘lsin. U holda choy damlayotgan kishi biz uchun odatiy hol bo‘lib qolgan quyidagi ishlarni bajarishi lozim bo‘ladi:
choynak qopqog‘i ochilsin;
choynak qaynoq suv bilan chayilsin;
choynakka bir choy qoshiq miqdorida quruq choy solinsin;
choynak to‘lguncha qaynagan suv quyilsin;
choynak qopqog‘i yopilsin;
choynak sochiq bilan yopilib besh daqiqa dam yedirilsin.
2 – misol. Eni N metr va bo‘yi M metr bo‘lgan joyni to‘ldirishga 1225 santimetrli (eni 12 santimetr va bo‘yi 25 santimetr) g‘ishtdan necha dona sotib olinishini topish kerak bo‘lsin. 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 nisbati deb olinsin.
Bu amallar ketma-ketligini quyidagi matematik formula bilan ifodalash mumkin:
.
3–misol. Amal bajarilsin: 19632107 + 19702202. Bu amalni qanday bajargan bo’lar edingiz? Ha, to’gri, bu sonlarni ustun ko’rinishida deyarli quyidagicha qo’shasiz:
1) sonlar xonalari mos keladigan tartibda tagma tag yozib olinsin;
2) sonlarni birlik xonasidagi raqamlarini qo’shib, natijani birlik raqami birliklar tagiga yozilib, o’nlik raqami dilda saqlansin;
3) sonlarni o’nlikdagi raqamlarini va dildagi raqam qo’shilib, natijani birlik raqami o’nliklar tagiga yozilib, o’nlik raqami dilda saqlansin;
va 3-banddagi qoida yuzliklar, mingliklar va hokazo uchun takrorlanadi. Bu amallar quyidagi ko’rinishda sizga juda tanish:
+19632107
|
19702202
|
39334309
|
Yuqoridagi misollarda keltirilgan amallar ketma-ketligi, boshqacha aytganda, ko’rsatmalar yoki buyruqlar ketma-ketligi biror kishi tomonidan bajarilgach, ko’zlangan maqsadga erishiladi. Hayotimizda har kuni va har soatda uchrab turadigan turli qoidalar ichida biror zaruriy natijaga erishishga 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 - 850) o‘z ilmiy ishlari xazinasi bilan dunyoga tanilgan vatandoshimiz buyuk astronom, matematik va geograf Abu Abdulloh Muhammad ibn Muso al-Xorazmiy nomidan kelib chiqqan. Al-Xorazmiyning arifmetikaga bag‘ishlangan risolasi XII asrda Ispaniyada lotin tiliga tarjima qilingan. Bu tarjimaning XIV asrda ko‘chirilgan yagona qo‘lyozma nusxasi Kembrij universitetining kutubxonasida saqlanmoqda. Risola lotin tilida “Dixit Algorithmi”, ya’ni “Dediki Alxorazmiy” iborasi bilan boshlanadi.
Algoritmdagi har bir ko’rsatma yoki buyruq biror amalni bajarishni ko’zda tutadi. Algoritmdagi amallarni bajaradigan obyektni ijrochi tushunchasi bilan bog’laymiz. Har qanday algoritm – bu amallarni belgilovchi qoida bo’lib, ularning zanjiri natijasida berilgan qiymatlardan izlangan natijaga kelinadi. Bunday amallar zanjiri algoritmik jarayon, har bir amal algoritmning qadami deb ataladi.
Algoritm deganda biror maqsadga erishishga qaratilgan, ijrochi bajarishi uchun mo‘ljallangan buyruqlarning ketma-ketligi tushuniladi.
Demak, yuqorida keltirilgan misollardagi buyruqlar (yoki ko‘rsatmalar) ketma-ketligi algoritm va bu algoritmlarni bajarayotgan inson – ijrochi bo‘lar ekan. Birinchi misoldagi ko‘rsatmalar “Choy damlash algoritmi” deb ataladi. Bundan shunday hulosaga kelamiz: inson hayotida ko‘zlagan maqsadiga erishishi uchun ijrochi sifatida ko‘plab algoritmlarni bajaradi. Ko‘pgina algoritmlar inson uchun odat bo‘lib qoladi. Masalan, taom tayyorlash, ovqatlanish, tartibli kiyinish, honadan chiqish, yozish, bir joydan ikkinchi joyga borish va hokazo.
Ko‘rsatmalarning tartibi buzilishi qanday oqibatga olib kelishi mumkinligini o‘zingiz tasavvur qilishingiz qiyin emas. Misol sifatida “Choy damlash algoritmi”da birinchi va uchinchi ko‘rsatmalarni o‘rnini almashtirib bajarish kifoya.
Odatda algoritmlardagi ko‘rsatmalar ijrochiga tushunarli bo‘lishi uchun sodda amallardan iborat bo‘ladi. Ikkinchi misoldagi algoritmning birinchi ko‘rsatmasini quyidagi uch ko‘rsatmaga ajratish mumkin:
1a) joy eni N metr santimetr o‘lchov birligiga o‘tkazilsin;
1b) joy bo‘yi M metr santimetr o‘lchov birligiga o‘tkazilsin;
1d) joyning yuzasi Sjoy topilsin.
Algoritm ijrochisi faqat insonmi, degan savol berishingiz tabiiy. Bu savolga javob quyidagicha:
Algoritm ijrochisi – algoritmda ko‘rsatilgan buyruq yoki ko‘rsatmalarni bajara oladigan abstrakt yoki real (texnik yoki biologik) sistema.
Ijrochi bajara olishi mumkin bo‘lgan ko‘rsatma yoki buyruqlar to‘plami ijrochinining ko‘rsatmalar sistemasi (qisqacha, IKS) 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. Shuni ta’kidlash joizki, informatikada algoritmning asosiy ijrochisi bo‘lib kompyuter xizmat qiladi.
Ijrochining ko’rsatmalar sistemasini tushunib olish uchun quyidagi masalani qaraymiz.
4–misol. Bo’g’irsoq uchun “oldindagi” katak qalpoqchasi ko’rsatayotgan katakdir, masalan u o’ngga burilganda ko’rinishda bo’ladi. Bo’g’irsoq 1 ta oldindagi katakka yura oladi yoki turgan katagida o’ngga yoki chapga burila oladi. Bo’g’irsoq bir katakdan bir necha marta o’tishi ham mumkin. Bo’g’irsoq o’zi turgan katakdan bilan belgilangan katakka biror yo’l bilan bora oladigan bo’lsa, zaruriy ko’rsatmalar ketma-ketligini yozing.
Masala shartidan ijrochi Bo’g’irsoqning ko’rsatmalar sistemasini yoza olamiz, ya’ni BKS={oldinga; o’ngga; chapga}. Endi masala yechimi sifatida quyidagi algoritmlardan birini olish mumkin:
Qadamlar soni
|
1-algoritm
|
2-algoritm
|
3-algoritm
|
1
2
3
4
5
6
|
1) chapga;
2) oldinga;
3) oldinga.
|
1) o’ngga;
2) o’ngga;
3) o’ngga;
4) oldinga;
5) oldinga.
|
1) oldinga;
2) chapga;
3) oldinga;
4) oldinga;
5) chapga;
6) oldinga.
|
Demak, masala yechimiga olib boruvchi algoritm yagona bo’lmasligi ham mumkin ekan.
Yuqorida ko‘rib chiqilgan misollarda yoki aytib o‘tilgan masalalardan shunday xulosaga kelamiz: ijrochi algoritmni bajarish jarayonida ko‘zlangan maqsadni bilmasligi ham mumkin. Masalan, quyidagi algoritmni bajarishdan qanday maqsad ko‘zlangani oldindan bilinmaydi:
1) N va M natural sonlar olinsin;
2) S soni nolga teng deb olinsin;
3) N va M sonlarning kattasi aniqlansin;
4) N va M sonlarning kattasidan kichigi ayirilsin va S ga bir qo‘shilsin;
4) agar N va M sonlarning ikkalasi ham noldan katta bo‘lsa 3)-bandga o‘tilsin;
5) javob sifatida S yozilsin.
Bu algoritm quyidagi masalaning yechimini topish imkonini beradi:
5–misol. Tomonlari N va M natural sonlarga teng bo‘lgan to‘g‘ri to‘rtburchak berilgan. Agar har qadamda eng katta yuzali kvadrat kesib olinaversa, nechta kvadrat kesib olinadi?
Bu dars orqali masalalarni kompyuterda yechishning asosiy bosqichlaridan biri bilan bog’liq bo’lgan informatikaning algoritm, algoritm ijrochisi, ijrochinining ko‘rsatmalar sistemasi kabi asosiy tushunchalari bilan tanishib shunday xulosaga kelamiz: algoritm orqali ijrochi boshqariladi.
IV. Mustahkamlsh
Algoritm deganda nimani tushunasiz?
Algoritm so‘zini kelib chiqish tarixini so‘zlab bering.
Algoritmga maktab hayotidan misollar keltiring.
Darslikdan berilgan mavzuni topish algoritmini tuzing.
“Oshpalov” pishirish algoritmini tuzing.
Kompyuterni ishga tushirish algoritmini tuzing.
Algoritm ijrochisi haqida nimalarni bilasiz?
Qanday ko‘rsatmalarni ijrochi bajara olmaydi?
Ijrochining ko‘rsatmalar sistemasiga misollar keltiring.
Sinfdoshingiz bajara olmaydigan ko’rsatmalar yozing.
Quyidagi ko‘rsatmalar algoritm bo‘ladimi va ularni bajarishdan qanday maqsad ko‘zlangan?
1) daryodan bir chelak suv olinsin;
2) chelakdagi suv daryoga solinsin;
3) 1-bandga o‘tilsin.
V. Uyga vazifa.
10-topshiriq.
SANA___________________ Tasdiqlayman O’IBDO’
Informatika-9. 5 – dars.
Mavzu: Algoritmning asosiy xossalari
Maqsad:
Ta’limiy: O`quvchilrga algoritmning asosiy xossalarnin o`rgatish;
Tarbiyaviy: O`uvchilarga iqtisodiy tejamkorlik va estetik tarbiya berish;
Rivojlantiruvchi: o`quvchilarning mantiqiy fikrlash va algoritmlash qobiliyatlarni rivojlantirish.
Kompetensiya:
TK3 - doimiy ravishda o’z-o’zini intelektual va kreativ rivojlantirish, hayot davomida mustaqil kognitivlik ko’nikmalarini mustaqil ravishda rivojlantirib boradi;
FK1 - axborotlarni izlash va elektron vositalarda yig‘ish ko’nikmasiga ega bo’ladi
Darsning borishi.
I. Tashkiliy qism:
a) salomlashish;
b) davomatni aniqlash;
d) sinfni darsga tayyorlash.
II. Takrorlash.
Algoritm deganda nimani tushunasiz?
Algoritm so'zining kelib chiqish tarixini gapirib bering.
Algoritm ijrochisi haqida nimalarni bilasiz?
Qanday ko'rsatmalarni ijrochi bajara olmaydi?
III. Yangi mavzuni o`rganish.
Avvalgi darsda algoritm va algoritm ijrochisi haqida so‘z borgan edi. Endi algoritmning asosiy xossalari bilan kengroq tanishtiramiz:
1. Tushunarlilik. Algoritm ijrochiga tushunarli bo‘lishi uchun ijrochining imkoniyatlarini 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.
Demak, berilayotgan har qanday ko‘rsatma ijrochinining ko‘rsatmalar sistemasidan olinishi, ya’ni ijrochi uni qanday bajarishni bilishi kerak ekan.
2. Aniqlik. Algoritmdagi barcha amallar, ko‘rsatmalar yoki buyruqlar bir ma’noli va aniq bo‘lishi kerak. Masalan, “ozgina tuz solinsin” ( bir osh qoshiqmi yoki bir choy qoshiqmi yoki bir piyolami?), “keragicha suv quyilsin” (kerak deganda qancha suv nazarda tutildi: 1 litrmi, 100 litrmi, 1 tonnami?), “insho yozib kelinsin” (qaysi mavzuga oid?) kabi ko‘rsatmalar har xil (ko‘pincha keraksiz) natijalarga olib keladi.
Bundan shunday xulosaga kelamiz, aniqlik xossasiga asosan algoritm ijrochisi ko‘rsatmalar ketma-ketligini mexanik ravishda xatosiz bajaradi va qo‘shimcha izohlar talab qilmaydi.
3. Diskretlilik (uzluklilik, alohidalik). Algoritmda masalani yechish jarayoni alohida olingan sodda ko‘rsatmalar ketma-ketligini qadamma-qadam bajarishdan iborat bo‘lishi kerak. Bu xossa avvalgi darsdagi misollarda yaqqol ko‘rinib turibdi.
4. Natijaviylik (cheklilik). Algoritmni tavsifida “biror maqsadga erishishga qaratilgan” jumlasi ishlatilgan. Bu maqsadni yuqorida keltirilgan misollarda ko’rishimiz mumkin: choy damlash, g’ishtlar sonini hisoblash, yig’indini hisoblash. Bular algoritmning natijaviylik (cheklilik) xossasi bilan bog’liq. Bu xossaning mazmuni shundan iboratki, har qanday algoritm ijrosi chekli qadamdan so‘ng oxir-oqibat ma’lum bir yechimga olib kelishi kerak. Shuni ta’kidlash joizki, algoritm avvaldan ko‘zlangan maqsadga erishishga olib kelmasligi ham mumkin. Bunga ba’zan algoritmning noto‘g‘ri tuzilgani yoki boshqa xatolik sabab bo‘lishi ham mumkin. Ikkinchi tomondan, qo‘yilgan masala ijobiy yechimga ega bo‘lmasligi ham mumkin. Lekin salbiy natija ham natija deb qabul qilinadi.
1–misol. kvadrat tenglama yechilsin.
Quyida keltirilgan “ ko‘rinishidagi kvadrat tenglamani yechish” algoritmini qo‘llab, tenglama yechimga ega emasligini aniqlaymiz. Bu ham natijadir.
1) a, b, c qiymatlar aniqlansin;
2) diskriminant: hisoblansin;
3) agar D < 0 bo‘lsa, tenglama yechimga ega emas deb olinsin va 6-bandga o‘tilsin;
4) agar D = 0 bo‘lsa, yagona yechim ga teng deb olinsin va 6-bandga o‘tilsin;
5) birinchi yechim ga, ikkinchi yechim ga teng deb olinsin;
6) tugallansin.
E’tibor qilgan bo‘lsangiz diskriminantning noldan kichikligi, nolga tengligi tekshirildi, ammo noldan kattaligi tekshirilmadi. Sababini o‘ylab ko‘ring!
Demak, algoritm doimo chekli qadamdan iborat bo‘lishi va biror natija berishi kerak ekan.
5. Ommaviylik. Biror masalani yechish algoritmi umumiy hollar uchun tuziladi, ya’ni faqatgina boshlang‘ich ma’lumotlar bilan farqlanuvchi bir turdagi masalalar turkumi uchun tuziladi.
Yuqoridagi “ ko‘rinishidagi kvadrat tenglamani yechish” algoritmi ixtiyoriy a, b, c sonlar uchun natija beradi, ya’ni algoritmning ommaviylik xossasi o‘rinlidir.
Quyida keltirilgan berilgan ikki natural sonning eng katta umumiy bo‘luvchisini (EKUB) topishning Evklid algoritmi ham barcha natural sonlar uchun o‘rinlidir.
2–misol. N va M natural sonlarning eng katta umumiy bo‘luvchisi topilsin.
1) agar N = M bo‘lsa, N natija deb olinsin va 5 - bandga o‘tilsin;
2) N va M sonlarning kattasi aniqlansin;
3) N va M sonlarning kattasi o‘zi bilan kichik sonning ayirmasiga teng deb olinsin;
4) 1-bandga o‘tilsin;
5) tugallansin.
Xulosa qilib shuni aytish mumkin: yuqoridagi barcha xossalar bajarilganda ko‘rsatmalar ketma-ketligi algoritm bo‘ladi va biror (ijobiy yoki salbiy) natijaga olib keladi.
|