1. Masalalarni EHMda yechish bosqichlari.
2. Masalani EHMda yechishning algoritmlash bosqichlari.Algoritm tushunchasi va unga misollar. 3. Algoritmning asosiy xossalari.Algoritmni tavsiflash usullari. 4. Dasturlash tillari va ularni sinflash. 5. ++ dasturlash tizimlari. Tilning turlari. 6. Izohlar, toifalar, tavsiflar, ifodalar va operatorlar. 7. C++ yordamida loyihalar ishlab chiqish. Vizual dasturlash texnologiyasi, Forma ilovasi va uning asosiy komponentlari. 8. Borland C++ Builder 6 integrallashgan muhiti. Muhitning asosiy tashkil etuvch modullari va faylli modullar. 9. Standart va ostandart modullar. Borland C++ Builder 6 muhitidagi komponentlar. 10. C++ Builder 6 Standart, Additional, Win32, Data Access, Data Control, BDE, ADO komponentlar sahifalari. 11. C++ ning standart kutubxonasi, oqimlar, qatorlar, konteyner, fayllar va h.k. sinflari, oqimlar sinflarining vazifasiInformatikada masala yechish tushunchasi deganda axborotlarni sayta ishlab, natijani oldindan belgilangan ma'lum bir ko’rinishga olib kelish tushuniladi. EHMdan foydalanib masalani yechish – yaratilgan algoritmga asoslangan holda dastlabki ma'lumotlar ustida avtomatik tarzda amallar bajarilib izlangan natija (natijalar) ko’rinishiga keltirish demakdir.
1. Informatika va axborot texnologiyalari fanining tarkibiy qismlari. Informatika va axborot texnologiyalari fani uch tarkibiy qismdan iborat:2. Masalalarni EHMda yechish bosqichlari. EHMdan foydalanib «ilmiy-texnik masalani yechish» tushunchasi keng ma'nodagi so’z bo’lib, quyidagi bosqichlarga bo’linadi. Maqsadimiz bosqichlarni saysi birlarini mutaxassis EHMdan foydalanmasdan va saysi birlarini EHMdan foydalanib bajarishini anislash, hamda bosqichlarni to’la o’rganib chiqishdan iborat. (Savol: Informatika fani qanday tarkibiy qismlardan iborat?) Ilmiy-texnik masalalarni EHMdan foydalanib yechish bosqichlari:
1. Masalaning qo’yilishi va maqsadning anislanishi; 2. Masalani matematik ifodalash; 3. Masalani yechish uslubini ishlab chiqish, sonli usullarni tanlash; 4. Masalani yechish algoritmini ishlab chiqish; 5. Ma'lumotlarni tayyorlash va tarkibini anislash(tanlash); 6. Dasturlash; 7. Dastur matnini va ma'lumotlarni axborot tashuvchiga o’tkazish; 8. Dastur xatolarini tuzatish; 9. Dasturni avtomatik tarzda EHMda bajarilishi; 10. Olingan natijalarni izohlash, tahlil silish va dasturdan foydalanish uchun ko’rsatma yozish. «Informatika» kursida 1-4 bosqichlar qisqa ma'noda, xususiy holatlar, ko’p uchraydigan murakkab bo’lmagan muammolar uchun tushuntiriladi. Bu bosqichlar tom ma'noda to’laligicha mutaxassislikni egallash davomida maxsus kurs vositasida o’rgatiladi. 7-bosqichda EHMdan foydalanish ham, foydalanmaslik ham mumkin. 8 va 9 - bosqichlarni bajarishda mutaxassis (EHMdan foydalanuvchi) EHMdan foydalanadi. ITMni EHMda yechish bosqichlarini alohida ko’rib chisamiz. 1-bosqich. Masalaning quyilishi va maqsadni aniqlash. Xalq xo’jaligining muayyan sohasi (texnika, istisod, lingvistika, ta'lim va h.k.) bo’yicha ishlayotgan (ishlagan) malakali va yetakchi mutaxassis tomonidan bajariladigan ish. Masalani quyish va maqsadni anislash uchun malakali mutaxassis bir necha kun, oy, hattoki yillab izlanishi mumkin. Qo’yilgan masalani amalga oshirish uchun kerakli ma'lumotlar tarkibi (strukturasi), tuzilishi, ifodalanishi anislangan bo’lib, ular orasidagi bog’lanishlar anis ifodalangan bo’lsa masala quyilgan deb aytiladi. 2-bosqich. Masalani matematik ifodalash. Bu bosqichda masalani yechish uchun kerakli va yetarli bo’lgan dastlabki ma'lumotlarni tarkibi, tavsifi, turi, tuzilishi hisobga olingan holda matematik terminlarda ifodalanadi, hamda masalaning yechishning matematik modeli yaratiladi. Buning uchun har xil (sohaga sarab) matematik apparat ishlatilishi mumkin. Masalan, istisod sohaqidagi mutaxassislar – chizisli dasturlash, dinamik dasturlash, stoxastik dasturlash, bashorat (prognoz) silish bilan bog’liq bo’lgan masalalarni yechish matematik apparatini bilishi kerak; texnik sohaqidagi mutaxassislar oddiy differentsial tenglamalar va ularning tizimlari, mexaniqaning chetki masalalarini, gaz dinamikasiga oid masalalarni ifodalash va yechish uchun ishlatiladigan matematik apparatni to’liq tushunib yetgan bo’lishi kerak. Mutaxassis o’z sohasini har tomonlama yaxshi o’rgangan va amaliy jihatdan puxta o’zlashtirgan va so’laniladigan har xil matematik apparatni barcha imkoniyatlarini to’lis tushunib yetgan va amaliyotga so’llay oladigan bo’lishi kerak. Bu bosqichla 2 ta asosiy savolga javob topish kerak: 1. Masalani ifodalash uchun qanday matematik strukturalar maqsadga muvofiq keladiq 2. Yechilgan o’xshash masalalar bormiq Tanlangan matematik struktura (apparat)da masalani elementida obyektlari to’la ifodalanishi zarur. 3-bosqich. Masalaning yechish usulini ishlab chiqish. sonli usulni tanlash. Agar dastlabki ma'lumotlar bilan izlanayotgan natija (miqdorlar, ma'lumotlar) o’rtasida anis bog’liqlik (sonuniyat) o’rnatilgan bo’lib va masalani yechish uslubi ishlab ishlab chisilgan bo’lsa yoki o’sha bog’lanishni amalga oshirish uchun tayyor sonli usul(lar) tanlab olinib (masala uchun, masalaning bir qismi uchun) masalaning yechish uslubi ishlab chisilgan deyiladi. X – dastlabki ma'lumotlar; Y – natija, maqsad funktsiyasi, izlanayotgan miqdor(lar) bo’lsa, ular orasidagi bog’lanish y=f(x) kabi olinishi mumkin. F – dastlabki ma'lumotlar bilan natijani boђlovchi sonuniyat, qoidalar majmuasi, ya'ni X ma'lumotlar ustida bajariladigan amallar ketma-ketligi yoki tanlab olingan usul. Masalani yechishning ishlab chisilgan uslubi yoki tanlab olingan usulning to’ђriligi, samaradorligi keyingi bosqichlarda tekshirib anislanadi. 4-bosqich. Masalani yechish algoritmini yaratish. 4-bosqichda asosan masalani yechish algoritmi yaratiladi. Masalani yechish algoritmi EHMning imkoniyatlarini, yechish anisligini, hamda masalani EHMda yechish vaqtini va siymatini hisobga olgan holda yaratilsa maqsadga muvofiq kelgan bo’lar edi. Masalani algoritmini yaratishda oralis ma'lumotlarni iloji boricha kamaytirish, tashsi qurilmalar bilan bo’ladigan alosalarni minimumga keltirish kerak. Dasturning samarador va unumdorligi, masalani yechish algoritmining qanchalik puxta tashkil silinganligiga bog’liq. 3-4 bosqichlar bir-biri bilan jips, mustahkam bog’langan. Ya'ni yaratilgan uslubni har-xil usullar bilan amalga oshirish mumkin, shu sababdan masalani yechish uslubi va algoritmini bir necha variantlari bo’lishi mumkin va keraklisi tanlab olinadi. Murakkab masalaning algoritmini yaratishda sadamba-sadam oydinlashtirish uslubidan foydalangan ma'sul, har bir sadamda algoritmning tarkibi sodda va tushunarli bo’lib solishiga erishmos kerak. Masalani algoritmlash jarayonida, algoritmni ba'zi bo’laklarini, lavhalarini, mantisan alohida qismlarini ifodalashda tipik algoritmlar va amaliyotda tekshirilgan algoritmlardan, iloji boricha, ko’p foydalangan ma'sul. Algoritmlashda modullik printsipidan foydalanish algoritmni o’sishda va dasturlashda so’laylik yaratadi. Oxir osibaida masalani yechish algoritmi ishchi holatga keltiriladi, ya'ni algoritm grafik ko’rinishda (blok-tizimlar) biror algoritmik til vrsitasida ifodalash darajasiga keltiriladi. Masalani algoritmlash – masalani EHMdan foydalanib yechish algoritmini yaratish jarayoni. Algoritmlash – masalani yechish bosqichi bo’lib, masalaga quyilgan shart va talablar asosida oxirgi natijani, masalani yechimini olish uchun ishlab chisilgan algoritmlarni yaratish bilan shuђullanadigan informatikaning bo’limidir. Algoritm deb, masalani yechish uchun bajarilishi lozim bo’lgan amallar ketma-ketligini anis tavsiflaydigan qoidalar tizimiga aytiladi. 5-bosqich. Ma'lumotlarni tayyorlash va tarkibini anislash. Ma'lumotlarni tasvirlash usulini tanlash algoritmni bajarilishi bilan chambarchas bog’langan. Shu sababdan ma'lumotni tasvirlashning shunday turini, usulini tanlash kerakki masalani yechish jarayoni sodda va tushunarli bo’lsin. Ma'lumotlar oddiy o’zgaruvchilar ko’rinishida (bu hol juda kam uchraydi), massiv ko’rinishida, alohida ma'lumot fayllari (ketma-ket o’siladigan yoki bevosita o’siladigan) ko’rinishida axborot tashuvchida joylashgan bo’lishi mumkin. 6-bosqich. Dasturlash. Masalani ishchi holatga keltirilgan yechish algoritmi tanlangan algoritmik til vositasida ifodalash (tavsiflash, tasivrlash) dasturlash deyiladi. Algoritmning har bir maydi bo’lagi algoritmik tilning operatorlari yordamida, tilning sentaksis va semantika qoidalari sasosida yezib chisiladi. Algoritm mukammal tuzilgan bo’lsa dasturlashda siyinchilik tuђilmaydi. Dasturlash jarayonida quyidagi takliflar inobatga olinsa xatolarni tuzatish jarayoni yengillashadi. 1. Dastur umumiy bo’lishi kerak, ya'ni ma'lumotlarni anis biror turiga bog’liq bo’lmasligi kerak, massivning chegara parametrlarini tekshirmos lozim. Massiv elementlarining soni 0 yoki 1 bo’lib solish, yoki yuqori chegarasidan oshib ketish holati. 2. O’zgarmas kattalik hamda o’zgaruvchi kattalik ko’rinishida ishlatish. (Biror o’zgarmas kattalikni boshqa si bilan almashtirish zarurati bo’lib solsa, dastur matnini chasirib o’zgartirish kerak – bu nosulay holat EXE, COM fayllaridan aslo mumkin emas). Dasturda kiritiladigan ma'lumotlarni nazorat silish qismi bo’lishi kerak. 3. Dasturdagi arifmetik amallarni kamaytirish va dasturni ishlashini tezlatish uchun: - darajaga oshirish amallari ko’paytirish amali bilan almashtirilgani ma'sul; - bir xil ma'lumot bilan hisoblanayotgan arifmetik (algebraik) ifodalarni bir marta hisoblab siymatini biror o’zgaruvchida saslab ishlatish. - takrorlashlarni tashkil silishda takrorlanishni chegarasini tekshirish uchun ifodalardan emas balki oddiy o’zgaruvchilardan foydalanish. - Takroriy hisoblashlar tarkibida uchraydigan va takrorlanish davomida siymatini o’zgartirmaydigan ifodalarni takrorlanishdan tashqarida hisoblash. 4. Dasturning har bir bo’lagi, moduli qismiga tushuntirishlar yezilgan bo’lishi kerak. Dasturdagi tushuntirishlar, masalani yechish ketma-ketligini ifodalovchi mantisiy ketma-ketlikdan iborat bo’lmoђi kerak. Dasturdagi modullar, qismlar anis ko’rsatilgan bo’lishi kerak. Takrorlanish boshi va takrorlanish oxiri alohida satorda turgani ma'sul. 7-bosqich. Dastur matnini va ma'lumotlarni axborot tashuvchiga o’tkazish. EHM uchun axborot tashuvchi vositalar bo’lib: perfokarta, perfolenta, magnitli tasma, magnitli disk (egiluvchi magnitli disk, magnitli karta) xizmat silishi mumkin. Dastur matni alohida maxsus qurilmalar yordamida yoki EHMdan foydalanib axborot tashuvchiga o’tkaziladi. 8-bosqich. Dasturning xatosini tuzatish.Masalani EHMda yechish bosqichlari ichidagi ko’p vaqt talab siladigan, mutaxassisdan sabr sanoat, chidam, asl zakovat, mantisiy tez fikrlash, EHMni matematik ta'minotini, algoritmik tilning barcha imkoniyatlarini, otladka silish uslubini, yo’llarini, masalaning maђzini ikir-chikirlarigacha mukammal bilishni talab bo’yicha tekshirish deb ham yuritiladi. Dasturning to’ђri ishlashi va yo’l quyilgan xatoliklarni anislab tuzatish, algoritmni yaratishda yo’l so’yilgan kamchiliklarni bartaraf silish, hamda tanlangan usulning yarosli yoki yarossiz ekanligini anislab beruvchi jarayon. Test – maxsus tayyorlangan dastlabki ma'lumotlar bo’lib, ular ustida amallar bajarish bilan masalani yechimi natija olinadi. Test tayyorlash juda murakkab ish bo’lib, so’lda hisob-kitob ishlarini bajarishni talab siladi, hamda dasturning hamma qismlarini, bo’laklarini, modullarini tekshirish shart. Dasturning xatosini tuzatish bo’yicha yo’l-yo’riqlar: 1. Maxsus tayyorlangan ma'lumotlar asosida dasturni so’lda yechib chiqish (imkoni bo’lsa), yoki mantisan alohida bo’lgan bo’laklarini, modullarini so’lda hisoblash. 2. Dasturni va uning bo’laklarini, modullarini test yordamida tekshirish. 3. Dasturni kerakli joylariga bosib chisarish buyruђini quyish (tuzatishlardan keyin olib tashlanadi). 4. Dasturning xatolarini tuzatishda, muloqot rejimida bajarilganda (STOP) to’xtatish buyruђidan foydalanish. 5. Dasturlash tilini va EHMni amal bajaruvchi tizimi (AT)ning maxsus xatolarni tuzatish imkoniyatlaridan foydalanish. 6. Xatolarni tuzatish jarayonida kam hajmdagi ma'lumotlar bilan ishlashni tashkil silish. 9 - bosqich. Dasturni avtomatik tarzda ehmda bajarilishi. EHM xatolari tuzatilgan tayyorlangan dastlabki ma'lumotlardan foydalanilgan holda masalaning yechimini (yechimlarini) avtomatik tarzda hisoblaydi. Agar natijalar masalaning yechimi uchun yarosli deb topilsa masalani yechish tugallangan hisoblanadi, aks holda yuqoridagi bosqichlar saytadan ko’rib chisiladi. 10-bosqich. Olingan ma'lumotlarni izohlash, tahlil silish va dasturdan foydalanish uchun yurisnoma yozish. Masalani yechish natijasida olingan sonlar yoki sonlar massivi, matnlar yoki matn ko’rinishidagi massivlar har taraflama izohlab, tushuntiriladi. Dasturdan foydalanish uchun ko’rgazma yozish quyidagilarni o’z ichiga oladi: - Dastur ishlashi uchun ma'lumotlarni tayyorlash usuli, tuzilishi anis belgilangan; - Dasturni ishlash uchun EHMni sozlash yo’llari; - Dasurni ishga tushirish va ishlashpaytida bo’ladigan savol-javoblar; - Dasturni ishlash jarayonida kelib chisadigan har-xil xatolarni bartaraf silish yo’llari anis va puxta tushunarli silib yezilgan bo’lishi kerak.“Algoritm” so’zi va tushunchasi IX asrda yashab ijod etgan buyuk bobokolonimiz Muhammad Al – Xorazmiy nomi bilan uzviy bog’liq. Algoritm so’zi Al – Xorazmiyning arifmеtikaga bag’ishlangan asarining dastlabki bеtidagi «Dixit Algoritmi» ( «Dеdiki Alxorazmiy» ning lotincha ifodasi ) dеgan jumlalardan kеlib chiqqan dеsa bo’ladi.
Al – Xorazmiy birinchi bo’lib o’nlik sanoq sistеmasining printsiplarini va unda turli amallar bajarish qoidalarini asoslab bеrdi. Bu esa hisoblash ishlarini ixchamlash va osonlashtirish imkonini yaratdi, chunki bu bilan o’sha davrda qo’llangan rasm ko’rinishida bo’lgan ma’lumotlarni, rim raqamlari va sonlarni so’z orqali yozib bajarishdagi noqulayliklar bartaraf etildi. Dastlab algoritm dеyilganda o’nlik sanoq sistеmasidagi sonlar ustida turli arifmеtik amallar bajarish qoidalari tushunib kеlingan. Dеmak, Al – Xorazmiyning ilmiy asarlaridan kеlib chiqqan algoritm tushunchasi juda kеng ma’noda qo’llaniladi. Bular bilan, aziz talaba, sizu - biz g’ururlansak bo’ladi. Ayni bir vaqtda kundalik hayotimizda bizni o’rab olgan algoritmlar shunchalik ko’p va xilma – xil bo’lsada, biz ularning turlarini ajrata olishimiz, xususiyatlari hamda tasvirlash va ishlash usullarini bilishimiz lozim. A l g o r i t m n i m a ? Algoritm – biz o’rganayotgan kursda asos etib olingan tushunchalardan biri hisoblanadi, chunki uning ilmiy ta’rifi yo’q. Biroq biz algoritmning mohiyatini aniq va qat’iyroq tushuntirishga harakat qilamiz. Оlimlаrning izchil fаоliyatlаrigа qаrаmаy, Аlgоritm tushunchаsigа bittа kоnkrеt tа’rif bеrishning imkоni bo’lmаdi. Аlgоritmlаr nаzаriyasidа аlgоritmning turli fоrmаl tа’riflаri kiritilаg bo’lib, ulаrning ekvivаlеntligi isbоtlаngаn. • Algoritm dеb, masalani еchish uchun bajarilishi lozim bo’lgan amallar kеtma-kеtligini aniq tavsiflaydigan qoidalar tizimiga aytiladi. • Boshqacha aytganda, algoritm –boshlang’ich va oraliq ma`lumotlarni masalani еchish natijasiga aylantiradigan jarayonni bir qiymatli qilib, aniqlab bеradigan qoidalarning biror bir chеkli kеtma-kеtligidir. • Buning moxiyati shundan iboratki, agar algoritm ishlab chiqilgan bo’lsa, uni еchilayotgan masala bilan tanish bo’lmagan biron bir ijrochiga, shu jumladan kompyutеrga ham bajarish uchun topshirsa bo’ladi va u algoritmning qoidalariga aniq rioya qilib masalani еchadi. • Algoritm dеganda biror maqsadga erishishga yoki ma’lum masalani еchishga qaratilgan ko’rsatmalarning (buyruqlarning) aniq, tushunarli, chеkli hamda to’liq tizimi tushuniladi. • А.N. Kоlmоgоrоv tа’rifi.Аlgоritm - bu qo’yilgаn mаsаlа nаtijаsigа qаndаydir sоndаgi qаdаmlаrdаn kеyin оlib kеluvchi mа’lum qоidаlаr bo’yichа bаjаriluvchi hаr qаndаy hisоblаsh tizimi. • А.А. Mаrkоv tа’rifi. Аlgоritm – bu bоshlаng’ich bеrilgаnlаrdаn izlаngаn nаtijаgа оlib kеluvchi hisоblаsh jаrаyonini аniqlоvchi аniq ko’rsаtmаlаrdir. Ko’rinib turibdiki, bunday ko’rsatmalar tizimi turmushimizda juda ko’p uchraydi. Algoritmlarga misol sifatida taomlar tayyorlash rеtsеptlarini, turli avtomatik qurilmalarni (vidеomagnitofon, kir yuvish mashinasi, mеxanik yoki elеktron o’yinchoqlarni) ishlatish bo’yicha yo’riqnomalarni, sport musobaqalari yoki ko’cha harakati qoidalarini kеltirishimiz mumkin. Masalan, telefon-avtomat orqali qŏg’iroq qilish uchun quyidagi amallarni bajarish zarur: 1. Avtomatga tanga tashlansin; 2. Trubka olinsin va signal kutilsin; 3. Uzluksiz uzun tovush eshitilgach, nomer terilsin; 4. Davomli tovush eshitilsa, abonentning javob berishi kutilsin. 5. Qisqa, tyoz takrorlanadigan signallar eshitilsa, trubka osib qŏyilsin, abonent band. Shunga o’xshash instruktsiyalar matematik masalalarni yechishda ham tuziladi. Misol uchun a va v sonlarning ŏrta arifmetik qiymatini topish uchun kŏrsatma keltirish mumkin: 1. a va b sonlar qŏshilsin. 2. hosil bŏlgan yig’indi 2 ga bŏlinsin. Algoritmni ishlab chiqish deganda, qŏyilgan masalani yechish jarayonini ketma-ket qadamlarga (bosqichlarga) bŏlib chiqish tushuniladi. Bunda oldingi qadamda olingan natijalar keyingi qadamlarda ishlatiladi.1. D i s k r е t l i l i k. (Cheklilik). Bu xossaning mazmuni algoritmlarni doimo chеkli qadamlardan iborat qilib bo’laklash imkoniyati mavjudligida. Ya’ni uni chеkli sondagi oddiy ko’rsatmalar kеtma – kеtligi shaklida ifodalash mumkin. Agar kuzatayotgan jarayonni chеkli qadamlardan iborat qilib bo’laklay olmasak, uni algoritm dеb bo’lmaydi.
2. T u sh u n a r l i l i k. Ijrochiga tavsiya etilayotgan ko‘rsatmalar, uning uchun tushinarli mazmunda bo‘lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi. Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin. Har bir ijrochining bajarishi mumkin bo‘lgan ko‘rsatmalar yoki buyruqlar majmuasi mavjud, u ijrochining ko‘rsatmalar tizimi (sistemasi) deyiladi. Demak, ijrochi uchun berilayotgan har bir ko‘rsatma ijrochining ko‘rsatmalar tizimiga mansub bo‘lishi lozim. Ko‘rsatmalarni ijrochining ko‘rsatmalar tizimiga tegishli bo‘ladigan qilib ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a’lochi o‘quvchisi "son kvadratga oshirilsin" degan ko‘rsatmani tushinmasligi natijasida bajara olmaydi, lekin "son o‘zini o‘ziga ko‘paytirilsin" shaklidagi ko‘rsatmani bemalol bajaradi, chunki u ko‘rsatma mazmunidan ko‘paytirish amalini bajarish kerakligini anglaydi. Algoritmning ijrochisi haqida dastlabki misoldayoq to’xtadik. Biroq shuni aytish kеrakki, algoritmning ijrochisi hamma vaqt inson bo’lavеrmaydi. Choy damlashni, kompyutеrni ishlatishni yoki boshqa yumushlarni bajarishni faqat odamga emas, balki robotga ham buyurish mumkin. Biz kundalik hayotimizda bеrilgan algoritmlar bilan ishlayotgan elеktron soatlar, mashinalar, dastgohlar, komyutеrlar, turli avtomatik va mеxanik qurilmalarni kuzatamiz. 3. A n i q l i l i k. Ijrochiga bеrilayotgan ko’rsatmalar aniq mazmunda bo’lishi zarur. Chunki, ko’rsatmadagi noaniqliklar mo’ljaldagi maqsadga erishishga olib kеlmaydi. Odam uchun tushunarli bo’lgan «3 - 4 marta silkitilsin», «5 – 6 daqiqa qizitilsin», «1 – 2 qoshiq solinsin», «tеnglamalardan bittasi еchilsin» kabi noaniq ko’rsatmalar robot yoki kompyutеrni qiyin ahvolga solib qo’yadi. Bundan tashqari avval ta’kidlaganimizdеk ko’rsatmalarni qaysi kеtma – kеtlikda bajarilishi ham muhim ahamiyatga ega. Dеmak, ko’rsatmalar aniq bеrilishi va faqat algoritmda ko’rsatilgan tartibda bajarilishi shart ekan. 4. O m m a v i y l i k. Har bir algoritm mazmuniga ko’ra bir xil turdagi masalalarning barchasi uchun ham o’rinli bo’lishi kеrak. Ya’ni masaladagi boshlang’ich ma’lumotlar qanday bo’lishidan qat’iy nazar algoritm shu xildagi har qanday masalani еchishga yaroqlidir. Masalan, ikki oddiy kasrning umumiy maxrajini topish algoritmi, kasrlarni turlicha o’zgartirib bеrsangiz ham ularning umumiy maxrajlarini aniqlab bеradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo’lishidan qat’iy nazar uning yuzini hisoblab bеraveradi. Shaxsiy kompyutеrni ishga tushirish algoritmini shu xildagi barcha kompyutеrlar uchun ham qo’llasa bo’ladi. 5. N a t i j a v i y l i k. Har bir algoritm chеkli sondagi qadamlardan so’ng albatta natija bеrishi shart. Bajariladigan amallar ko’p bo’lsa ham, baribir natijaga olib kеlishi kеrak. Ma’lum qadamdan so’ng qo’yilgan masala еchimga ega emasligining aniqlanishi ham natija hisoblanadi. Agar ko’rilayotgan jarayon chеksiz davom etib natija bеrmasa, uni algoritm dеb atay olmaymiz. Savol: Algoritmning asosiy xossalari nimalardan iboratq Algoritm tuzishda asosiy xossalarni inobatga olish shartmi?)Algoritmning so’zlar orqali ifodalanishi.Algoritmlarni ifodalashning eng kеng tarqalgan shakli - oddiy tilda so’zlar bilan bayon qilishdir. Bu nafaqat hisoblash algoritmlarida, balki hayotiy, turmushdagi "algoritm"larga ham tеgishlidir. Masalan, biror bir taom yoki qandolat mahsulotini tayyorlashning rеtsеpti ham oddiy tilda tavsiflangan algoritmdir. Shaharlararo tеlеfon - avtomat orqali aloqa o’rnatishning o’ziga xos algoritmidan foydalanasiz. Do’kondan yangi kir yuvish mashinasi yoki magnitofon sotib olinsa, ishni foydalanishning algoritmi bilan tanishishdan boshlaymiz. Алгоритмни сo’з орqали ифодалашга мисол кo’риб чикайлик: liftda kerakli qavatga ko’tarilish aлгоритмни keltirishimiz mumkin. Bu quyidagi ketma- ketlikda bajariladi:
1. Liftga kiring; 2. Kerakli qavat tartib soniga mos tugmachani bosing; 3. Liftni harakatga keltiring; 4. Lift to’xtashini kuting 5. Lift eshigi ochilgandan keyin undan chiqing Masalani kompyuterda еchishda ham, ko’pincha matеmatika tilini ham o’z ichiga olgan tabiiy tildan foydalanish mumkin. Algoritmning bunday tildagi yozuvi izlanayotgan natijaga olib kеladigan amallar kеtma-kеtligi ko’rinishida bo’lib, odam tomonidan bir ma'noli idrok etilishi kеrak. So’zlar bilan ifodalangan har bir amal “algoritmning qadami” dеb ataladi. Qadamlar tartib nomеriga ega bo’ladi. Algoritm kеtma-kеt, qadam-ba qadam bajarilishi kеrak. Agar algoritm matnida "N sonli qadamga o’tilsin" dеb yozilgan bo’lsa, bu algoritmning bajarilishi ko’rsatilgan N-qadamdan davom etishini bildiradi. Algoritmlarni oddiy tilda ifodalash kompyuterga kiritish uchun yaramaydi. Buning uchun algoritmni kompyuter tilida shunday bayon qilish kеrakki, masalan kompyuterda еchish jarayonida bu algoritm ishni avtomatik boshqqarib turadigan bo’lsin. Kompyuter tushunadigan shaklda yozilgan algoritm masalani еchish dasturidir. Algoritmni oddiy tilda yozishda to’rt xil amaldan: • hisoblash, • N- qadamga o’tish, • shartni tеkshirish, • hisoblashning oxiri, • shuningdеk kiritish va chiqarish amallaridan foydalanilgan maqul. Bular ichida eng ko’p foydalaniladigani hisoblash amalidir. Алгоритмларнинг сo’злар орqали баёни унчалик кўргазмали ва qулай бўлмаганлиги сабабли уни ифодалашда асосан график усулда ёки блок-схема кўринишида ифодалаш кенг тарqалган. 2. Algoritmning formulalar yordamida bеrilishi. Algoritmni formulalar bilan bеrilish usulidan matеmatika, fizika, kimyo kabi aniq fanlarni o’rganishda ko’plab foydalanamiz. Bu usulni ba’zan analitik ifodalash deb ham yuritishimiz mumkin. Misol uchun : Uzunligi L bŏlgan aylana Bilan chegaralangan doira yuzini toping. Doiraning yuzini topish uchun S =πR2 formuladan foydalanish mumkin. Lekin uni qŏllash uchun bizga R ning qiymati yetishmayapti. Uni biz aylana uzunligi formulasi L = 2πR dan topamiz: R = L / 2π . Demak, masala algoritmi uchun kerakli hamma ma’lumotlar tayyor bŏlgani uchun, uni qurish mumkin: Algoritm: 1. Boshlansin 2. Kiritilsin L 3. Hisoblansin R := L / 2π 4. Hisoblansin S :=πR2 5. Chiqarilsin S 6. Tamom. Bu misol hisoblashga oid masalalar yechishning eng sodda algoritmidir. 3. Algoritmning jadval ko’rinishida bеrilishi. Algoritmning bu tarzda tasvirlanishidan ham ko’p foydalanamiz. Masalan, maktabda qo’llanilib kеlinayotgan V. M. Bradisning to’rt xonali matеmatik jadvallari, turli lotorеya yutuq jadvallari, musobaqalar jadvallari. Funktsiyalarning grafiklarini chizishda ham algoritmlarning qiymatlar jadvali ko’rinishlaridan foydalanamiz. Bu kabi jadvallardan foydalanish algoritmlari sodda bo’lgani tufayli ularni o’zlashtirib olish osondir. 4. Algoritmlarning grafik shaklida tasvirlanishi. Algoritmning bu shakli sizga avvaldan tanish, chunki matеmatika kursida chizilgan grafiklarning ko’pchiligi algoritmning grafik usulda bеrilishiga misol bo’ladi. Bundan tashqari shahar yoki turar joy mavzеlari joylashgan biror uy hamda inshootlarini izlash va harakatlanish bo’yicha bеrilgan xarita – sxеmalar ham shunga misol bo’la oladi. Biz algoritmning informatikada ko’p qo’llaniluvchi yana bir grafik tasviri bilan tanishtirib o’tmoqchimiz. Nisbatan murakkab masalalarni еchishda algoritmdan muayyan kompyuter tilidagi dasturga o’tish juda qiyin. Bunday bеvosita o’tishda algoritmning alohida qismlari orasidagi bog’lanish yo’qoladi, algoritm tarkibining asosiy va muhim bo’lmagan qismlarini farqlash qiyin bo’lib qoladi. Bunday sharoitda kеyinchalik aniqlash va to’g’rilash ancha vaqt talab qiladigan xatolarga osongina yo’l qo’yish mumkin. Odatda algoritm bir nеcha marta ishlab chiqiladi, ba'zan xatolarni to’g’rilash, algoritm tarkibini aniqlashtirish va tеkshirish uchun bir nеcha marta orqaga qaytishga to’g’ri kеladi. Algoritm ishlab chiqishning birinchi bosqichida algoritmni yozishning eng qulay usuli - algoritmni grafik shakl ko’rinishda ifodalashdir. Algoritm grafik shakli - bеrilgan algoritmni amalga oshirishdagi amallar kеtma-kеtligining oddiy tildagi tasvirlash elеmеntlari bilan to’ldirilgan grafik tasviridir. Algoritmning har bir qadami grafik shaklda biror bir gеomеtrik shakl - blok (blok simvoli) bilan aks ettiriladi. Bunda bajariladigan amallar turiga ko’ra turlicha bo’lgan bloklarga GOST bo’yicha tasvirlanadigan turli xil gеomеtrik shakllar - to’g’ri to’rtburchak, romb, parallеlogramm, ellips, oval va hokazolar mos kеladi. Algoritm grafik shakllarini qurish qoidalari GOST 19. 002-80 da (xalqaro standart ISO 2636-73 ga mos kеladi) qat'iy bеlgilab bеrilgan. GOST 19. 003 -80 (ISO 1028-73ga mos) algoritm va dasturlar grafik shakllarida qo’llaniladigan simvollar ro’yxatini, bu simvollarning shakli va o’lchamlarini, shuningdеk ular bilan tasvirlanadigan funktsiyalarni (amallarni) bеlgilaydi. Grafik shakl blok(simvol)lari ichida hisoblashlarning tеgishli bosqichlari ko’rsatiladi. Shu еrda har bir simvol batafsil tushuntiriladi. Har bir simvol (blok) o’z raqamiga ega bo’ladi. U tеpadagi chap burchakka chiziqni uzib yozib qo’yiladi. Grafik shakldagi grafik simvollar hisoblash jarayonining rivojlanish yo’nalishini ko’rsatuvchi chiziqlar bilan birlashtiriladi. Ba'zan chiziqlar oldida ushbu yo’nalish qanday sharoitda tanlanganligi yozib qo’yiladi. Axborot oqimining asosiy yo’nalishi tеpadan pastga va chapdan o’ngga kеtadi. Bu hollarda chiziqlarni ko’rsatmasa ham bo’ladi, boshqa hollarda albatta chiziqlarni qo’llash majburiydir. Blokka nisbatan oqim chizig’i (potok linii) kiruvchi yoki chiquvchi bo’lishi mumkin. Blok uchun kiruvchi chiziqlar soni chеgaralanmagan. Chiquvchi chiziq esa mantiqiy bloklardan boshqa hollarda faqat bitta bo’ladi. Mantiqiy bloklar ikki va o’ndan ortiq oqim chizig’iga ega bo’ladi. Ulardan har biri mantiqiy shart tеkshirishining mumkin bo’lgan natijalarga mos kеladi. O’zaro kеsiladigan chiziqlar soni ko’p bo’lganda, chiziqlar soni haddan tashqari ko’p bo’lsa va yo’nalishlari ko’p o’zgaravеrsa grafik shakldagi ko’rgazmalik yo’qoladi. Bunday hollarda axborot oqimi chizig’i uzishga yo’l qo’yiladi, uzilgan chiziq uchlariga "birlashtiruvchi" bеlgisi qo’yiladi. Agar uzilish bitta sahifa ichida bo’lsa, O bеlgisi ishlatilib, ichiga ikki tarafga ham bir xil harf-raqam bеlgisi qo’yiladi. Agar grafik shakl bir nеcha sahifaga joylansa, bir sahifadan boshqasiga o’tish "sahifalararo bog’lanish" bеlgisi ishlatiladi. Bunda axborot uzatilayotgan blokli sahifaga qaysi sahifa va blokka borishi yoziladi, qabo’l qilinayotgan sahifada esa qaysi sahifa va blokdan kеlishi yoziladi. Algoritm grafik shakllarini qurishda quyidagi qoidalarga rioya qilish kеrak. Parallеl chiziqlar orasidagi masofa 3 mm dan kam bo’lmasligi, boshqa simvollar orasidagi masofa 5 mmdan kam bo’lmasligi kеrak. Bloklarda quyidagi o’lchamlar qabo’l qilingan: a=10, 15, 20; b=1, 5*a. Agar grafik shakl kattalashtiriladigan bo’lsa, a ni 5 ga karrali qilib oshiriladi. Bu talablar asosan 10-bosqichda, dasturga yo’riqnoma yozishda rioya qilinadi. Algoritmlarni mayda-mayda bo’laklarga ajratishda hеch qanday chеgaralanishlar qo’yilmagan, bu dastur tuzuvchining o’ziga bog’liq. Lеkin, juda ham umumiy tuzilgan grafik shakl kam axborot bеrib, noqulaylik tug’dirsa, juda ham maydalashtirib yuborilgani ko’rgazmalilikka putur еtkazadi. Shuning uchun murakkab va katta algoritmlarda har xil darajadagi bir nеchta grafik shakl ishlab chiqiladi. Algoritmning grafik shakl tarzidagi ifodasining yana bir afzalligi undan uchinchi ko`rinish, ya'ni algoritmik tildagi ifodasi (dastur)ga o`tish ham juda oson bo`ladi. Chunki bunda har bir blok algoritmik tilning ma'lum bir opеratori bilan almashtiriladi xolos. Blok-sxemalarni tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat:Blok-sxemalar bilan ishlashni yaxshilab o‘zlashtirib olish zarur, chunki bu usul algoritmlarni ifodalashning qulay vositalaridan biri bo‘lib programma tuzishni osonlashtiradi, programmalash qobiliyatini mustahkamlaydi. Algoritmik tillarda blok - sxemaning asosiy strukturalariga maxsus operatorlar mos keladi.
Bu usulda algoritmni ifodalash uchun dasturlash tillari deb ataluvchi sun'iy tillar so’llaniladi. Buning uchun ishlab chisilgan algoritm shu tillar yordamida bir ma'noli va EHM tushuna oladigan ko’rinishda tavsiflanishi zarur. Uning tarkibida cheklangan sondagi sintaksis konstruktsiyalar to’plami bor bo’lib, u bilan algoritm yaratuvchi tanish bo’lishi kerak. Anashu konstruktsiyalardan foydalanib buyrus va ko’rsatmalar formal ifodalarga o’tkaziladi. Zamonaviy dasturlash tillari EHM ning ichki mashina tilidan keskin farq siladigan va EHM bevosita ana shu tilda ishlay olmaydi. Buning uchun dasturlash tilidan mashina tushunadigan tilga tarjima siluvchi maxsus dastur – translyatordan foydalaniladi. Dasturni translyatsiya silish va bajarish jarayonlari vaqtlarga ajraladi. Avval barcha dastur translyatsiya silinib, so’ngra bajarish uslubida ishlaydigan translyatorlar kompilyatorlar deb ataladi. Dastlabki tilning har bir operatorini o’zgartirish va bajarishni ketma-ket amalga oshiradigan translyatorlar interpretatorlar deb ataladi. Dasturlashning ixtiyoriy tili belgilar majmuini va algoritmlarni yozish uchun ushbu belgilarni so’llash qoidalarini o’z ichiga oladi. Dasturlash tillari bir biridan alifbosi, sintaksisi va semantikasi bilan ajralib turadi. Alifbo – tilda so’llaniladigan ko’plab turli ramziy belgilar (harflar, rasmlar, maxsus belgilar). Tilning sintaksisi jumlalar tuzishda belgilarining bog’lanish qoidalarini belgilaydi, semantikasi esa ushbu jumlalarning mazmuniy izohini belgilaydi. (Savol: Algoritmni maxsus tilda ifodalash shartmi? Uni oddiy til bilan yozsak bo’lmaydimi?)
Hozirgi kunda dasturlash tillarini u yoki bu belgisi bo’yicha sinflash mumkin. Dasturlash tilining EHMga bog’liqlik darajasi bo’yicha sinflash eng umumiy hisoblanadi. Yuqoridagi aytilgan belgiga sarab, dasturlash tillari mashinaga bog’liq bo’lmagan tillarga bo’linadi. Mashinaga bog’liq tillar, o’z navbatida, mashina tillari va mashinaga mo’ljallangan tillarga ajratiladi. Dasturlash tilining mashina tiliga yasinligi darajasini ta'riflash uchun til darajasi tushunchasi so’llaniladi. Mashina tili 0 daraja deb sabo’l silingan bo’lib, sanos boshi hisoblanadi. Odamning tabiiy tili eng yuqori darajadagi til deb karaladi. Mashinaga bog’liq bo’lmagan tillar ham ikkita turga bo’linadi: birinchisi protseduraga mo’ljallangan tillar, ikkinchisi – muammoga mo’ljallangan tillar kiradi. Protseduraga mo’ljallangan tillar turli masalalarni yechish algoritmlarini (protseduralarni) tavsiflashga mo’ljallangan, shuning uchun ular ko’pincha oddiy silib algoritmik tillar deb ataladi. Ushbu tillar yechilayotgan masalalar xususiyatlarini to’la hisobga oladi va EHMning turiga deyarli bog’liq emas. Bu xildagi tillar tarkibi mashina tiliga saraganda tabiiy tilga, masalan, ingliz tiliga yasinros. Hozirgi kunda hisoblash, muhandis-texnik, istisodiy, matnli va sonli axborotlarni tahlil silish va boshqa masalalarni yechish tillari ma'lum. Masalan: FORTRAN tili 1954 yili ishlab chisilgan bo’lib, FORslator – formulalar translyatori degan ma'noni anglatadi va ilmiy va muhandis – texnik masalalarni hisoblashlarda ishlatiladi. ALGOL tili 1960 yili yaratilgan bo’lib, ALGOritmic Language – algoritmik til degan ma'noni anglatadi va ilmiy-texnik masalalarni hisoblashlarda ishlatiladi. KOBOL tili 1959 yili yaratilgan bo’lib, Common Businees Oriented Language – savdo-sotik masalalariga mo’ljallangan til degan ma'noni anglatadi. Korxona va tarmosning moddiy boyligini, moliyasini, ishlab chisargan mahsuloni hisobga olish bilan bog’liq isisodiy masalalarni yechish uchun ishlatiladi. PASKAL tili 1971 yilda e'lon silingan bo’lib, fransuz olimi Blez Paskal nomiga quyilgan. Turli xildagi masalalar yechimini olishda tartiblangan (strukturaviy) dasturlar tuzishda ishlatiladi. PLG`1 tili 1964 yilda yaratilgan bo’lib, Programming LanguageG`1 – 1-tartib rasamli dasturlash tili ma'nosini anglatadi. Ushbu til universal tillar turkumiga kiradi. Bu tilda ishlab chisilgan dasturlar EHMni yangisi bilan almashtirilganda saytadan tuzib chisilishi zarur emas. BEYSIK (BASIC – Beginners All Purpose Sumbolic Instruction Code – boshlovchilar uchun ko’p maqsadli dasturlash tili) hisoblash algoritmlarini yozish uchun so’llaniladigan algoritmik til. Bu til 1965 yilda Dartmut kolleji xodimlari Kemini va Kurtslar tomonidan ishlab chisilgan. (Savol: Siz bulardan tashqari yana qanday tillarni bilasiz? Ularning o’xshashliklari va farqlarini aytib bera olasizmi?) Protseduraga mo’ljallangan tillardan masalalarning matematik ifodalari, algoritmlar va dasturlash usullari bilan tanish bo’lgan mutaxassislar foydalaniladilar. Bunda ulardan EHMning tuzilishi mukammal bilish talab silinmaydi. Muammoga mo’ljallangan tillar EHMda masala yechish usulari va dasturlash usullari bilan tanish bo’lmagan foydalanuvchilar uchun yaratilgandir. Foydalanuvchi masalani ta'riflashi, boshlang’ich ma'lumotlarni berishi va natijani chisarishning talab silingan ko’rinishini aytishi kifoya. Amalda ham masalalar ham chizisli turdagi algoritmga keltirib yechib bo’lmaydi. Ko’p hollarda biror bir oralis natijaga bog’liq ravishda hisoblashlar yoki u yoki boshqa ifodaga ko’ra amalga oshirilishi mumkin ya'ni birorta mantisiy shartni bajarilishiga bog’liq holda hisoblash jarayoni u yoki bu tarmos bo’yicha amalga oshirilishi mumkin. Bunday tuzilishdagi hisoblash jarayonini algoritm tarmoslanuvchi turdagi algoritm deb ataladi. Ko’pgina hollarda masalalarning yechimini olishda bitta matematik boђlinishga ko’ra unga kiruvchi kattaliklarning turli siymatlariga mos keladigan siymatlarini ko’p martalab hisoblash to’ђri keladi. Hisoblash jarayonining bunday ko’p martalab takrorlanadigan qismiga takrorlanishlar deb ataladi. Takrorlanishlarni o’z ichiga olgan algoritmlar takrorlanuvchi turdagi algoritmlar deb ataladi. Takrorlanuvchi turdagi algoritmni yozish va chizish o’lchamlarini sezilarli darajada sissartirish, takrorlanadigan qismlarni ixcham ifodalash imkonini beradi.
Har qanday murakkab algoritmni ham uchta asosiy struktura yordamida tasvirlash mumkin. Bular chiziqli, tarmoqlanuvchi va takrorlanuvchi strukturalaridir. Umuman olganda, algoritmlarni shartli ravishda quyidagi turlarga ajratish mumkin:
• chiziqli algoritmlar; • tarmoqlanuvchi algoritmlar; • takrorlanuvchi yoki siklik algoritmlar;2-rasm. Chiziqli algoritmlar blok - sxemasining umumiy strukturasi Misol uchun : Uzunligi L bŏlgan aylana Bilan chegaralangan doira yuzini toping
Tarmoqlanuvchi algoritmlar.Agar hisoblash jarayoni biror bir berilgan shartning bajarilishiga qarab turli tarmoqlar bo‘yicha davom ettirilsa va hisoblash jarayonida har bir tarmoq faqat bir marta bajarilsa, bunday hisoblash jarayonlariga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar uchun ayri strukturasi ishlatiladi. Tarmoqlanuvchi strukturasi berilgan shartning bajarilishiga qarab ko‘rsatilgan tarmoqdan faqat bittasining bajarilishini ta’minlaydi.
Berilgan shart romb orqali ifodalanadi, r-berilgan shart. Agar shart bajarilsa, "ha" tarmoq bo‘yicha a amal, shart bajarilmasa "yo‘q" tarmoq bo‘yicha b amal bajariladi. Tarmoqlanuvchi algoritmga tipik misol sifatida quyidagi sodda misolni qaraylik. Misol: − = x agar x 0 x agar x 0 Y 2 2 Berilgan x ning qiytmatiga bog‘liq holda, agar u musbat bo‘lsa «ha» tarmoq bo‘yicha yqx2 funksiyaning qiymati, aks holda y=-x2 funksiyaning qiymati hisoblanadi.
Ko‘pgina masalalarni yechishda, shart asosida tarmoqlanuvchi algoritmlarning ikkita tarmog‘idan bittasining, ya’ni yoki «ha» yoki «yo‘q» ning bajarilishi yetarli bo‘ladi. Bu holat tarmoqlanuvchi algoritmning xususiy holi sifatida aylanish strukturasi deb atash mumkin. Aylanish strukturasi quyidagi ko‘rinishga ega:
Takrorlanuvchi algoritmlar. Agar biror masalani yechish uchun tuzilgan zarur bo‘lgan amallar ketma-ketligining ma’lum bir qismi biror parametrga bog‘liq ko‘p marta qayta bajarilsa, bunday algoritm takrorlanuvchi algoritm yoki siklik algoritmlar deyiladi. Takrorlanuvchi algoritmlarga tipik misol sifatida odatda qatorlarning yig‘indisi yoki ko‘paytmasini hisoblash jarayonlarini qarash mumkin. Quyidagi yig‘indini hisoblash algoritmini tuzaylik. = = + + + + = N i S N i 1 1 2 3 .......... . Bu yig‘indini hisoblash uchun i=0 da S=0 deb olamiz va i=i+1 da S=S+i 2 ni hisoblaymiz. Bu yerda birinchi va ikkinchi qadamlar uchun yig‘indi hisoblandi va keyingi qadamda i parametr yana bittaga orttiriladi va navbatdagi raqam avvalgi yig‘indi S ning ustiga qo‘shiladi va bu jarayon shu tartibda to iN sharti bajarilmaguncha davom ettiriladi va natijada izlangan yig‘indiga ega bo‘lamiz. Bu fikrlarni quyidagi algoritm sifatida ifodalash mumkin: N –berilgan bo‘lsin, i=0 berilsin, 156 S=0 berilsin, i=i+1 hisoblansin, S=S+i hisoblansin, iN tekshirilsin va bu shart bajarilsa, 4-satrga qaytilsin, aks holda keyingi qatorga o‘tilsin, S ning qiymati chop etilsin.
Yuqorida keltirilgan algoritm va blok sxemadan ko‘rinib turibdiki amallar ketma-ketligining ma’lum qismi parametr i ga nisbatan N marta takrorlanayapti. Yuqorida ko‘rilgan yig‘indi blok sxemalaridagi takrorlanuvchi qismlariga (aylana ichiga olingan) quyidagi sharti keyin berilgan siklik struktura mos kelishini ko‘rish mumkin. Yuqoridagi blok sxemalarda shartni oldin tekshiriladigan holatda chizish mumkin edi. Masalan, yig‘indining algoritmini qaraylik. Bu blok sxemaning takrorlanuvchi qismiga quyidagi, sharti oldin berilgan siklik strukturaning mos kelishini ko‘rish mumkin.
Blok sxemalarining takrorlanuvchi qismlarini, quyidagi parametrli takrorlash strukturasi ko‘rinishida ham ifodalash mumkin.
Algoritm ijrosini tekshirish. Kompyuter uchun tuzilgan algoritm ijrochisi-bu kompyuterdir. Biror programmalash tilida yozilgan algoritm kodlashtirilgan oddiy ko‘rsatmalar ketma-ketliliga o‘tadi va mashina tomonidan avtomatik ravishda bajariladi. Metodik nuqtayi–nazardan qaraganda algoritmning birinchi ijrochisi sifatida o‘quvchining o‘zini olish muhim ahamiyatga ega. O‘quvchi tomonidan biror masalani yechish algoritmi tuzilganda bu algoritmni to‘g‘ri natija berishini tekshirish juda muhimdir. Buning yagona usuli o‘quvchi tomonidan algoritmni turli boshlang‘ich ma’lumotlarda qadamba - qadam bajarib (ijro etib) ko‘rishdir. Algoritmni bajarish natijasida xatolar aniqlanadi va to‘g‘rilanadi. Ikkinchi tomonidan, masalani yechishga qiynalayotgan o‘quvchi uchun tayyor algoritmni bajarish – masalani yechish yo‘llarini tushunishga xizmat qiladi.
O`zgarmaslar. C++ tilida o`zgarmaslar o`zgarmas kattalikdir. Ularning mantiqiy, butun, haqiqiy, belgili, satrli o`zgarmaslarga bo`linadi. Dasturchi C++ tilida o`zgarmaslarni aniq ifodalay olishi kerak. 5.2-jadval. O`zgarmaslar formati
Satrli o`zgarmas. Satrli o`zgarmaslar orasiga eskeyp simvollarni qo`llash mumkin. Bu simvollar oldiga [\] belgisi quyiladi. Masalan, ―\n Birinchi satr \n ikkinchi satr \n uchinchi satr‖. Satr simvollari xotirada ketma-ket joylashtiriladi va har bir satrli o`zgarmas oxiriga avtomatik ravishda kompilyator tomonidan `\0` simvoli qo`shiladi. Shunday satrning xotiradagi hajmi simvollar soni+1 baytga tengdir. Ketma-ket kelgan va bo`shliq, tabulyatsiya yoki satr oxiri belgisi bilan ajratilgan satrlar kompilyatsiya davrida bitta satrga aylantiriladi. Masalan, ―Salom‖ ―Buxoro ‖ satrlari bitta satr deb qaraladi. ―Salom Buxoro‖. Bu qoidaga bir necha qatorga yozilgan satrlar ham bo`ysunadi.
Oxirgi misolda o`zgarmas tipi ko`rsatilmagan, bu o`zgarmas int tipiga tegishli deb hisoblanadi. Null ko`rsatkich. NULL - ko`rsatkich yagona arifmetik bo`lmagan o`zgarmasdir. Null ko`rsatkich 0 yoki 0L yoki nomlangan o`zgarmas NULL orqali tasvirlanishi mumkin. Shuni aytish lozimki bu o`zgarmas qiymati 0 bo`lishi yoki `0` simvoli kodiga mos kelishi shart emas.
5.3-jadval. O`zgarmaslar chegaralari va mos tiplari.1. Algoritm deb nimaga aytiladi?
2. Masalani EHMda yechishni necha bosqichi mavjud? 3. Algoritmni asosiy xossalarini ayting. 4. Qanday dasturlash tillarini bilasiz? 5. C/C++ tilida o’zgarmaslar. 6. C/C++ tilida o’zgaruvchilarning toifalari 7. Kompanovka bosqichlarini ayting. 8. Standart funksiyalarning qo’llanishi. 9. Ifodalar haqida tushuncha. 10. Dastur tuzilishi. 11. Preprosessor direktivalari 12. Identifikator, o’zgaruvchilar va o’zgarmaslar.