Texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi muhammad al-xorazimiy nomidagi toshkent axborot



Yüklə 132,58 Kb.
səhifə3/5
tarix02.12.2023
ölçüsü132,58 Kb.
#137709
növüReferat
1   2   3   4   5
Sultonov dasturiy paradigmalar

Strukturali dasturlash.
Strukturaviy dasturlash- dasturni ierarxik blokli tuzilma shaklida tasvirlashga asoslangan dasturlash paradigmasi. 1960-yillarning oxiri - 1970-yillarning boshlarida dasturlarni tizimli tashkil qilish imkoniyatini matematik jihatdan asoslaydigan Boem-Jacopini teoremasi va Edsger Dijkstraning "O'tish operatorining xavf-xatarlari to'g'risida" ishida kontseptsiya ishlab chiqilgan.
Paradigmaga muvofiq, goto operatoridan foydalanmasdan tuzilgan har qanday dastur uchta asosiy boshqaruv tuzilmasidan iborat: ketma-ketlik, tarmoqlanish, tsikl; bundan tashqari, subprogrammalar qo'llaniladi. Shu bilan birga, dasturni ishlab chiqish bosqichma-bosqich, "yuqoridan pastga" usuli yordamida amalga oshiriladi.
Structura nomi ko’cha manzili bu yolg’iz mohiyatga ikki ahamiyatni birlashtirish
uchun tariflanishi mumkin. C++da, biz struct odamovi so’zli structurani tariflaymiz:
struct ko’cha manzili
{
int uy_raqami
string ko’cha_ismi;
};
bu tariflash maydonlarisiz o’zgaruvchilarni elon qilish uchun foydalanadigan ko’cha manzilining yangi turi;
ko’cha manzili oq uy oq uy ozgaruvchisida azolar deb ataladigasan ikki qismi bor, uy_raqami va
ko’cha_nomi. Siz bu nuqtalardan har bir azolarning kirishida foydalanasiz, quyidagiga o’xshagan:
oq_uy,uy_raqami = 1600;
oq_uy,ko’cha_nomi = "Pennsylvania Avenue";
Strukturaviy dasturlash metodologiyasi kompyuterlarda hal qilinadigan vazifalarning murakkabligi va shunga mos ravishda dasturiy ta'minotning murakkabligi natijasida paydo bo'ldi. 1970-yillarda dasturlarning hajmi va murakkabligi shu darajaga yetdiki, an’anaviy dastur ishlab chiqish amaliyot ehtiyojlariga javob bermay qoldi.
Dasturlar to'g'ri parvarish qilish uchun juda murakkab bo'lib qoldi. Shuning uchun dasturlarni ishlab chiqish jarayoni va tuzilishini tizimlashtirish talab qilindi.

Dastlab,strukturali dasturlash g'oyasi goto operatori va undan foydalanishning maqsadga muvofiqligiga shubha bilan bog'liq holda tug'ilgan. Bunday shubhalarni birinchi marta Xaynts Zemanek 1959 yil boshida Kopengagenda algo tili bo'yicha yig'ilishda bildirgan. Biroq, bu nutq e'tiborni jalb qilmadi va hech qanday natijaga olib kelmadi.


O'n yil o'tgach, 1968 yil mart oyida Dijkstra o'zining mashhur "Go To operatori zararli deb hisoblanadi" maktubini e'lon qilganidan keyin vaziyat keskin o'zgardi.Bu dasturlashning keyingi rivojlanishiga sezilarli ta'sir ko'rsatgan chinakam tarixiy hujjatdir. Hujjatning o'zitarixi juda qiziq. Gap shundaki, Dijkstra maqolaga butunlay boshqacha sarlavha bergan: "GO TO operatoriga qarshi dalillar"


Strukturaviy dasturlashning maqsadi- dasturchilarning ish unumdorligini oshirish, shu jumladan yirik va murakkab dasturiy ta'minot tizimlarini ishlab chiqishda, xatolar sonini kamaytirish, disk raskadrovka, o'zgartirish va dasturiy ta'minotga texnik xizmat ko'rsatishni soddalashtirish. Bu maqsad dasturlarning murakkabligi ortib borishi hamda yirik dasturiy ta’minot loyihalarini ishlab chiquvchilar va menejerlarning 1960-1970 yillarda dasturiy vositalarni ishlab chiqish bilan bog‘liq holda yuzaga kelgan muammolarni bartaraf eta olmasligi bilan bog‘liq holda belgilandi.


Spagetti-kod- noto'g'ri ishlab chiqilgan, noto'g'ri tuzilgan, chalkash va tushunish qiyin bo'lgan ko'plab goto iboralari, istisnolar va tuzilmani buzadigan boshqa konstruktsiyalarni o'z ichiga olgan dastur. Spagetti kodi shunday nomlangan, chunki dastur oqimi spagetti kosasiga o'xshaydi, ya'ni burmalangan va burmalangan. Ko'p o'tish ko'rsatmalari tufayli ba'zan "kenguru kodi" deb ataladi.

