Дастурлаш асослари фанидан маърузалар матни doc


 Qadamma-qadam detallashtirish hamda soxta kod (psevdokod)



Download 2,87 Mb.
Pdf ko'rish
bet63/218
Sana31.12.2021
Hajmi2,87 Mb.
#202470
1   ...   59   60   61   62   63   64   65   66   ...   218
Bog'liq
dasturlash asoslari (1)

3.2.3. Qadamma-qadam detallashtirish hamda soxta kod (psevdokod) 
haqida tushuncha 
 
Tuzilmaviy (strukturali) dasturlash modul matni qanday bo‘lishi kerakligi haqida maslahatlar beradi. 
Bunday  matnni  tuzish  uchun  dasturchi  qanday  yo‘l  tutishi  kerak  degan  savol  tug‘iladi.  Odatda  modulni 
dasturlash ishini uning blok-sxemasini tuzishdan boshlaydilar. Bu blok-sxema modul ishi mantiqiga umumiy 
tavsif  beradi.  Biroq  zamonaviy  dasturlash  texnologiyasi  tegishli  kompyuter  yordamisiz  bu  ishni  amalga 
oshirmaslikka  maslahat  beradi.  Garchi  blok-sxemalar  modul  ishi  mantiqini  ancha  aniq  tasavvur  qilish 
imkonini bersa-da, ularni qo‘lda kodlashda dasturlash tilida g‘oyat o‘ziga xos xatolar manbai yuzaga keladi: 
asosan  ikkio‘lchamli  bo‘lgan  blok-sxemalarni  chiziqli  matn  (lineynыy  teks)  da  aks  etishi,  modul  ishi 
mantiqini  buzib  ko‘rsatish  havfi  bo‘ladi.  Blok-sxemalarni  tuzishda  grafik  muharrir  (redaktor)  dan 
foydalanilsa,  yoki  bu  blok-sxemalar  bo‘yicha  matn  avtomatik  ravishda  dasturlash  tiliga  generatsiya 
qilinadigan  darajada  formallashgan  (qoliplangan)  bo‘lsa  (xuddi  R-texnologiyada  bo‘lganidek),  bu  holat 
bundan mustasno.  
Modul  matnini  tuzishning  asosiy  usuli  sifatida  hozirgi  zamon  dasturlash  texnologiyasi  qadamma-
qadam detallashtirishni tavsiya etadi. Bu usulning mohiyati shundaki, modul matnini ishlab chiqish jarayoni 
bir qator qadamlarga bo‘linadi. Birinchi qadamda modul ishining umumiy sxemasi chiziqli matniy shaklda 
(ya’ni g‘oyat yirik tushunchalardan foydalangan holda) tavsiflanadi. Bunda bu tavsif to‘liq formallashmagan 
hamda  uning  inson  tomonidan  idrok  etilishiga  qaratilgavn  bo‘ladi.  Har  bir  navbatdagi  qadamda  avvalgi 
qadamlardan  birida  ishlab  chiqilgan  biron-bir  tavsifdagi  tushuncha  (uni  aniqlanayotgan  tushuncha  deb 
ataymiz) yanada aniqlashtiriladi va detallashtiriladi. Bunday qadam natijasida tanlab olingan aniqlanayotgan 
tushunchaning  tavsifi  yaratiladi.  Barcha  aniqlanayotgan  tushunchalar  aniqlangach  (ya’ni  pirovard  natijada 
bazaviy  dasturlash  tilida  ifodalab  berilgach),  bu  jarayon  o‘z  nihoyasiga  etadi.  So‘nggi  qadamda  bazaviy 
PDF created with pdfFactory trial version 
www.pdffactory.com


dasturlash  tilidagi  matn  yuzaga  keladi  hamda  tuzilmaviy  dasturlash  konstruktsiyalarining  barcha  kirishlari 
ushbu  dasturlash  tili  vositalari  bilan  ifodalanadi.  Bunda  yana  aniqlanayotgan  tushunchalarning  barcha 
kirishlari ularning berilgan tavsiflariga almashtiriladi. 
Qadamma-qadam detallashtirishda ko‘rsatib o‘tilgan tavsiflarni taqdim etish uchun sohta kod nomini 
olgan  qisman  formallashgan  tildan  foydalaniladi.  Bu  til  tuzilmaviy  dasturlashning  barcha 
konstruktsiyalaridan foydalanish imkonini beradi. Bu konstruktsiyalar esa umumlashma operatorlar va shart-
sharoitlarni  taqdim  etish  uchun  tabiiy  tildagi  formallashmagan  fragmentlar  bilan  birgalikda  formallashgan 
(qoliplangan)  tarzda  rasmiylashtiriladi.  Umumlashma  operatorlar  va  shart-sharoitlar  sifatida  shuningdek 
bazaviy dasturlash tilidagi tegishli fragmentlar ham berilishi mumkin. 
Bazaviy  dasturlash  tilidagi  modulning  tashqi  tavsifini  sohta  koddagi  bosh  tavsif  deb  hisoblash 
mumkin bo‘lib, uning tarkibiga quyidagilar kiradi: 
-bazaviy  tildagi  modulning  boshi,  ya’ni  ushbu  modulning  birinchi  gapi  yoki  sarlavhasi 
(spetsifikatsiyasi); 
-bazaviy  tildagi  tavsiflar  bo‘limi  (majmui),  bunda  protseduralar  va  funksiyalarning  tavsiflari  o‘rniga 
ularning faqat tashqi tavsiflari kelitiradi; 
-modul  tanasi  operatorlari  ketma-ketligining  bitta  umumlashma  operator  sifatida  noformal 
ifodalanishi; 
-bazaviy tildagi modulning so‘nggi gapi (oxiri). 
Protsedura  yoki  funksiya  tavsifi  tashqi  tomondan  bir  xil  shakllantiriladi.  Darvoqe,  Deykstraga  amal 
qiladigan  bo‘lsak,  tavsiflar  bo‘limini  bu  o‘rinda  formal  bo‘lmagan  ifoda  bilan  taqdim  etish  afzalroqdir. 
Bunda formal bo‘lmagan ifoda alohida tavsif sifatida detallashtiriladi.  
Umumlashma  operatorning  sohta  koddagi  formal  bo‘lmagan  ifodasi  bu  ifoda  mazmunini  umumiy 
tarzda  ochib  beradigan  ixtiyoriy  gap  bilan  tabiiy  tilda  amalga  oshiriladi.  Bunday  ifodani  shakllantirishga 
qo‘iladigan  yagona  formal  talab  quyidagichadir:  bu  gap  bitta  yoki  bir  nechta  grafik  (bosma)  satrni  to‘liq 
egallashi hamda nuqta (yoki buning uchun maxsus ajratilgan boshqa biron belgi bilan tugallanishi) lozim. 
 
 
 
 
 
Ketma-ket kelish 
 
              umumlashma_operator 
              umumlashma_operator 
 
Tarmoqlanish: 
 
              AGAR shart BU O‘OLDA 
                  umumlashma_operator 
             AKS HOLDA 
                  umumlashma_ operator 
             HAMMA AGAR 
 
Kaytariq: 
             HOZIRCHA shart-sharoit QILMOQ 
              umumlashma_operator 
              HAMMA HOZIRCHA 
 
 
3.5-rasm. Sohta kodda tuzilmaviy dasturlashning asosiy  
konstruksiyalari 
 
Har  bir  formal  bo‘lmagan  umumlashma  operator  uchun  tuzilmaviy  dasturlash  konstruktsiyasining 
kompozitsiyasi hamda boshqa umumlashma operatorlar yordamida uning ishi mantiqini ifodalab beradigan 
(uning  mazmunini  detallashtirib  beradigan)  alohida  tavsif  yaratilishi  kerak.  Bunday  tavsifning  sarlavhasi 
PDF created with pdfFactory trial version 
www.pdffactory.com


sifatida detallashtirilayotgan umumlashma operatorning formal bo‘lmagan ifodasi kelishi kerak. tuzilmaviy 
dasturlashning asosiy konstruktsiyalari quyidagi ko‘rinishda taqdim etilishi mumkin (3.5-rasmga qarang).  
Sohta  koddagi  umumlashma  operator  sifatida  yuqorida  ko‘rsatib  o‘tilgan  o‘tish  operatorining  juz’iy 
holatlaridan foydalanish mumkin (3.6-rasmga qarang). 
 
Frvqulotda 
vaziyatlar 
(istisnolar)  ishlov  beruvchilarining 
ketma-ketligi 
modul 
yoki 
protsedura 
tavsifining 
oxirida 
beriladi. 
Shunday 
ishlov 
beruvchilarning har bittasi quyidagi 
ko‘rinishga ega: 
ISTISNO istisno_nomi 
       umumlashma operator 
BARCHA ISTISNO 
 
Favqulotda  vaziyatga  ishlov 
beruvchining 
parametrlarsiz 
protseduradan 
farqi 
shundaki, 
protsedura  bajarilgach,  boshqaruv  bu  protseduraga  murojaatdan  keyin  keluvchi  operatorga  qaytadi,  istisno 
bajarilgandan  so‘ng  esa  boshqaruv  modul  yoki  protsedura  (funksiya)  ga  murojaatdan  so‘ng  keladigan 
operatorga  qaytadi,  bunda  ushbu  istisno  gap  borayotgan  modul  yoki  protsedura  oxirida  joylashtirilgan 
bo‘ladi. 
Detallashtirishning  har  bir  qadamida  ancha  mazmunli  tavsif  berilishi  tavsiya  etiladiki,  bu  tavsif 
tushunishga oson, ko‘rgazmali bo‘lishi, ya’ni bir varaqli matnga sig‘ishi lozim. Odatda bu shuni bildiradiki, 
bunday tavsif tuzilmaviy dasturlashning besh-oltita konstruktsiyasi uchun kompozitsiya vazifasini o‘tamog‘i 
lozim.  Oraga  suqib  kiritilgan  konstruktsiyalarni  o‘ng  tomonga  bir  necha  pozitsiyaga  surib  joylashtirish 
tavsiya  etiladi  (3.7-rasm).  Natijada  blok-sxemalar  bilan  bemalol  raqobatga  kirisha  oladigan  ish  mantiqi 
tavsifiga ega bo‘lish mumkin. Bu tavsif xatto afzallikka ham ega: bunda tavsifning chiziqliligi saqlanadi. 
 
 
FAYLDAGI 
YOZUVLARNI 
BERILGAN 
FILTRNI 
QONIQTIRADIGAN BIRINCHI YOZUVGACHA O‘CHIRISH: 
 
   FAYL BOSHINI O‘RNATISH. 
   FAYL TUGAMASDAN 
     NAVBATDAGI YOZUVNI QILISH O‘QISH. 
      AGAR NAVBATDAGI FAYL FILTRNI QONIQTIRSA, 
                   U HOLDA 
       CHIQISH 
 
AKS HOLDA 
NAVBATDAGI YOZUVNI FAYLDAN O‘CHIRISH 
HAMMASINI, AGAR 
HAMMASINI, -GACHA 
AGAR YOZUVLAR O‘CHIRILMAGAN BO‘LSA, U HOLDA  
«YOZUVLAR O‘CHIRILMADI» DEB YOZIB QO‘YISH 
AKS HOLDA 
«n-TA YOZUVLAR O‘CHIRILDI» DEB YOZIB QO‘YISH 
HAMMASINI, AGAR 
 
 
3.7. Sohta kodda detallashtirishning bitta qadamiga misol 
Qadamma-qadam  detallashtirish  g‘oyasining  muallifi  Deykstra  degan  fikr  mavjud.  Biroq  Deykstra 
nazarimizda  modul  matnini  tuzishning  printsipial  farq  qiladigan  yanada  mukammalroq  va  istiqboli  porloq 
bo‘lgan  usulini  taklif  qiladi.  Birinchidan,  u  operatorlarni  aniqlash  bilan  birga  qo‘llanayotgan  ma’lumotlar 
Qaytariq (tsikl)dan chiqish: 
 
               CHIQMOQ 
 
Protsedura (funksiya)dan chiqish: 
               QAYTMOQ 
 
Favqulotda vaziyatni ishlashga o‘tish: 
 
               QO‘ZG‘ATMOQ istisno_ismini (?             ) 
 
 
3.6-rasm. Umumlashma operator sifatidagi o‘tish operatorining 
juz’iy holati 
PDF created with pdfFactory trial version 
www.pdffactory.com


tuzilmasini  ham    asta-sekin  (qadamma-qadam)  aniqlashni  taklif  qiladi.  Ikkinchidan,  Deykstra  har  bir 
qadamda  detallashtirish  uchun  qandaydir  virtual  mashinani  yaratishni  hamda  uning  atamalari  vositasida 
barcha  aniqlanayotgan  tushunchalarni  detallashtirishni  taklif  qiladi.  Shunday  qilib,  Deykstra  mohiyat 
e’tibori  bilan  gorizontal  qavatlar  bo‘yicha  detallashtirishni  taklif  qilganki,  bu  qavatma-qavat  tizimlar 
haqidagi  g‘oyani  modulni  ishlab  chiqish  darajasiga  olib  o‘tilishini  bildiradi.  Modulni  ishlab  chiqishning 
bunday  usuli  hozirgi  paytda  ADA  paketlar  tili  va  ob’ektli  yo‘naltirilgan  dasturlash  vositalari  tomonidan 
qo‘llab-quvvatlanadi. 
 

Download 2,87 Mb.

Do'stlaringiz bilan baham:
1   ...   59   60   61   62   63   64   65   66   ...   218




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish