logo

Algoritmlarni loyihalash va tahlil qilish

Yuklangan vaqt:

23.11.2024

Ko'chirishlar soni:

0

Hajmi:

40.7099609375 KB
Sanoq sitemalari.   Algoritmlarni loyihalash va tahlil
qilish .
Mundarija
1-bob. Sanoq sistemalari.
1.1. Sanoq  sistemalari   haqida.
1.2. Sanoq  sistemalarida  arifmetik  amallar.
1.3. Ikkilik  sanoq  sistemasida   arifmetik  amallar  bajarish.
1.4.  Sakkizlik  sanoq  sistemasida  arifmetik  amallar  bajarish.
1.5.  O’n   oltilik   sanoq  sistemasida   arifmetik  amallar  bajarish.
1.6.   Turli xil bo’lgan sano q  sistemalari ustida arifmetik amallar bajarish.
2-bob. Algoritmlarni loyihalash va tahlil qilish.
2 .1. Algoritm tushunchasi.
2.2.Algoritmlarni loyihalash.
2.3.Algoritmlarni loyihalashning asosiy bosqichlari.
O’quvchi  yoshlarga   kompyuter  texnikasini  o’rgatishdan  avval  uni  nazariy  
jihatdan  singdirish  maqsadga  muvofiq.
Bunda  sanoq  sistemalari  muhim  o’ringa  ega.
Sanoq  sistemasi  bu – sonlarni  o’qish va  arifmetik  amallarni  bajarish  uchun 
qulay  ko’rinishda yozish  usuli.
Qadimda  hisob  ishlarida    ko’proq   barmoqlardan  foydalanilgan.  Shu  
sababli   narsalarni   5  yoki    10   tadan   taqsimlashgan  .  keyinchalik    o’nta  
o’nlik    maxsus  nom  - yuzlik  ,  o’nta  yuzlik – minglik  nomini olgan  va  h.k
Turli  davrlarda   turli  xalqlar,  qabilalar  raqamlar  va  sonlarni  ifodalashda   
turlicha    belgidan   foydalanganlar.
Qadimda  ba’zi  xalqlar  ishlatadigan   sonlar  alifbosi   beshta,   o’n  ikkita,  
yigirmata,   ba’zilari  oltmishta  belgini    o’z  ichiga  olgan .
Sonlar   sistemasidagi  raqamlar  soni  shu  sistemaning  asosi  deb  yuritiladi.
Kundalik  hayotimizda  ishlatilayotgan  o’nlik  sanoq  sistemasidagi  sonlar  
ustida   arifmetik  amallar  bajarish  usullarini   bilamiz.  Mazkur  usullari    boshqa  barcha  pozitsiyaga   bog’liq  bo’lgan  sanoq  sistemasida   qo’shish  
amalini ko’rsak,  biz  avval  birliklarni,  so’ng  o’nliklarni,  keyin  yuzliklarni va
hokazolarni  o’zaro  qo’shib  boramiz.
Bu  jarayon  barcha  pozitsiyali  sanoq  sistemalar  uchun  o’rinli  bo’lib,  toki  
oxirgi  qiymat  bo’yicha  eng  katta   razryadni  qo’shishgacha  davom etadi.  
Mazkur  jarayonda  shu  narsani  doim  eslash  kerakki,  agar  biror  razryad  
sonlarini  qo’shganimizda  natija  sanoq  sistemasi  asosi  qiymatidan  katta  
chiqsa,  yig’indining  sanoq  sistema  asosidan   katta  bo’lsa    keying  
razryadga  o’tkazish  kerak.
Masalan,  o’nlik  sanoq  sistemasida:
                    19327510     
                 +   7953810
                         198310
                ___________
                    27479610
Shuni  yodda  tutish  kerakki,  sanoq  sistema  asosining  qiymati  10  deb  
hisoblanadi.  Shu  sababli  ham  sanoq  sistemasi  asosidan  keying  sonlar  11, 
12,  ….  va   h.k.  deb  yuritiladi.
….  va   h.k.  deb  yuritiladi.
Hisoblash texnikasida va dasturlashda asosi 2,8 va 16 ga teng bo’lgan sanoq 
sistemalari qo’laniladi.
Buni tushunish  uchun, keling,  misollarga  murojat  qilaylik.  Masalan,  
sakkizlik  sanoq  sistemasida  8  ta  raqamlar  bor:
                        0, 1 , 2 , 3, 4, 5, 6, 7.
O’n oltilik  sanoq sistemasida raqamlardan keyin lotin alfbosidagi bosh 
harflardan foydalaniladi.O’n oltilik  sanoq  sistemasida  9 ta  raqam va 6 ta harf 
bor:
              0, 1 , 2 , 3, 4, 5, 6, 7.8,9, A,B,C,D,E,F                     Sanoq sistemalarining quyidagi jadvalini keltiramiz.
O’nlik s/s son 0 1 2 3 4 5 6 7 8 9 10
Ikkilik s/s son 0 1 10 1
1 100 101 110 111 1000 10001 1010
Sakkizlik s/s son 0 1 2 3 4 5 6 7 10 11 12
O’n oltilik s/s 
son 0 1 2 3 4 5 6 7 8 9 A
Ikkilik  sanoq  sistemasida  2  ta  raqam: o  va  1  mavjud.   Shu  sistemada  
qo’shish,  ayirish  va  ko’paytirish  amallari  quyidagicha  bajariladi:
Qo’shish Ayirish  Ko’paytirish
  0+0=0
0+1=1
1+0=1
1+1=10 0-0=0
1-0=1
0-1=1
10-1=1 0*0=0
0*1=0
1*0=0
1*1=1
Endi  ikkilik  sanoq  sistemasidagi  sonlar  ustida  turli  arifmetik  amallar    
bajarishga  doir  misollar  ko’ramiz.
  1-misol.  1101012  va   1100112  sonlarning  yigindisini  toping.
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
qo’shamiz:
       +     1101012
               1100112 
           __________
             1101000 2 Javob:  11010002 
    
  2-misol.  1010102  va   100112  sonlarning  ayirmasini  toping.                 
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
ayiramiz:              __   1010102
                           1 00112 
                    ______________
                      10111 2               Javob:  101112 
  3-misol.  1100112  va   1012  sonlarning  ko’paytmasini  toping.               
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
ko’paytiramiz:
            X    1100112
  1012 
           _______________
          +  110011
                110011
          __________
          111111112 Javob:  111111112 
     4-misol.  10000100102  va   1101012  sonlarning  bo’linmasini  toping.
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
bo’lamiz:
Javob:  10102__  1000010 ,
010
        110101 110101
1010
    __110101       
        110101       
            0 Endi  sakkizlik  sanoq  sistemasidagi  sonlar  ustida  turli  arifmetik  amallar  
bajarishga  doir  misollar  ko’ramiz:
  1-misol.   47
8   va 
   135
8   sonlarning  yigindisini  toping.                           
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  qo’shamiz:
       +      47
8
               135
8  
       __________
              204
8 Javob:                204
8  
   2-misol.   1345
8   va 
   365
8   sonlarning  ayirmasini  toping.                          
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  ayiramiz:
             __    1345
8
                      365
8   
                 __________
                        760
8 Javob:                   760
8  
    3-misol.   54
8   va 
   136
8   sonlarning  ko’paytmasini  toping.                      
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
ko’paytiramiz:
            
X     136
8
                   54
8 
            __________
          
+        570
                 726
         ___________
                     10050
8 Javob :       10050
8    4-misol.   424
8   va 
   21
8   sonlarning  bo’linmasini  toping.
Yechish.  Bu  10111sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
bo’lamiz:
   
   Javob:  248
        Endi  o’n oltilik  sanoq  sistemasidagi  sonlar  ustida  turli  arifmetik  amallar  
bajarishga  doir  misollar  ko’ramiz:
    1-misol.  4CE16  va   21F16  sonlarning  yigindisini  toping.
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  qo’shamiz:
       +     4CE16
                21F16  
      _______________
               6ED16 Javob:           6ED16
  
    2-misol.  90D16  va   13D16  sonlarning  ayirmasini  toping.
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  ayiramiz:
             __     90D16
                      13D16  
                ______________
                     7D016 Javob:                  7D016             _ 424    
                42 21
2
                     4             3-misol.  1F16  va   6416  sonlarning  ko’paytmasini  toping.
Yechish.  Bu  sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
ko’paytiramiz:
            X    1F16             
                6416 
          ______________
          +     7C
              BA
         ___________
              C1C16   Javob:       C1C16
     4-misol.  27116  va  7D16  sonlaining  bo’linmasini  toping.
Yechish.  Bu  10111sonlarni  bir   ustunga  yozib,  umumiy  qoida  bo’yicha  
bo’lamiz:
  Javob:  516
Turli xil sanoq sistemalarida bo’lgan sonlar ustida arifmetik amallar bajarish.
1.Turli xil sanoq sistemalarida bo’lgan sonlar ustida qo’shish amalini bajarish.
a) 175 +68 ifodani 2 lik sanoq sistemasidagi yechimni toping.                                
Yechish : Buning uchun biz sanoq sistemalari uchun keltirilgan jadvaldan 
foydalanamiz.             _  271  
                 271 7D
5
                    0        Berilgan sonlarni ikkilik sanoq sistemasiga o’tkazib, ikkilik sanoq sistemasidagi 
qo’shish amalini tadbiq etamiz.
  175 =100012        68=1102
175 +68  =100012  + 1102   =101112                      javob: 101112
b) Berilgan ifodani 12 lik sanoq sistemasidagi qiymatini toping.
15 12+2A16=?
Yechish : Bu sonlarni 10 lik sanoq sistemasiga  o’tkazamiz.
Quyidagi formulaga qo’yamiz.
N=акqk+ak-1 qk-1+……+ a1q1+a0q0+………
N1=1512      N2=2A16
1*121+5*120=12+5=1710                            2*16+A=32+10=4210
1710+4210=5910
  Bu chiqqan soni 12 lik sanoq sistemasiga o’tkazish uchun bu soni bo’lish qoidasi 
orqali topamiz.
59:12=4 q(11)                             javob :  4B12
2.Turli xil sanoq sistemalarida bo’lgan sonlar ustida ayirish  amalini bajarish.
a) 378 – E16 ifodani 8 lik sanoq sistemasidagi yechimni toping.
Yechish : Buning uchun biz jadvaldan  foydalanib,  E16 sonini 8 lik sanoq 
sistemasiga o’tkazib, bir xil sanoq sistemasidagi ayirish amalini bajaramiz.
  E16  =168      teng bo’ladi.
378-  E16  = 378   - 168   =218                      javob: 218
b) Berilgan ifodani 7 lik sanoq sistemasidagi qiymatini toping.
4B16-657=?
Yechish : 4B16  sonni 10 lik sanoq sistemasiga  o’tkazamiz.
Quyidagi formulaga qo’yamiz.
N=акqk+ak-1 qk-1+……+ a1q1+a0q0+……… 4*161+В*160=64+11=7510                   
   75:7= 10 (5)
4В16 =1057
1057 - 657   =407                                                                  javob :  407
3.Turli xil sanoq sistemalarida bo’lgan sonlar ustida ko’paytirish amalini bajarish.
а) 158 * 215  ifodani 5 lik sanoq sistemasida ko’paytmasini  toping.
Yechish : Buning uchun biz jadvaldan  foydalanib,  158 sonini 5 lik sanoq 
sistemasiga o’tkazib, bir xil sanoq sistemasidagi ko’paytirish  amalini bajaramiz.
  158 =305      teng bo’ladi.  Endi bu sonlarni ko’paytirmiz
305   * 215   = 11 3  05
                                *305
                                    215  
                        _____________
                               +     3 0
                              11 0
                       _______________
                           11 3  0                                                                   javob: 11 3  05
b) Berilgan ifodani 10 lik sanoq sistemasidagi qiymatini toping.
АF16*238=?
Yechish  : Bu   sonlarni 10 lik sanoq sistemasiga o’tkazamiz.
Quyidagi formulaga qo’yamiz.
N=акqk+ak-1 qk-1+……+ a1q1+a0q0+………
А*161+F*160=10*16+15*1=160+15=17510   
  2*8+3=1910              AF16 =17510 17510 *1910     =
                               *17510                                                                                                       
                                 1910         
            _________________
                      +     1575
                              175
         ____________________
                      332510                                   javob              332510  
4.Turli xil sanoq sistemalarida bo’lgan sonlar  ustida ,bo’lish amalini bajarish.
 Sakkizlik sanoq sistemasidagi 11730 sonini o’n oltilik sanoq sistemasidagi 14 
soniga bo’ling.Natijani 8 lik sanoq sistemasida ifodalang.
Yechish : Buning uchun biz jadvaldan  foydalanib,  ikkinchi  sonini 8 lik sanoq 
sistemasiga o’tkazib, bir xil sanoq sistemasidagi bo’lish  amalini bajaramiz.
  1416 =248      teng bo’ladi.  Endi bu sonlarni bo’lamiz..
117308   : 148   = 3768
Javob: 3768             _ 11730  
                  74 24
376
                __233
                  214     
                 _ 170  
                    170
                         0 Sanoq sistemalarida turli xil arifmetik amalarni bajarish uchun biz o’nlik sanoq 