Hozirgi vaqtda bu atama nafaqat goto suiiste'mol qilish holatlariga, balki bir xil kichik fragment juda ko'p turli xil vaziyatlarda bajariladigan va juda ko'p turli xil mantiqiy funktsiyalarni bajaradigan har qanday "ko'p bog'langan" kodga nisbatan qo'llaniladi.
Spagetti kodini disk raskadrovka qilish va to'g'ri va yuqori unumdorlik bilan ishlatish mumkin, ammo uni saqlash va rivojlantirish juda qiyin. Spagetti kodini yangi funksiyalarni qo'shish uchun tozalash ba'zan yangi xatolarni kiritish uchun katta potentsialga ega. Shu sababli, refaktoring spagetti uchun asosiy davo ekanligi deyarli muqarrar.
Strukturaviy dasturlash teoremasi- Teorema italiyalik matematiklar Korrado Boyem va Juzeppe Yakopini tomonidan tuzilgan va isbotlangan. Ular uni 1965 yilda italyan va 1966 yilda ingliz tilida nashr etishdi. Teorema bilan bir qatorda, Boyem va Juzeppe maqolasida misol tariqasida Boyem tomonidan yaratilgan P dasturlash tilidan foydalanib, strukturaviy boʻlmagan algoritmlarni strukturaviy algoritmlarga aylantirish usullari tasvirlangan. P tili goto iborasi bo'lmagan birinchi Turing-to'liq dasturlash tilidir.
Boyem-Yakopini teoremasi murakkab tilda va noodatiy yozuvda yozilgan.

Sxema shaklida berilgan har qanday dastur uchta boshqaruv tuzilmasi yordamida taqdim etilishi mumkin:


ketma-ketlik - f THEN g;


Shoxlanish - IF p THEN f ELSE g;


Sikl - WHILE p DO f;


Strukturaviy dasturlash tamoyillari. Strukturaviy dasturlashning shakllanishi va rivojlanishi Edsger Deykstra nomi bilan bog'liq.


Goto shartsiz o'tish operatoridan foydalanishdan voz kechish kerak.


Har qanday dastur uchta asosiy boshqaruv tuzilmasidan qurilgan: ketma-ketlik, tarmoqlanish, tsikl.
Ketma-ketlik- amallarning dastur matnida yozilish tartibida bir martalik bajarilishi.
Shoxlanish- belgilangan shartning bajarilishiga qarab ikki yoki undan ortiq amallardan birini bir marta bajarish.
Structuralarga ko'rsatkichlar
Bu jo’shqin structura ahamiyatini ajratmasi uchun odatlangan, yangi operatordan foydalanish ko'rsatgich manzili * manzil_ko’rsatgichi yangi ko'rsatgich manzili. Faraz qiling manzil ko’rsatgich ko’rsatgichiga structuraning uy raqamini o’rnatishni xoxlaysiz manzil_ko’rsatgich,uy_raqami=1600;//XATOLIK
Baxtga qarshi,bu sintaksis xato. Bu nuqta operatori *operatoridan ko’ra ustunroq. Bu siz anglagan kompliyator o’ylari
(manzil_ko’rsatkich,uy_raqami)=1600;//XATOLIK
Manzil ko’rsatgichi ko’rsatgich bo’lishiga qaramay u structura emas. Siz operator ko’rsatgichiga va kompliyator xatolar haqida bayon qiladigan nuqtalarga etibor qila olmaysiz O’rniga siz birinchi*operatoriga keyin nuqtaga aniq etibor berishingiz kerak (manzil_ko’rsatgich,uy_raqami)=1600;//XATOLIK.Chunki bu shunchalik odatiy holatki C+ +ning loyihachilari.
Structuralar bilan ko'rsatgich a'zolar
Structuraning azosi ko'rsatgich bo'lishi mumkin. Bu holat odatda malumot structura qiymatlari orasida bolinganda vujudga keladi . Quyidagi misolni hisoblangTashkilotlarning ko'p sonli offislarida har bir ishchida ism va ish joylari bor.
Birlashma elementi sifatida strukturalar kelishi mumkin va ular odatda berilganni «bo‘laklarga» ajratish yoki «bo‘laklardan» yaxlit berilganni hosil qilish uchun xizmat qiladi. Misol uchun so‘zni baytlarga, baytlarni tetradalarga (4 bitga) ajratish va qaytadan birlashtirish mumkin. 
Programmada Son_va_Belgi birlashmasini e’lon qilish orqali float turidagi x o‘zgaruvchisini va float turi formatining baytlardagi uzunligidagi belgilardan iborat belgi massivini xotiraning bitta joyiga joylashuviga erishiladi. Bosh funksiyada birlashma turidagi son_va_belgi o‘zgaruvchisi e’lon qilinadi va uning x maydoniga klaviaturadan haqiqiy son o‘qiladi.
Keyin belgilar massividagi har bir elementning ikkilik kodi chop etiladi. Ikkilik kodni chop etish 8 marta baytni 7-razryadidagi sonni chop etish va bayt razryadlarini bittaga chapga surish orqali amalga oshiriladi. SHunga e’tibor berish kerakki, belgilar massividagi elementlarning ikkilik kodlarini chop qilish o‘ngdan chap tomonga bajarilgan. Bunga sabab, son ichki formatidagi baytlarning xotirada «kichik bayt - kichik adresda» qoidasiga ko‘ra joylashuvidir.

Dasturlash uslubi har bir tashkilot, operatsion tizim yoki dasturlash tili bo'yicha farq qilishi mumkin. Tashkilotning kodlash ko'rsatmalari sifatida quyidagi kodlash elementlarini ko'rishimiz mumkin:



Yüklə 132,58 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin