Tarkibiy dasturlash
Modulni dasturlashda dastur nafaqat kompyuter uchun, balki odam uchun ham tushunarli bo’lishi kerakligini yodda tutish kerak: ham modulni ishlab chiquvchi, ham modulni tekshiradigan shaxslar, shuningdek modulni xatolarini tekshirish uchun testlar tayyorlaydiganlar va modulga kerakli o’zgarishlarni kiritgan DT texnik xizmatchilari modul mantig’ini qayta-qayta tahlil qiladi. Zamonaviy dasturlash tillarida ushbu mantiqni xohlagancha chalkashtirib yuborish uchun etarli vositalar mavjud, shu bilan modulni odamlar tushunishi qiyinlashadi va natijada uni ishonchsiz yoki saqlashni qiyinlashtiradi. Shuning uchun tegishli til vositalarini tanlash va aniq dasturlash intizomiga rioya qilish choralarini ko’rish zarur. Shu munosabat bilan Dijkstra dasturni mantiqiy tushunchalarini sezilarli darajada oshirishi mumkin bo’lgan bir necha turdagi boshqaruv tuzilmalari (tuzilmalari) ning tarkibi sifatida dastur tuzishni taklif qildi. Faqat shunday konstruktsiyalardan foydalangan holda dasturlash tizimli chaqirildi.
Tarkibiy dasturlashning asosiy konstruktsiyalari quyidagilardan iborat: amal qilish, tarmoqlash va takrorlash. Ushbu konstruktsiyalarning tarkibiy qismlari umumlashtirilgan operatorlar (ishlov berish tugunlari) va shart (predikat). Umumlashtirilgan operator yoki foydalaniladigan dasturlash tilining oddiy operatori (tayinlash, kiritish, chiqish, protsedurani chaqirish operatorlari) yoki dastur bo’lagi bo’lishi mumkin, bu asosiy tuzilgan dasturlashni boshqarish konstruktsiyalarining tarkibi. Ushbu dizaynlarning har biri boshqarish uchun faqat bitta kirish va bitta chiqishga ega bo’lishi juda muhimdir. Shunday qilib, umumlashtirilgan operatorda faqat bitta kirish va bitta chiqish mavjud. Ushbu konstruktsiyalar allaqachon
matematik ob’ektlar bo’lishi juda muhimdir (bu mohiyatan tizimli dasturlash muvaffaqiyatining sababini tushuntiradi). Har bir tuzilmagan dastur uchun funktsional ekvivalenti (ya’ni bir xil masalani echish) tuzilgan dasturni qurish mumkinligi isbotlangan. Tuzilmaviy dasturlar uchun siz ba’zi xususiyatlarni matematik ravishda isbotlashingiz mumkin, bu dasturdagi ba’zi xatolarni aniqlashga imkon beradi. Ushbu masalaga alohida ma’ruza bag’ishlanadi.
Tarkibiy dasturlash ba’zan "GO TO-less dasturlash" deb nomlanadi. Biroq, gap GO TO bayonotida emas, balki uning tartibsiz ishlatilishida. Ko’pincha, ba’zi dasturlash tillarida tuzilgan dasturlashni amalga oshirishda, tuzilgan konstruktsiyalarni amalga oshirish uchun o’tish operatori (GO TO) ishlatiladi, bu esa tuzilgan dasturlash tamoyillarini buzmaydi. Dasturni chalkashtirib yuboradigan aynan "tizimli bo’lmagan" operatorlar, ayniqsa yuqoridagi modul matnida joylashgan operatorga o’tish (oldinroq) o’tish operatori bajarilmoqda. Shunga qaramay, ba’zi bir oddiy holatlarda filial operatoridan qochishga urinish juda noqulay tuzilgan dasturlarga olib kelishi mumkin, bu ularning ravshanligini yaxshilamaydi va modul matnida qo’shimcha xatolar xavfini o’z ichiga oladi. Shuning uchun dasturning ravshanligi evaziga emas, iloji bo’lsa, o’tish operatoridan foydalanishni oldini olish tavsiya qilinishi mumkin.
O’tish operatoridan foydalanishning foydali holatlari orasida tsikl yoki protseduradan ma’lum bir tsikl yoki berilgan protsedura ishini "erta" tugatadigan, ya’ni ba’zi bir tarkibiy bo’linmaning (umumlashtirilgan operator) ishini tugatadigan va shu bilan dasturning tuzilishini faqat mahalliy darajada buzadigan maxsus shart bilan chiqish kiradi. Katta qiyinchiliklar (va strukturaning murakkablashishi) paydo bo’ladigan istisno (ko’pincha noto’g’ri) holatlarga reaktsiyani tizimli ravishda amalga oshirish natijasida yuzaga keladi, chunki bu nafaqat tarkibiy bo’linmadan erta chiqib ketishni, balki ushbu vaziyatni zarur qayta ishlashni (chiqarib tashlashni) ham talab qiladi (masalan, mos diagnostika berish) ma ‘lumot). Istisno ishlovchisi dastur tuzilishining istalgan darajasida bo’lishi mumkin va unga har xil quyi darajalardan kirish mumkin. Istisno holatlariga reaktsiyani quyidagi "tarkibiy bo’lmagan" amalga oshirish texnologik nuqtai nazardan juda maqbuldir. Istisno
ishlovchilari u yoki bu konstruktiv blokning oxiriga joylashtiriladi va har bir ishlov beruvchini shunday qilib dasturlash kerakki, u ishini tugatgandan so’ng u joylashtirilgan struktura bo’linmasidan chiqadi. Bunday ishlov beruvchiga qo’ng’iroqni o’tish operatori ushbu strukturaviy birlikdan (shu jumladan, har qanday ichki tuzilgan bo’linmadan) amalga oshiradi.
Do'stlaringiz bilan baham: |