sistemasidagi arifmetik amallarni yaxshi bilishimiz zarur. Kompyuterda 2,8,16 lik 
sanoq sistemalar qo’laniladi.                                                                                      
Axborotlarni 2lik sanoq sistemasida kodlash uchun bu sanoq sistemalaridan 
foydalaniladi.Aynan 2,8,16 lik sanoq sistemalarini tanlash 8,16 sonlari 2 sonning 
darajasi bo’lganligi sababli, shuni xulosa qilib aytganda arifmetik amallarni turli xil 
bo’lgan sanoq sistemalarida qo’lash uchun matematika fanini chuqur 
o’zlashtirishimiz kerak bo’ladi. Turli xil sanoq sistemalarida arifmetik amallarni 
bajarish uchun ularni 10 lik sanoq sistemasiga o’tkazib olib bajariladi va keyin 10 
lik sanoq sistemasiga chiqan soni o’sha sanoq sistemasidagi qonuniyat asosida 
o’tkaziladi. 
Ko‘plab algoritmik tillar paydo bo‘ldi: Fortran, Paskal, Beysik….
XII asrda Yevropada al – Xorezmi. matematik traktatining lotincha tarjimasi chiqdi.
O’sha paytlar Algoritm deganda o‘nlik sanoq sistemasida arifmetik amallarning 
bajarilash qoidalari nazarda tutilgan. Hozirgi davrda algoritm barcha soxalarda 
qo’llanib kelinmoqda. Ingliz matematigi Alan Tyuring 1935 – 1936 yillarda 
«mantiqiy hisoblash mashinasi» nazariyasini yaratdi. Ishlab chiqilgan «Tyuring 
Mashina»si bo‘lajak matematiklar va kompyuterchiklar uchun majburiy 
o‘qitiladigan bo‘ldi. London mehmonxonalarining birida: «Bu yerda kodlarning 
buzuvchisi va informatikaning pioneri Alan Tyuring (1912 – 1954), tug‘ilgan» deb 
yozib qo‘yilgan. Rus matematigi Andrey Markov 1947 yil «normal algoritm» 
tushunchasini kiritdi va tizimlashgan va qat’iy algoritmlar umumiy nazariyasini 
yaratdi. Belgini qayta ishlashga mo‘ljallangan zamonaviy tillar (Prolog) Markovning
«normal algoritm» lariga asoslanadi.
O’nli sanoq sistemasida Butun sonlar va o‘nli kasr bilan arifmetik amallarning 
bajarilish qoidasi birinchi bo‘lib, buyuk olim Muxammad ibn Muso al-Xorazmi 
(arabchadan tarjimasi «Muxammad Muso o‘g‘li Xorazmdan», qisqa qilib Al-
Xorazmiy deyiladi) tomonidan ishlab chiqilgan. Al-Xorazmiy IX asrda Xiva shahrida 
yashab ijod qilgan. Arab tilida yozilgan asarlari yo‘qolib ketgan, ammo XII asrda 
lotin tiliga tarjima qilingan nusxalari saqlanib qolingan. Shu orqali G’arbiy Yevropa  O’nli sanoq sistemasida Butun sonlar va o‘nli kasr bilan arifmetik amallarning 
bajarilish qoidasi bilan tanishgan.
Algoritm ta’rifi. Elektron hisoblash mashinalarining vujudga kelishiga qadar 
algoritmga har xil ta’rif berib kelindi. Lekin ularning barchasi ma’no jihatdan bir-
biriga juda yaqin bo‘lib, bu ta’rif hozirgi kunda quyidagicha talqin qilinadi.
Ta’rif. Algoritm deb, biror masalani yechish uchun ma’lum qoidaga asosan 
bajariladigan amallarning chekli ketma-ketligiga aytiladi yoki aniq natija beruvchi 
sodda hisoblashlar ketma-ketligi.
Yoki boshqacha aytsak algoritm-bu to’g’ri aniqlangan hisoblash jarayoni bo’lib, 
natijada kirishda berilgan m-tlarni chiquvchi m-tlarga aylantirib beradi, ya’ni 
algoritm kiruvchi m-tlarni chiquvchi m-tlarga aylantiruvchi hisoblash qadamlari 
ketma-ketligidan iborat jarayondir. Masalan, amaliyotda juda ko’p uchraydigan 
masalalardan biri bu -elementlar ketma-ketligidan ma’lum birlarini aniqlash 
masalasi ham aniq algoritm asosida yechiladi. Konkret masala: (4,6,-9,43,-
11,7,91,-15) sonlar ketma-ketligidan manfiylarini aniqlash masalasida, kiruvchi 
ketma-ketlikdan chiquvchi (-9,-11,-15) ketma-ketlikni hosil qilish kerak bo’ladi. 
Bunday masalalar ko’pincha oraliq masala sifatida uchraydi. Ma’lumki, bu 
masalani bir necha hil algoritmlar yordamida echish mumkin. Bunday masalalarni 
juda ko’p keltirish mumkin.
Algoritmlarni loyihalash. Algoritmni tanlash qo’yilgan masalaning shartlari va 
boshqa bir nechta parametrlar asosida amalga oshiriladi: ular elementlar soni, 
elementlar joylashish tartibi, EHM axitekturasi, elementlarga qo’yiladigan masala 
shartlari va b. bo’lishi mumkin. Shuning uchun, algoritmni loyihalashda 
masalaning qo’yilishi, qo’llash mumkin bo’lgan algoritmlar sinflari va yuqoridagi 
parametrlar juda chuqur o’rganilishi kerak. Algoritm korrekt deyiladi, agar unng 
natijasi barcha kiruvchi mt lar uchun aniq chiquvchi mt larni tashkil etsa. Bu holda 
ihlatilgan korrekt algoritm berilgan masalani yechib beradi deyiladi. Agar algoritm 
nokorrekt bo’lsa, uning natijasi ba’zi bir kiruvchi mt lar uchun noto’g’ri bo’ladi yoki
umuman natija bermasligi mumkin. Ba’zi hollarda, ya’ni xatoliklarni tekshirib 
turish imkoni bo’lganda, nokorrekt algoritmlar ham foydali bo’lishi mumkin. 
Ko’pincha korrekt algoritmlardan foydalaish maqsadga muvofiq hisoblanadi.
Algoritm samaradorligi. Javob berilishi kerak bo'lgan birinchi jiddiy savol: qanday 
qilib “samarali algoritm” tushunchasini aniqlash mumkin? Bir qarashda 
samaradorlikning ishchi ta'rifi quyidagicha ko'rinishi mumkin. 1- ta'rif: algoritm samarador deb ataladi, agar ma'lumotlar kiritilganda uni amalga 
oshirish tezkor bajarilsa.
Albatta, samaradorlik nisbiy tushuncha bo’lib, bir nechta algoritmlarni solishtirish 
orqali aniqlanadi.
Xossalari:
Tushunarlilik –algoritmda ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda 
bo‘lishi;
Diskretlilik – algoritmlarni chekli qadamlardan tashkil qilib bo‘laklash imkoniyati ;
Cheklilik – bajarilayotgan algoritm chekli qadamlarda natijaga olib kelishi;
Natijaviylik - natijaning bo‘lishi;
Ommaviylik – har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi
uchun ham o‘rinli bo‘lishi .
Formallik –komandalarni mexanik bajarish imkoniyati.
Bu xossa robotlar, kompyuterlar va boshqa qurilmalarda komandalarning ketma-
ket bajarilishini ta’minlaydi.
Algoritm turlari : Chiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket 
bajariladigan jarayonlarga aytiladi.
Tarmoqlanuvchi algoritm - deb ma’lum shartlarga muvofiq bajariladigan 
ko‘rsatmalardan tuzilgan algoritmga aytiladi.
Takrorlanuvchi algoritm - deb biron bir shart tekshirilishi yoki biron parametrning 
har xil qiymatlari asosida takroriy xisblashlarni bajaradigan algoritmga aytiladi.
Chiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket bajariladigan 
jarayonlarga aytiladi. Chiziqli algoritm strukturasi:
Tarmoqlanuvchi va siklik algoritmlar Algoritmlarning qo’llanish soxalari. Algoritmlarni amalda juda ko’p yo’nalihlarda 
qo’llash mumkin, masalan:
Inson genomini o’qish masalasi-ya’ni inson DNK siga kiruvchi 100 ming genlar 
ketma-ketligini identifikatsiya ilish; Internet; Elektron tijorat; Ishlab chiqarish va 
elektron tijoratda resurslardan optimal foydalanish va b.
Algoritmni ishlab chiqish va tahlil qilish usullari. Yuqoridan pastga qarab 
algoritmni loyihalash yoki ketma-ket (bosqichma-bosqich) algoritmni loyihalash 
usuli - bu asl muammo (algoritm) bir qator yordamchi pastki qismlarga 
bo'linganida (subalgoritmlar) sodda va elementar operatsiyalar nuqtai nazaridan 
hal qilingan holda algoritmlarni tuzish usuli hisoblanadi ( protseduralar).
"Pastdan-yuqoriga" usuli, aksincha, oldindan aniqlangan subalgoritmlarning to'g'ri
to'plamiga tayanib, funktsional ravishda to'liqroq bajariladigan kichik vazifalarni 
tuzadi, ulardan umumiyroq narsalarga o'tadi va hokazo, biz echimni yoza oladigan
darajaga yetguncha. Ushbu usul pastki qavatdagi dizayn usuli sifatida tanilgan.
Algoritmlarning tarkibiyli hosil qilish printsiplari (algoritmlarni ishlab chiqishning 
tarkibiy usullari) algoritmlarni asosiy tarkibiy algoritmik birliklaridan hosil qilish, 
ularning ketma-ket ulanishi yoki bir-birlariga joylashtirilishi algoritmni o'qilishini 
va bajarilishini kafolatlaydigan qoidalarni yuqoridan pastga va ketma-ketlikda 
bajarish tamoyillaridir.
Strukturalangan algoritm - bu asosiy algoritmik tuzilmalarni aniqlash va 
joylashtirish sifatida taqdim qilingan algoritmdir. Strukturalangan algoritmda 
statik holat (algoritmni yangilashdan oldin) va dinamik holat (yangilangandan 
keyin) bir xil mantiqiy tuzilishga ega, uni yuqoridan pastgacha kuzatib borish 
mumkin ("u ham o'qiladi, ham bajariladi"). Algoritmlarning strukturali rivojlanishi 
bilan uning tuzilishi va bajarilishining har bir bosqichida algoritmning to'g'riligini 
kuzatish mumkin.
Algoritmlarni (dasturlarni) loyihalash va ishlab chiqishda keng qo'llaniladigan 
usullardan biri bu modulli usul. Modul bu ma'lum bir algoritm yoki uning ba'zi bir 
bloklari bo'lib, ularni ajratib va yangilash mumkin bo'lgan ma'lum nomga ega. 
Ba'zida modul barcha algoritmlar yordamchi bo'lsa ham, yordamchi algoritm deb 
ataladi.
Modul xususiyatlari: funktsional yaxlitlik va to'liqlik (har bir modul bitta vazifani 
bajaradi, lekin to'liq va to'liq bajaradi); avtonomiya va boshqa modullardan  mustaqillik (vorislik modulining avvalgi modul ishlashidan mustaqilligi; bundan 
tashqari, ularning aloqasi faqat parametrlarni uzatish / qabul qilish va boshqarish 
darajasida amalga oshiriladi);
Algoritmlarning modulli dizaynining afzalliklari:
-turli ijrochilar tomonidan katta hajmli algoritmni (algoritmik kompleks) ishlab 
chiqish imkoniyati; -eng ko'p ishlatiladigan algoritmlar (subalgoritmlar) 
kutubxonasini yaratish va yuritish qobiliyati; algoritmlarni sinash va ularning 
to'g'riligini asoslash; dizaynni soddalashtirish va algoritmlarni o'zgartirish; 
algoritmlarni (yoki algoritmlarning komplekslarini) ishlab chiqish (loyihalash) 
murakkabligini kamaytirish; algoritmlarni amalga oshirishda hisoblash 
jarayonining kuzatilishi.
Algoritmni sinash - bu maxsus belgilangan testlar yoki test misollarida 
algoritmning to'g'riligi yoki noto'g'riligini tekshirish - ma'lum ma'lumotlar va 
natijalar bilan bog'liq muammolar (ba'zan ularni yaqinlashtirish etarli). Testlar 
to'plami minimal va to'liq bo'lishi kerak, ya'ni kirish ma'lumotlar to'plamining har 
bir alohida turini, ayniqsa alohida holatlarda, tekshirishni ta'minlaydi. 
Algoritmlarning ishlash vaqtlari:

