Strukturalash dasturlashning bazaviy konstruksiyalari (tuzilmalari)
Dasturlash nazariyasida har qanday murakkabligidagi masalanin yechish uchun dasturni faqat kelib chiqishi, tarmoqlanish va sikllanish deb ataluvchi uchta strukturani tuzish orqali yaratish mumkinligi isbotlangan. Bu natija 1966 –yilda Boym va Yakopini tomanidan ixtiyoriy dasturni faqat bu strukturalar va ularning kombinatsiyasidan iborat ekvivalent dasturga almashtirish mumkinligini isbotlash yo’li bilan o’rnatilgan.
Kelib chiqish, tarmoqlanish va sikl strukturaviy dasturlashning bazaviy konstruksiyalari deb ataladi. Kelib chiqish deb ikki yoki undan operatorlarni (sodda yoki murakkab) ketma - ket bajarilishidan iborat konstruksiyalarga aytiladi. Tarmoqlanish yo bitta, yoki operatorning qandaydir shartining bajarilishiga bog’liq bajarilishini beradi. Sikl operatorni ko’p martalab bajarilishini bildiradi(1.3-rasm). Bazaviy konstruksiyalarning xususiyati ulardan har qandayi faqat bitta kirish va bitta chiqishga ega, shuning uchun konstruksiyalar bir – biriga ixtiyoriy tarzda qo’yilishi mumkin, masalan, sikl har bir ichma - ich joylashgan sikllarni o’z ichiga olgan 2 ta tarmoqlanishdan iborat kelib chiqishni o’z ichiga olishi mumkin.(1.4-rasm).
1.3-rasm. Strukturaviy dasturlash konstruksiyalari
1.4-rasm. Bazaviy konstruksiyalarni ichma-ich joylashtirish
Bazaviy konstruksiyalardan foydalanishdan maqsad oddiy tuzulishga ega dastur olishdan iborat. Bunday dasturni oson o’qish, sozlash mumkin va zarurat bo’lsa unga o’zgartirishlar kiritish mumkin. Strukturaviy dasturlashni ko’pincha «goto siz dasturlash» deb ataladi, chunki boshqaruvni dasturning ixtiyoriy nuqtalariga uzatish operatorlaridan foydalanish uning ishi mantiqliligini kuzatishni qiyinlashtiradi. Ikkinchi tomondan, hech qanday prinspni absolyutlashtirmaslik lozim va goto dan foydalanish aksincha dastur tuzulishini ixchamlashtirishga olib keladigan holatlar mavjud.
Yuqori darajali ko’pgina tillarda bazaviy konstruksiyalarning qo’llashning bir nechta usuli bo’ladi: C++ da uch xil va ikki xil tarmoqlanish bor (ikkita va ixtiyoriy sondagi yo’nalishlar bo’yicha). Ular dasturlash qulay bo’lishi uchun kiritilgan va har bir holda eng mos keluvchi vositani tanlash lozim. Eng oddiy dasturlarni yozishda asosan u qat’iy aniqlangan qoidalar skili puxta tuzilgan bloklar ketma-ketligidan iborat bo’lishi lozimligini untmaslik lozim.
“ifoda” operatori
Vergulli nuqta bilan tugallanuvchi ixtiyoriy ifoda bajariluvchi ifodani hisoblashdan iborat bo’lgan operator sifatida qaraladi. Ifodaning xususiy holi bo’lib bo’sh operator; hisoblanadi (u sintaksis bo’yicha operator, ma’no bo’yicha-kerak bo’lmaganda ishlatiladi).
Misollar.
i++; // inkrement amali bajariladi;
a* = b + c; // qiymat berishli ko’paytirish bajariladi;
funk (i, k); // funksiyani chaqrish bajariladi;
Do'stlaringiz bilan baham: |