Algoritm — biror vazifani bajarish yoki masalani yechish uchun belgilangan aniq qadamlar tartibi. Algoritm nima ekanini maktabga tayyorlanish, misol yechish va buyumlarni saralash orqali oson tushunish mumkin. Kundalik misollar yordamida qadamlarni qanday tuzish, tekshirish va xatosini topishni ham o’rganasiz.
Algoritm nima va u oddiy maslahatdan qanday farq qiladi?
Maslahat umumiy yo’l ko’rsatadi, algoritm esa nima qilishni aniq aytadi. Masalan, «Darsga yaxshi tayyorlaning» degan gap maslahat bo’lishi mumkin. Lekin undan qaysi ishni oldin bajarish kerakligini bilib bo’lmaydi. «Jadvalni oching, ertangi fanlarni aniqlang, kerakli kitoblarni sumkaga joylang» deyilsa, bajariladigan ishlar ravshanlashadi.
Qadamni bajaradigan odam yoki qurilma ijrochi deb ataladi. Ijrochi ko’rsatmani tushunishi va bajara olishi kerak. Maktab o’quvchisiga «Daftaringizni oching» deyish tushunarli, lekin kompyuter bunday gapni o’zicha anglab, stol ustidagi daftarni ochmaydi. Unga o’zi bajara oladigan buyruqlar kerak.
Yaxshi tuzilgan algoritmning boshlanishi, bajariladigan amallari va tugash nuqtasi ravshan bo’ladi. Har bir qadam bir ma’noni bildiradi. «Kerakli narsani oling» o’rniga «Matematika daftarini oling» deyish aniqroq. Ko’rsatmani boshqa odam o’qiganda ham nimani nazarda tutganingizni taxmin qilishga majbur bo’lmasin.
Kundalik ishni qanday qilib algoritmga aylantirish mumkin?
Avval maqsadni belgilang: ish tugagach, qanday natija kerak? Keyin sizda nimalar borligini aniqlang. Algoritmga berilgan dastlabki ma’lumotlar kirish ma’lumotlari, undan olingan yakun esa natija deyiladi. Masalan, ikki sonni qo’shishda berilgan sonlar — kirish ma’lumotlari, ularning yig’indisi esa natijadir.
Maktab sumkasini tayyorlashni olaylik. Sizga dars jadvali, kitoblar, daftarlar va sumka kerak bo’ladi. Maqsad barcha buyumlarni joylash emas, ertangi darslarga keraklilarini yig’ishdir. Shu farq qadamlarni ortiqcha ishlardan tozalaydi.
- Ertangi kunning dars jadvalini oching.
- Jadvaldagi har bir fan uchun kerakli kitob va daftarni ajrating.
- Ajratilgan buyumlarni sumkaga joylang.
- Qalamdoningizda kerakli yozuv qurollari borligini tekshiring.
- Jadvalga yana qarab, biror narsa qolib ketmaganini tekshiring.
- Sumkani yoping.
Bu misolda qadamlarning tartibi bejiz tanlanmagan. Jadvalga qaramasdan kitob yig’sangiz, keraksizini olib, keraklisini unutishingiz mumkin. Biroq ayrim ishlarning o’rni almashishi natijaga ta’sir qilmaydi: qalamdonni kitoblardan oldin ham tekshirsa bo’ladi. Muhimi, bir qadam uchun zarur tayyorgarlik undan oldin bajarilsin.
Shart va takrorlash qachon kerak bo’ladi?
Hamma vazifa faqat ketma-ket buyruqlardan iborat emas. Ba’zan keyingi harakat biror shartga bog’liq bo’ladi. Masalan: «Agar ertaga rasm darsi bo’lsa, rangli qalamlarni sumkaga soling; aks holda, keyingi fanga o’ting». Shartga qarab turli yo’ldan davom etish tarmoqlanish deyiladi. Bunda ijrochi taxmin qilmaydi, berilgan shartni tekshiradi.
Bir xil amal qayta-qayta kerak bo’lsa, takrorlash qo’llanadi. Uning boshqa nomi — sikl. Masalan, javondagi kitoblarni tartiblashda har bir kitobni olib, tegishli joyiga qo’yasiz. Har bir kitob uchun ko’rsatmani yangidan yozish o’rniga, «Kitob qolmaguncha shu amalni takrorlang» deyish qulay.
- Ketma-ketlik: daftarni oching, topshiriqni o’qing, javobni yozing.
- Tarmoqlanish: qalamning uchi singan bo’lsa, boshqa tayyor qalamni oling; sinmagan bo’lsa, shu qalam bilan yozing.
- Takrorlash: ro’yxatdagi har bir buyumni tekshirib, borlariga belgi qo’ying.
Takrorlashning qachon tugashi ham aniq bo’lsin. «Kitoblarni joylayvering» degan buyruq yetarli emas: qaysi kitoblar va qachongacha? «Stol ustida kitob qolmaguncha, bittadan olib javonga qo’ying» deyilsa, to’xtash sharti ravshanlashadi. Shu shart bajarilgach, boshqa kitob qidirish kerak emas.
Algoritmni qanday yozish va tekshirish kerak?
Algoritmni oddiy gaplar bilan yozish mumkin. Murakkabroq vazifada blok-sxema, ya’ni qadamlarni shakllar va yo’nalish ko’rsatuvchi chiziqlar bilan tasvirlash usuli yordam beradi. Shartdan keyin yo’l qayerda ajralishini shu tarzda ko’rish osonlashadi. Boshlash uchun esa daftar va tushunarli jumlalar yetarli.
Tekshirishda har bir qadamni yozilganidek bajaring. Masalan, «Sonning juft yoki toqligini aniqlang» vazifasi uchun sonning oxirgi raqamiga qarash mumkin. Oxirgi raqam 0, 2, 4, 6 yoki 8 bo’lsa, son juft; boshqa raqam bo’lsa, toq bo’ladi. Bu qoida butun sonlar uchun ishlaydi. Shuning uchun topshiriqda qanday son berilishini ham aniqlashtirish kerak.
Faqat qulay misol bilan cheklanmang. Juft sonni ham, toq sonni ham tekshiring; nolni ham sinab ko’ring. Agar natija noto’g’ri chiqsa, butun yechimni darhol almashtirmang. Dastlab xato qaysi qadamdan boshlanganini toping: shart noto’g’ri yozilganmi, amal tushib qolganmi yoki tartib buzilganmi?
Kompyuter dasturi bilan algoritmning farqi nimada?
Algoritm — yechimning qadamlari, dastur esa shu qadamlarning kompyuter bajaradigan tilda yozilgan ko’rinishidir. Dasturlash tili kompyuterga buyruq berish uchun ishlatiladigan qoidalar tizimidir. Bir xil vazifaning algoritmini turli dasturlash tillarida ifodalash mumkin. Demak, algoritm tuzish uchun darhol dasturlashni bilish shart emas.
Kompyuter siz aytmagan qadamni o’zicha qo’shib qo’yadi deb kutmang. Masalan, sonlarni o’sish tartibida joylash topshirig’ida qaysi qiymatlarni taqqoslash va ularning o’rnini qachon almashtirish kerakligi belgilanishi lozim. Odamga «Bularni tartiblang» deyish yetishi mumkin, chunki u oldingi bilimidan foydalanadi. Dasturda esa kerakli amallar aniq ifodalanadi.
Ba’zan bir vazifani turli algoritmlar bilan bajarish mumkin. Kerakli daftarni topish uchun daftarlarni bittadan ko’rib chiqasiz yoki ular fanlar bo’yicha ajratilgan bo’lsa, darhol tegishli bo’limga qaraysiz. Qaysi yo’l qulayligi boshlang’ich tartibga bog’liq. Algoritm tanlashda natija bilan birga ortiqcha qadamlar bor-yo’qligini ham tekshiring.
Qiziqarli faktlar
- Yozma ko’paytirish va ustun shaklida qo’shish ham belgilangan qadamlar asosida bajariladi.
- Bitta algoritm turli boshlang’ich ma’lumotlar bilan ishlashi mumkin: qo’shish qoidasi sonlar almashganda ham saqlanadi.
- Qadamlar o’rnini almashtirish ba’zan natijani o’zgartiradi. Sonni avval ko’paytirib, keyin qo’shish bilan shu amallarni teskari bajarish har doim bir xil natija bermaydi.
- Shart va takrorlash bitta algoritm ichida birga kelishi mumkin. Masalan, har bir daftarni tekshirib, faqat matematika daftarlarini alohida ajratish mumkin.
- To’g’ri tuzilgan algoritmni tekshirishda kutilgan natija bilan olingan natija solishtiriladi.
Algoritm nima degan savolga o’z misolingizni topish uchun stolni tartiblash qadamlarini yozing. So’ng yaqinlaringizdan ko’rsatmani aynan yozilganidek bajarishni so’rang. Ular biror joyda savol bersa, o’sha qadamni aniqlashtiring: buyumning nomini, qo’yiladigan joyini yoki ishning tugash shartini qo’shing.
Ko’p beriladigan savollar
Har qanday ishlar ro’yxati algoritm bo’ladimi?
Yo’q, ishlar ro’yxati har doim ham algoritm bo’lavermaydi. Algoritmda qadamlar tushunarli bo’lishi, vazifaga mos tartibda kelishi va natijaga olib borishi kerak. «O’qish, yozish, yig’ishtirish» kabi umumiy ro’yxat esa aniq ko’rsatma bermaydi.
Algoritm faqat matematika va informatika uchun kerakmi?
Yo’q, undan kundalik vazifalarni tartibga solishda ham foydalanasiz. Sumka tayyorlash, o’yin qoidalariga amal qilish yoki buyumlarni belgisiga qarab ajratishda ham aniq qadamlar yordam beradi.
Algoritmni yozmasdan, og’zaki aytsa bo’ladimi?
Ha, algoritmni og’zaki ham ifodalash mumkin. Qadamlar ko’paysa yoki shartlar qo’shilsa, yozib qo’yish ularni esdan chiqarmaslik va xatoni tekshirish uchun qulayroq.
To’g’ri algoritm har safar bir xil natija beradimi?
Bir xil boshlang’ich ma’lumot va bir xil aniq qoidalar bilan bajarilgan oddiy algoritm bir xil natija beradi. Boshlang’ich ma’lumot o’zgarsa, natija ham o’zgarishi mumkin: qo’shiladigan sonlar boshqa bo’lsa, yig’indi ham boshqa chiqadi.