Sanoq sitemalari. Algoritmlarni loyihalash va tahlil qilish . Mundarija 1-bob. Sanoq sistemalari. 1.1. Sanoq sistemalari haqida. 1.2. Sanoq sistemalarida arifmetik amallar. 1.3. Ikkilik sanoq sistemasida arifmetik amallar bajarish. 1.4. Sakkizlik sanoq sistemasida arifmetik amallar bajarish. 1.5. O’n oltilik sanoq sistemasida arifmetik amallar bajarish. 1.6. Turli xil bo’lgan sano q sistemalari ustida arifmetik amallar bajarish. 2-bob. Algoritmlarni loyihalash va tahlil qilish. 2 .1. Algoritm tushunchasi. 2.2.Algoritmlarni loyihalash. 2.3.Algoritmlarni loyihalashning asosiy bosqichlari. O’quvchi yoshlarga kompyuter texnikasini o’rgatishdan avval uni nazariy jihatdan singdirish maqsadga muvofiq. Bunda sanoq sistemalari muhim o’ringa ega. Sanoq sistemasi bu – sonlarni o’qish va arifmetik amallarni bajarish uchun qulay ko’rinishda yozish usuli. Qadimda hisob ishlarida ko’proq barmoqlardan foydalanilgan. Shu sababli narsalarni 5 yoki 10 tadan taqsimlashgan . keyinchalik o’nta o’nlik maxsus nom - yuzlik , o’nta yuzlik – minglik nomini olgan va h.k Turli davrlarda turli xalqlar, qabilalar raqamlar va sonlarni ifodalashda turlicha belgidan foydalanganlar. Qadimda ba’zi xalqlar ishlatadigan sonlar alifbosi beshta, o’n ikkita, yigirmata, ba’zilari oltmishta belgini o’z ichiga olgan . Sonlar sistemasidagi raqamlar soni shu sistemaning asosi deb yuritiladi. Kundalik hayotimizda ishlatilayotgan o’nlik sanoq sistemasidagi sonlar ustida arifmetik amallar bajarish usullarini bilamiz. Mazkur usullari

boshqa barcha pozitsiyaga bog’liq bo’lgan sanoq sistemasida qo’shish amalini ko’rsak, biz avval birliklarni, so’ng o’nliklarni, keyin yuzliklarni va hokazolarni o’zaro qo’shib boramiz. Bu jarayon barcha pozitsiyali sanoq sistemalar uchun o’rinli bo’lib, toki oxirgi qiymat bo’yicha eng katta razryadni qo’shishgacha davom etadi. Mazkur jarayonda shu narsani doim eslash kerakki, agar biror razryad sonlarini qo’shganimizda natija sanoq sistemasi asosi qiymatidan katta chiqsa, yig’indining sanoq sistema asosidan katta bo’lsa keying razryadga o’tkazish kerak. Masalan, o’nlik sanoq sistemasida: 19327510 + 7953810 198310 ___________ 27479610 Shuni yodda tutish kerakki, sanoq sistema asosining qiymati 10 deb hisoblanadi. Shu sababli ham sanoq sistemasi asosidan keying sonlar 11, 12, …. va h.k. deb yuritiladi. …. va h.k. deb yuritiladi. Hisoblash texnikasida va dasturlashda asosi 2,8 va 16 ga teng bo’lgan sanoq sistemalari qo’laniladi. Buni tushunish uchun, keling, misollarga murojat qilaylik. Masalan, sakkizlik sanoq sistemasida 8 ta raqamlar bor: 0, 1 , 2 , 3, 4, 5, 6, 7. O’n oltilik sanoq sistemasida raqamlardan keyin lotin alfbosidagi bosh harflardan foydalaniladi.O’n oltilik sanoq sistemasida 9 ta raqam va 6 ta harf bor: 0, 1 , 2 , 3, 4, 5, 6, 7.8,9, A,B,C,D,E,F

Sanoq sistemalarining quyidagi jadvalini keltiramiz. O’nlik s/s son 0 1 2 3 4 5 6 7 8 9 10 Ikkilik s/s son 0 1 10 1 1 100 101 110 111 1000 10001 1010 Sakkizlik s/s son 0 1 2 3 4 5 6 7 10 11 12 O’n oltilik s/s son 0 1 2 3 4 5 6 7 8 9 A Ikkilik sanoq sistemasida 2 ta raqam: o va 1 mavjud. Shu sistemada qo’shish, ayirish va ko’paytirish amallari quyidagicha bajariladi: Qo’shish Ayirish Ko’paytirish 0+0=0 0+1=1 1+0=1 1+1=10 0-0=0 1-0=1 0-1=1 10-1=1 0*0=0 0*1=0 1*0=0 1*1=1 Endi ikkilik sanoq sistemasidagi sonlar ustida turli arifmetik amallar bajarishga doir misollar ko’ramiz. 1-misol. 1101012 va 1100112 sonlarning yigindisini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha qo’shamiz: + 1101012 1100112 __________ 1101000 2 Javob: 11010002 2-misol. 1010102 va 100112 sonlarning ayirmasini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha ayiramiz:

__ 1010102 1 00112 ______________ 10111 2 Javob: 101112 3-misol. 1100112 va 1012 sonlarning ko’paytmasini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha ko’paytiramiz: X 1100112 1012 _______________ + 110011 110011 __________ 111111112 Javob: 111111112 4-misol. 10000100102 va 1101012 sonlarning bo’linmasini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha bo’lamiz: Javob: 10102__ 1000010 , 010 110101 110101 1010 __110101 110101 0

Endi sakkizlik sanoq sistemasidagi sonlar ustida turli arifmetik amallar bajarishga doir misollar ko’ramiz: 1-misol. 47 8 va 135 8 sonlarning yigindisini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha qo’shamiz: + 47 8 135 8 __________ 204 8 Javob: 204 8 2-misol. 1345 8 va 365 8 sonlarning ayirmasini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha ayiramiz: __ 1345 8 365 8 __________ 760 8 Javob: 760 8 3-misol. 54 8 va 136 8 sonlarning ko’paytmasini toping. Yechish. Bu sonlarni bir ustunga yozib, umumiy qoida bo’yicha ko’paytiramiz: X 136 8 54 8 __________ + 570 726 ___________ 10050 8 Javob : 10050 8