Avtomatika va elektrotexnologiya


Download 5.01 Kb.
Pdf ko'rish
bet15/22
Sana20.12.2017
Hajmi5.01 Kb.
#22669
1   ...   11   12   13   14   15   16   17   18   ...   22

3-misоl. ―Svеtоfоr‖ dаn fоydаlаnish аlgоritmi. 
1)
 
svеtоfоr chirоg‘igа qаrаlsin; 
2)
 
qizil chirоq yongаn bo‘lsа, to‘хtаlsin; 
3)
 
sаriq chirоq yongаn bo‘lsа, yurishgа yoki to‘хtаshgа tаyyorlаnsin; 
4)
 
yashil chirоq yongаn bo‘lsа, yurilsin. 
4-misоl.  I  bоbdа  ko‘rib  o‘tilgаn  birinchi  misоlniyechish  аlgоritmini  quyidаgichа  bаyon  qilsа 
bo‘lаdi: 
1)  EHM хоtirаsigа V
о
 vа g  o‘zgаruvchilаrning sоnli qiymаtlаri kiritilsin; 
2)  t ning qiymаti t=V
o
/g fоrmulа bilаn хisоblаnsin; 
3)  h ning qiymаti h=V
o
t-gt
2
/2  fоrmulа bilаn хisоblаnsin; 
4)  t vа h o‘zgаruvchilаrning sоnli qiymаtlаri ekrаngа yoki qоg‘оzgа chiqаrilsin; 
5)  хisоblаsh to‘хtаtilsin. 
Mаsаlаning qo‘yilishidа kоptоk 29,5 m/sеk bilаn tеpilsа, dеgаn shаrt bоr edi. YAni, V
о
=29,5 
vа g =9,81 bo‘lsа, t vа h qаnchа bo‘lаdi? 
Аlgоritmni ishlаb chiqish uchun аvvаlо mаsаlаningyechish yo‘lini yaхshi tаsаvvur qilib 
оlish, kеyin esа uni fоrmаllаshtirish, yani аniq qоidаlаr kеtmа-kеtligi ko‘rinishidа yozish kеrаk. 
Bu  misоllаrdаn  bittа  umumiy  tоmоnini  kuzаtish  mumkin.  Bu  аlgоritmdаn  qаndаy 
mаqsаd ko‘zlаngаnligini bilmаsdаn turib хаm uni muvаffаqiyat bilаn bаjаrish mumkin. Dеmаk, 
хаyotdа  uchrаydigаn  murаkkаb  jаrаyonlаrni  bоshqаrishni  yoki  аmаlgа  оshirishni  rоbоtlаr, 
kоmpyutеrlаr vа bоshqа mаshinаlаr zimmаsigа yuklаshimiz mumkin ekаn. Bu esа аlgоritmning 
judа  muхim  аfzаlligidir.  SHungа  ko‘rа,    хаr  bir  insоn  o‘z  оldigа  qo‘yilgаn  mаsаlаningyechish  
аlgоritmini to‘g‘ri tuzib bеrа оlsа, u o‘z аqliy vа jismоniy mехnаtiniyengillаshtiribginа qоlmаy, 
bu ishlаrni аvtоmаtik tаrzdа bаjаrishni mаshinаlаrgа tоpshirishi хаm mumkin. 

Аlgоritmni  ishlаb  chiqishdа  mаsаlаniyechish  jаrаyonini  shundаy  fоrmаllаshtirish 
kеrаkki,  bu  jаrаyonyetаrli  dаrаjаdаgi  оddiy  qоidаlаrning  chеkli  kеtmа-kеtligini  ko‘rinishigа 
kеltirilsin. Mаsаlаn, biz ko‘pinchа ko‘p хоnаli sоnlаr ustidа аsоsiy аrifmеtik аmаllаrni bаjаrishdа 
vаtаndоshimiz  Аl-Хоrаzmiyning  IX  аsrdа  yarаtgаn  qоidаlаrini  ishlаtаmiz.  "Аlgоritm"  аtаmаsi 
хаm аnа shu buyuk mаtеmаtik nоmidаn kеlib chiqаdi. 
 
SHuning  uchun  аlgоritm  dеb,  mаsаlаyechimini  tаsvirlаshning  iхtiyoriy  tаsviri 
оlinmаsdаn,  bаlki  fаqаtginа  mа‘lum  хоssаlаrni  bаjаrа  оlаdigаnlаri  qаbul  qilinаdi. 
Ko‘rsаtmаlаrning mаzmuni, kеlish tаrtibi, qo‘llаnish dоirаsi vа оlinаdigаn nаtijаdаn kеlib chiqib, 
аlgоritmning eng аsоsiy хоssаlаri bilаn tаnishаmiz. 
Algoritmning xossalari 
Algoritmga  qo‗yiladigan  qo‗shimcha  talablar  mavjud  bo‗lib,  bu  talablar  algoritmning 
xossalari deb yuritiladi. Ular quyidagilardan iborat: 
Uzluksizlik  xossasi.  Bu  xossaga  ko‗ra  algoritm  aniq  va  tugallangan  qadamlarga 
bo‗lingan bo‗lishi kerak. (Keltirilgan misolda shunday qadamlar soni beshta). 
Aniqlilik  xossasi.  Algoritm  shunday  tuzilgan  bo‗lishi  kerakki,  har  bir  buyrug‗i 
bajarilgandan keyin qaysi buyrug‗i bajarilishi aniq ko‗rsatilgan bo‗lishi lozim. 
Tushunarlilik  xossasi.  Har  bir  algoritm  yoshi  yoki  qobiliyatiga  qarab  ma'lum  ijrochiga 
mo‗ljallangan  bo‗ladi.  Masalan,  kvadrat  tenglamani  yechish  algoritmi  to‗g‗ri  tuzilgan  bo‗lsa 
ham, boshlang‗ich sinf o‗quvchilariga tushunarli bo‗lmaganligi tufayli ular bu algoritmni ijro eta 
olmaydilar. Chunki ular diskriminant, kvadrat ildiz, kvadratga ko‗tarish kabi tushunchalar bilan 
tanish  emas.  Bundan  tashqari,  ushbu  xossaga  binoan  algoritmning  har  bir  buyrug‗i  aniq 
ifodalangan  bo‗lib,  ikki  xil  ma‘noni  anglatmasligi  lozim,  ya‘ni  algoritmning  har  bir  buyrug‗i 
barcha ijrochilar tomonidan bir xil tushunilishi kerak. 
Natijaviylik xossasi. Ijrochi algoritmning chekli sondagi buyruqlarini bajargandan so‗ng, 
natijaga erishishi kerak. Keltirilgan misolda beshinchi buyruq ijro etilgach, natijaga erishiladi. 
  
Ommaviylik  xossasi.  Bu  xossaga  ko‗ra  tuzilgan  bitta  algoritm  vositalariga  faqat  bitta 
emas, balki bir xil turli barcha masalalar hal qila bilish mumkin bo‗lishi kerak. Masalan, kvadrat 
tenglamani  yechish  algoritmi  yordamida  ixtiyoriy  kvadrat  tenglamani  yechish,  yoki  u=a*x+b 
(a=0)  to‗g‗ri  chiziqning  grafigini  chizish  algoritmi  yordamida  ixtiyoriy  to‗g‗ri  chiziqning 
grafigini chizish mumkin bo‗lishi kerak. 
Umuman olganda, har bir algoritm ma‘lum soha bo‗yicha tushunarli, aniq va tugallangan 
qadamlarga bo‗lingan bo‗lishi, har bir buyrug‗i bajarilgandan keyin qaysi buyruq bajarilishi aniq 
ko‗rsatilishi  lozim.  Algoritmning  chekli  sondagi  buyruqlarini  ijro  etgach,  natijaga  erishishi 
hamda tuzilgan bitta algoritm vositasida faqat bitta emas, balki bir xil turdagi barcha masalalarni 
hal qila bilish mumkin bo‗lishi kerak. 
Algoritmlarning ifodalanishi 
Algoritm  ijrochisi  EHM  yoki  avtomatik  qurilmalar  ham  bo‗lishi  mumkin.  EHM  o‗ziga 
tushunarli bo‗lgan tilda tuzilgan algoritm (ya‘ni dastur) asosidagina ishlay oladi. Demak, EHM 
uchun tuzilgan dasturni ham to‗liq ma‘noda algoritm deb atash mumkin. 
Algoritmlarni  tuzish  jarayonida  ularning  qaysi  ijrochiga  mo‗ljallab  tuzilayotganligiga 
alohida  e‘tibor  beriladi  va  sun‘iy  yoki  tabiiy  tillardan  birida  tuziladi.  Ma‘lumki,  EHM  tabiiy 
tillarni tushunmaydi va inson bilan ular o‗rtasida bu tillarda muloqat o‗rnatib bo‗lmaydi. Shuning 
uchun  inson  bilan  EHM  o‗rtasida  muloqot  o‗rnatishga  mo‗ljallangan  bir  necha  o‗nlab  tillar 
yaratilgan. Bu tillar sun‘iy tillar jumlasiga kiradi va dasturlash tillari deb ataladi. Agar algoritm 
EHM  uchun  mo‗ljallab  tuzilayotgan  bo‗lsa,  mazkur  EHM  tushunadigan  sun‘iy  tillardan  birida 
tuziladi va to‗liq formallashtiriladi. 
Algoritm qaysi ijrochiga mo‗ljallab tuzilayotganligiga qarab quyidagi shakllardan birida 
ifodalanishi mumkin: 
1. Matn shakli; 2. Blok-sxema shakli; 3. Dastur shakli. 
Algoritmlarni ifodalashning dastlabki ikkita shakli tabiiy tillar: matematik formulalar va 
simvollar vositasida ifodalanadi, uchinchi shakli esa sun‘iy tillardan birida ifodalanadi. 
Algoritmning matn shaklida ifodalanishi 

Algoritmni ifodalashning eng ko‗p tarqalgan shakli bu matn shakli, ya‘ni uni oddiy tilda 
so‗zlar bilan bayon qilish hisoblanadi. 
So‗zlar  yordamida  tuzilgan  algortmning  ijrochisi  inson  hisoblanadi.  Algoritmning  matn 
shaklida  har  bir  ko‗rsatma,  jumlalar  orqali  buyruq  mazmunida  beriladi.  Algoritmning  bunday 
shaklidan  odatda,  kundalik  hayotda  uchraydigan  masalalarni  hal  qilish  algoritmlarini  tuzishda 
foydalaniladi.  Masalan,  inson  hayotida  har  kuni  bajaradigan  yumushlari,  ya‘ni  har  xil  taomlar 
tayyorlash, choy damlash va hokazo algoritmlar so‗zlar yordamida ifodalanadi. 
Umuman olganda, ixtiyoriy turdagi masalalarning algoritmlarini so‗zlar yordamida tuzish 
mumkin. 
Masalan,  aralash  sonni  noto‗g‗ri  kasrga  aylantirish  algoritmi  quyidagicha  oddiy  tilda 
tuziladi: 
1) Sonning butun qismini mahrajiga ko‗paytiramiz va uni R1 bilan belgilaymiz. 
2) R1 ga kasrning suratida turgan son qo‗shiladi va natija suratga yoziladi. 
3) Kasrning mahraji o‗zgarishsiz qoladi. 
 
 
Algoritmning blok-sxema shaklida ifodalanishi 
Matematika  masalalarini  hisoblashda  algoritmni  blok-sxema  ko‗rinishida  tasvirlash  uni 
tushunish  uchun  qulaylik  tug‗diradi.  Blok-sxema  ko‗rsatkichlar  bilan  bog‗lanuvchi  har  xil 
bloklar  ketma-ketligidan  tashkil  topadi.  Algoritmning  bajarilish  tartibi  ko‗rsatkich  bilan 
ko‗rsatiladi. 
Blok-sxemalarda algoritmning alohida bosqichlarini belgilash uchun quyidagi belgilardan 
foydalaniladi: 
 
 
 
 
 
- algoritmning boshlanishini bildiruvchi blok; 
 
 
 
 
 
 
- kerakli ma‘lumotlarni kiritish va chiqarish bloki;   
 
 
 
 
 
- hisoblash va ta‘minlash bloki; 
 
 
 
           ha
 
- shartni tekshiruvchi blok; 
 
 
 
 
                  yo‗q 
 
 
 
 
 
- algoritm tugaganligini bildiruvchi blok; 
 
Har  qanday  algoritm  blok-sxema  shaklida  ifodalanganda,  har  doim  uning  boshlanishini 
bildiruvchi blok bilan boshlanib, algoritmning tugaganligani bildiruvchi blok bilan yakunlanadi. 
Kerakli  ma‘lumotlarni  kiritish  va  chiqarish  blokida  dastlabki  berilganlar  kiritiladi  va 
olingan natijalar chiqariladi. 
Shartni  tekshirish  bloki  ichiga  shart  yoziladi,  qo‗yilgan  shartning  bajarilish- 
bajarmasligiga  qarab  strelka  ikki  tomonga  yo‗naladi.  Strelkalarning  biriga  "ha"  so‗zi, 
ikkinchisiga  "yo‗q"  so‗zi  yoziladi.  "ha"  so‗zi  shartning  bajarilganligini,  "yo‗q"  so‗zi  esa 
shartning  bajarilmaganlishni  bildiradi.  Shartning  bajarilgan  yoki  bajarilmaganligiga  qarab, 
algoritmning bajarilish tartibi aniqlanadi. 
Hisoblash  va  ta‘minlash  blokida  hisoblanishi  kerak  bo‗lgan  ifoda  yoziladi.  Ifodaning 
qiymati hisoblanib, tenglik belgisining chap tomonidagi o‗zgaruvchiga ta‘minlanadi. 
Chiziqli, tarmoqlanuvchi va takrorlanuvchi tarkibga ega bo„lgan algoritmlar tuzish 
Algoritmlar uch turga bo‗linadi: chiziqli, tarmoqlanuvchi, siklik (takrorlanuvchi). 
Chiziqli tarkibli algoritmlarda algoritmlarning har bir punkti tabiiy ravishda ketma-ket bir 
martadan bajariladi. 

Masalan:  y=sin+ln|x+1|  funksiyaning  qiymatini  hisoblash  algoritmi  tuzilsin,  bu  yerda 
x=3,9. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tarmoqlanuvchi  tarkibli  algoritmlarda  ham  har  bir  band  bir  martadan  bajariladi.  Lekin 
shartning bajarilishi yoki bajarilmasligiga qarab qaysi bandlar ketma-ket bajarilishi aniqlanadi. 
Masalan: Argument x ning ixtiyoriy qiymatida quyidagi funksiyaning qiymatini hisoblash 
algoritmi tuzilsin: 












,
`
1
|,
5
|
ln
,
`
1
,
2
sin
,
`
1
,
1
lsa
bo
x
agar
x
x
lsa
bo
x
agar
a
x
lsa
bo
x
agar
x
y
 
bu yerda:  a = 4,5;   x = 4,8. 
 
Takrorlanuvchi  (siklik)  algoritmlarda  algoritmning  bir  bo‗lak  bandlari  parametrlarning 
qabul qilish qiymatiga qarab ketma-ket bir necha marta bajariladi. 
Sonli to„plamlarning eng katta va eng kichik elementlarini aniqlash algoritmlari 
 
Sonli  to‗plamlarning  eng  katta  (eng  kichik)  elementlarini  topish  uchun  ularning 
boshlang‗ich  elementi  boshqa  hamma  elementlari  bilan  navbatma-navbat  taqqoslanadi.  Agar 
boshlang‗ich elementi taqqoslanayotgan elementdan kichik (katta) bo‗lsa, u holda boshlang‗ich 
element  tashlab  yuboriladi  va  katta  (kichik)  element  sifatida  taqqoslanayotgan  element  olinadi. 
Agar  boshlang‗ich  element  taqqoslanayotgan  elementdan  katta  (kichik)  bo‗lsa,  u  holda  katta 
(kichik) element sifatida to‗plamning boshlang‗ich elementining o‗zi saqlanadi. 
Sonli  to‗plamning  eng  katta  elementini  topish  jarayoni  matematik  formula  orqali 
quyidagicha ifodalanadi: 






;
,
;
,
max
max
max
max
y
yi
agar
y
y
y
agar
y
y
i
i
 
Xuddi shunday eng kichik elementni topish quyidagicha ifodalanadi: 
 
Boshlanis
hi 

y=sinx+l
n|x+1

tamom 

ha 
ha 






;
,
;
,
min
min
min
min
y
yi
agar
y
y
y
agar
y
y
i
i
 
Misol: (x1, x2, ..., xn) massivning eng kichik elementini va uning tartib nomerini topish 
algoritmini tuzing. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Yigindi va ko„paytmaning hisoblash algoritmi 
Agar  argumentning  turli  qiymatlarida  y=f(x)  funksiyaning  yig‗indisini  hisoblash  talab 
qilinsa,  dastlab  boshlang‗ich  qiymati  hisoblanadi  va  unga  keyingi  hisoblangan  qiymatlari 
navbatma-navbat  qo‗shiladi.  Yig‗indining  hisoblash  formulasi  quyidagicha:  Z  =Z  +Y.  Siklning 
birinchi  qadamida  Z  =Z  +  Y  yig‗indi  hisoblanadi  va  uning  qiymati  Y  ga  teng  bo‗lishi  shart. 
Shuning uchun yig‗indining dastlabki qiymati sifatida Z=0 olinadi. 
Ko‗paytmani  hisoblash  ham  xuddi  shunday  tashkil  qilinadi,  faqat  farqi  ko‗paytmaning 
dastlabki qiymati sifatida Z=1 olinadi. Ko‗paytmaning hisoblash formulasi quyidagicha: Z=Z∙Y. 
Dasturlash tillari haqida tushuncha 
 
Foydalanuvchidan kompyuter bilan muloqot qilish uchun kompyuter "tili" ni bilishi ham 
talab  qilinadi.  Kompyuter  tushunadigan  "til"  dasturlash  tili  deb  ataladi.  Biror  masalani 
kompyuterda  yechish  uchun,  avvalo,  uning  algoritmi  tuzilishi  va  bu  algoritmni  kompyuter 
tushunadigan  ko‗rsatmalar  va  qonun-qoidalar  asosida  yozilishi  kerak  bo‗ladi.  Bu  yozuv  dastur 
bajarishi  mumkin  bo‗lgan  ko‗rsatmalarning  izchil  tartibidan  iborat  ekan.  Kompyuter  uchun 
dastur tuzish jarayoni dasturlash va dasturni tuzadigan kishi dasturchi deb ataladi. 
Hozirgi  kunda  hisoblash,  muhandis-texnik,  iqtisodiy,  matnli  va  sonli  axborotlarni  tahlil 
qilish  va  boshqa  masalalarni  yechish  uchun  yuqori  darajadagi  dasturlash  tillari  mavjud.  Bular 
jumlasiga  Beysik,  Fortran,  Delphi,  Kobol,  Delphi,  Visual  Basic,  Assembler,  Foxpro  va  boshqa 
tillarni kiritish mumkin. 
Beysik dasturlash tili 1964 yili AQShning Dortmunt kolleji ilmiy xodimlari Jon Kemeni 
va Tomes Kurts tomonidan turli hisoblashlarga doir masalalarni kompyuter bilan muloqot holda 
hal  qilishi  uchun  yaratildi.  "Basic"  so‗zi  Beginners  Allpyrpose  sumbolic  Instruction  Code  dan 
olingan  bo‗lib,  o‗zbek  tilida  "boshlovchilar  uchun  mo‗ljallangan  ko‗p  maqsadli,  belgili 
ko‗rsatmalar  tili"  degan  ma‘noni  bildiradi.  Beysik  dasturlash  tili  soddaligi  va  kompyuter 
xotirasiga  qo‗yiladigan  talablarning  juda  kamligi  sababli  bu  dasturlash  tili  boshqa  dasturlash 
tillari qatori butun dunyoda shaxsiy kompyuterlar uchun keng foydalanadigan til bo‗lib qoldi. 
boshlanishi 
Xi 
X
min
=X1,  i
min
=1 
I=2,50 
X
1

min
 
X
min
=X1,  i
min
=1 
Xi 
tamomlash 
yo`q 
yo`q 

Fortran  tili  1954  yilda  ishlab  chiqilgan.  Fortran  so‗zi  inglizcha  Formula  translator 
so‗zidan olingan bo‗lib, formula tarjimonchisi degan ma‘noni bildiradi. Fortran tili muhandislik 
va ilmiy texnik masalalarini yechishga mo‗ljallangan dasturlash tili hisoblanadi. 
Delphi  dasturlash  tili  Shveytsariyalik  professor  Virt  Niklaus  tomonidan  1971  yilda 
yaratilgan  bo‗lib,  1981  yilda  Delphi  tilining  xalqaro  standarti  qabul  qilingan.  Delphi  tili 
jamlovchi  mashinani  yaratgan  fransuz  fizigi  Blez  Delphi  xotirasiga  qo‗yilgan.  Delphi  tilidan 
ilmiy texnik, muhandislik masalalarini yechishda keng ko‗lamda foydalaniladi. 
Kobol  tili  1959  yilda  yaratilgan  bo‗lib,  iqtisodiy  xarakterga  ega  bo‗lgan  masalalarni 
yechishga mo‗ljallangan. 
Algoritmik tillarga qiyosiy tavsifnoma 
 
Hozirda  insoniyat  faoliyatining  barcha  jabhalariga  shaxsiy  elektron  hisoblashmashinalari 
(ShEHM) shaxdam qadamlar bilan kirib bormoqda. Asosan ShEHMlarga  mo‘ljallangan, hamda 
murakkab jarayonlarning hisob ishlarini bajarish va juda katta ma‘lumotlar tizimi bilan ishlashni 
tashkil etuvchi yangi algoritmik tillar sinfi brogan sari kengayib bormoqda. 
Bu tillar jumlasiga quyidagi ko‘proq ishlatilayotgan tillarni kiritish mumkin: 
1.
 
Beysik tili; 
2.
 
Delphi tili; 
3.
 
C tili va hakozo. 
Programma  tuzishni  o‘rganishni  boshlovchilarga  mo‘ljallangan,  savol-javob  sistemasida 
ishlaydigan,  turli-tuman  jarayonlar  algoritmini  yozishga  qulay  bo‘lgan  tillardan  biri  BEYSIK 
(BASIC) tilidir. Beysik tilining nomi ingliz so‘zi (Beginner's All-purpose Symbolic Instruction 
Code)  ning  o‘qilishiga  mos  kelib,  boshlovchilar  uchun  belgili  ko‘rsatmalar  kodi(tili)  degan 
ma‘noni anglatadi. Beysik tilini yaratish ustidagi ishlar 1963 yilning yozidan boshlangan. Tilning 
ijodkorlari taniqli olimlar T.Kurst va J.Kemeni hisoblanadi. Hozirga kelib Beysik tilining turli xil 
yangi  ko‘rinishlari  ishlab  chiqilmoqda  va  ulardan  foydalanib  millionlab  dasturchilar  ajoyib 
programmalar yaratishmoqda. 
Endi nisbatan mukammalroq bo‘lgan Delphi va Si algoritmik tillari haqida 
qisqacha fikr yuritsak. 
Delphi  tili  1969  yili  N.Virt  tomonidan  yaratilib  mashhur  olim  Blez  Delphi  nomi  bilan 
ataldi.  Bu  til  N.Virtning  o‘ylashi  bo‘yicha  programmalashning  zamonaviy  texnologiyasiga  va 
uslubiga, strukturali programmalash nazariyasiga asoslangan va boshqa programmalash tillaridan 
muayyan yutuqqa ega til bo‘lishi lozim edi. Mazkur til: 

 
Programmalashtirish konstepstiyasini va strukturasini sistemali va aniq 

 
ifodalaydi; 

 
Programma tuzishni sistemali olib borish imkonini beradi; 

 
Programma tuzish uchun boy termin va struktura sxemalariga ega; 

 
Yo‘l qo‘yilgan xatoliklarni tahlil qilishning yuqori darajadagi sistemasiga ega. 
1981  yili  Delphi  tilining  halqaro  standarti  taklif  etildi  va  IBM  PC  tipidagi  shaxsiy 
kompyuterlarda  Delphi  tilining  Borland  firmasi  tomonidan  ishlab  chiqilgan  Turbo-Delphi 
oiladosh  tili  keng  qo‘llanila  boshlandi.  Hozirda  Turbo-Delphining  bir  qancha  versiyalari 
yaratilib,  yuqori  darajadagi  programmalar  yaratish  imkoniyatlari  borgan  sari  kengaytirilib 
borilmoqda: 

 
4.0  versiyasidan  boshlab  programma  yozishni,  taxrirlashni  va  natijalar  olishni 
osonlashtirish uchun yangi integrallashgan muhit hosil qilindi

 
5.5  versiyasining  paydo  bo‘lishi  bilan  Turbo-Delphida  ob‘ektli  programmalash 
imkoniyati paydo bo‘ldi; 

 
6.0  versiyasidan  boshlab  esa  Delphi  programmasi  ichiga  quyi  programmalash  tili 
bo‘lmish  Assembler  tilida  yozilgan  programmalarni  qo‘shish  holati  hosil  qilindi.  Shu  bilan  bir 
qatorda tilning integrallashgan muhiti ham bir qator o‘zgarishlarga ega bo‘ldi. 
C  tili  1972  yili  D.Richi  tomonidan  turli  xil  EHMlar  uchun  universal  til  sifatida  ishlab 
chiqilgan  va  dasturchi  programma  tuzish  jarayonida  hisoblash  mashinasining  imkoniyatlaridan 

keng foydalanishi mumkin. Shuning uchun, bu til barcha narsani qilishga qodir degan tushuncha 
hosil bo‘lgan.  
Hozirda amalda foydalanilayotgan ko‘pgina operastion sistemalar C tilida yaratilgan. 

Nazorat savollari 
1.
 
Algoritm nima? 
2.
 
Algoritmning asosiy xossalarini ayting? 
3.
 
Algoritm qanday shakllarda ifodalanadi? 
4.
 
Blok-sxema nima va unda qanday bloklar ishlatiladi? 
5.
 
Algoritmlar necha turga bo‗linadi? 
6.
 
Mashina kodi nimani ifodalaydi? 
7.
 
Algoritmik tillarning «Mashina til»laridan asosiy farqlarini sanab bering. 
8.
 
Algoritmik tillar «Mashina tili»ga bog‘liqmi? 
9.
 
Translyator qanday vazifani bajaradi? 
10.
 
Algoritmning uchta o‘zagini sanab bering va ularning ma‘nosini 
11.
 
tushuntiring. 
12.
 
Til alfaviti nima? 
13.
 
Tilning sintaksis qoidalari nimani ifodalaydi? 
14.
 
Til semantikasining vazifasi nimadan iborat? 
15.
 
Qanday algoritmik tillarni bilasiz? 
 
 
20-Mavzu. Delphi - ob`ektga yo„naltirilgan dasturlash. (2 soat) 
1.
 
Operatorlar, protseduralar, funktsiyalar.  
2.
 
Interaktiv dasturlar.  
3.
 
Strukturalashgan ma‘lumotlarni qayta ishlash.  
4.
 
Protsedura va funktsiyali dasturlar.  
5.
 
Dasturni kompilyatsiyalash. Dasturni bajarish.  
6.
 
Kompilyatorlar va interpretatorlar. 
 
 
Dasturlashtirishga zamonaviy yondashish. 
XX  asrning  80  -  yillaridan  oldin  ishlab  chiqilgan  komp‘yuterlar  uchun  katta  dasturiy 
sistemalarni ishlab chiqish juda ham mushkul vazifa edi. Buning eng katta sababi shu davrga xos 
bo‘lgan komp‘yuterlarning imoniyatlarining chegaralanganidadir. Dasturiy komplekslarni ishlab 
chiqishda asosiy cheklanishlar komp‘yuter tezkor xotirasining sig‘imi, ma‘lumotlarni ikkilamchi 
xotira qurilmalaridan (magnit lentalar, barabanlar va x.k.) o‘qish tezligi,  protsessorning ishlash 
tezligi (ularning takt chastotalari bir necha yuz mikrosekund bo‘lgan) bilan  bog‘liq. Bu davrdagi 
komp‘yuterlar  halq  ho‘jaligining  hisob-kitob  bilan  bog‘liq  bo‘lgan  masalalarini  yechish  uchun 
mo‘ljallangan  edi.  Komp‘yuterlarda  boshqa  xarakterdagi  masalalarning  yechishning  iloji  yo‘q 
edi.  Dasturchilar  uchun  shu  komp‘yuterlarda  yechilayotgan  masala  uchun  berilgan 
ma‘lumotlarni  hisobga  olgan  holda  masalaning  yechish  algoritmini  ishlab  chiqish  birinchi 
o‘rindagi  vazifa  hisoblangan.  Bu  borada  N.  Virtning  mashhur  ma’lumotlar+algoritm=dastur  
formulasini yodga olish yetarli.  
80-yillardan  keyin  ishlab  chiqilgan  komp‘yuterlarning  imkoniyatlari  kengayib,  ishlab 
chiqarish  narxi  keskin    pasaygani  tufayli  ulardan  foydalanish  samarasi  ortib  bordi.  Natijada, 
dastlab matn va grafiklar  uchun muharrirlari ishlab chiqildi, keyinchalik mul‘timedia qurilmasi 
yordamida  tovushli  ma‘lumotlarni  qayta  ishlash  imkoniyatlari  ham  paydo  bo‘ldi.  Komp‘yuter 
tasviriy  imkoniyatlarining  kengayishi  foydalanuvchilar  uchun  qulay  bo‘lgan  grafik  muloqot 
interfeysini yaratilishiga sabab bo‘ldi. Natijada yuqori murakkablikdagi katta amaliy dasturlarni 
yaratish  foydali  hamda  zarur  bo‘lib  qoldi.    Dasturiy  vositalarni  ishlab  chiqish  uchun  qurol 
sifatida  yuqori  bosqichli  algoritmik  tillardan  foydalanildi.  Bu  dasturiy  vositalar  dasturchi  va 
dasturchilar  guruhi  imkoniyatlarini  kengaytirib,  dasturiy  mahsulotlarning  murakkablik 
darajasining ortishiga ham sabab bo‘ldi. 
70-80  yillarda dasturiy  mahsulotlarning murakkablik darajasini hal  qilish uchun ko‘plab 
metodlar ishlab chiqildi. Ularning ichida  yuqoridan pastga usulidagi strukturali dasturlash keng 

tarqaldi. Bu usul  yuqori bosqichli FORTRAN va COBOL tillarining topologiyasiga asoslangan 
edi.  Bu  tillarda  asosiy  bazaviy  birlik  bo‘lib  qism  dastur  xizmat  qiladi.   Dastur  shakli  jihatidan 
daraxtni eslatib, bitta qism  dastur boshqasiga murojaat  qilar edi.  Strukturali dasturlashda aynan 
shunday  yondoshuvdan  foydalaniladi:  algoritmik  dekompozitsiya  katta  masalalarni  kichik 
masalachalarga bo‘lish uchun qo‘llanadi. 
XX  asrning  60-70  yillarida  halq  xo‘jaligining  ko‘plab  masalalarini  komp‘yuter 
yordamida  yechish  uchun  BASIC,  DELPHI,  FORTRAN  kabi  dasturlash  tillari,  DBASE. 
CLIPPER, FOXBASE, KARAT kabi ma‘lumotlar bazasini boshqaruv tizimlari  yetarli bo‘lgan.  
Bu til va tizimlar asosan IBM*86 tipidagi komp‘yuterlarga mo‘ljallangan bo‘lib, ularning asosiy 
kamchiliklari shu davrga hos bo‘lgan komp‘yuterlarning imkoniyatlari bilan bog‘liq edi:  

 
Foydalanuvchi  uchun  qulay  bo‘lgan  grafik  interfeys    yaratish  imkoniyatining  yo‘qligi 
yoki juda ham katta mehnat talab qilishi; 

 
Bitta dasturda foydalanish mumkin bo‘lgan o‘zgaruvchilar sonining chegaralanganligi; 

 
Dasturda foydalnish mumkin bo‘lgan sonli ma‘lumotlar dipazonining chegaralanganligi; 

 
Kiritilayotgan va chiqarilayotgan ma‘lumotlarni nazorat qilish

 
Buyruqlar tizimining «kambag‘alligi»; 

 
Grafiklar bilan ishlash  imkoniyatining chegaralanganligi; 

 
Tovushli ma‘lumotlarni qayta ishlashdagi kamchiliklari;  

 
Ma‘lumotlar bazasi va fayllar bilan ishlashdagi imkoniyatlarning chegaralanganligi; 

 
Yangi tipdagi ma‘lumotlar faqat shartli ravishda yaratish mumkin mumkinligi  va  h.k.   
Keyingi  yillarda  strukturali  dasturlashning  o‘ndan  ortiq  usullari  ishlab  chiqildi.  Bu 
usullarning ko‘pchiligi bitta mavzuning turli ko‘rinishlaridan iborat bo‘ldi. Ammo, Sommervil‘
1
 
ularni  uchta guruhga bo‘lishni taklif qildi: 

 
Yuqoridan quyiga qarab strukturali loyihalash usuli; 

 
Ma‘lumotlar oqimini tashkil qilish usuli; 

 
Obyektga yo‘naltirilgan loyihalash. 
Strukturali  loyihalash  usuliga  namunalar  Yordan  va    Konstantin
2
    asarlarida  keltirilgan. 
Asosiy  g‘oyalar  esa  Virtning
3
  ko‘plab  ilmiy  ishlarida  ochib  berilgan.  Bu  asarlarda  strukturali 
dasturlashga  nisbatan  bo‘lgan  har  bir  yondoshuvda  algoritmik  dekompozitsiya  ishtirok  etadi. 
Yozilgan dasturlarning kattagina qismining asosini strukturali dasturlash printsipi tashkil qiladi. 
Strukturali  dasturlash  abstraktsiyalarni  ajratishga  imkon  bermaydi,  ma‘lumotlarni    samarali 
himoya qilishni ta‘minlamaydi, parallelizmni tashkil qilish uchun yetarlicha vositalarni taklif qila 
olmaydi.  Strukturali  dasturlash  murakkab  sistemalarni  ishlab  chiqishga  imkon  bermaydi, 
obyektga yo‘naltirilgan dasturlashda samara bermaydi. 
Ma‘lumotlar  oqimini  tashkil  qilish  usuli  Djekson
4
  hamda    Orrlarning
5
  ishlarida    keng 
yoritilgan.  Bu usulda dasturiy sistemaning strukturasi xuddi kiruvchi ma‘lumotlarni chiquvchi 
ma‘lumotlar qimiga almashtirish tashkil qilish kabi quriladi. Ma‘lumotlar oqimini tashkil qilish 
usuli  ham  strukturali  dasturlash  usuli  kabi  bir  qator  murakkab  masalalarda,  hususan  axborot 
ta‘minot sistemalarida qo‘llanilgan. Bu masalalarda kiritilyotgan va chiqarilayotgan ma‘lumotlar 
o‘rtasida  bevosita  bog‘liqlik  mavjud  hamda  dasturlarning  bajarish  tezligiga  katta  e‘tibor 
berilmaydi.   
80-yillarga  kelib,  imkoniyatlari  yanada  katta  bo‘lgan  komp‘yuterlar  ishlab  chiqildi. 
Strukturali  dasturlashning  ahamiyati  esa  o‘zgarmadi.  Ammo  Stayn  shuni  ta‘kidlaydiki 
«dasturning hajmi 100 000 satrdan o‘tganidan keyin strukturali dasturlash mexanizmi    ishlamay 
qolar  ekan».  Demak,  katta  dasturiy  sistemalarni  ishlab  chiqishda  strukturali  dasturlash 
mexanizmi ham o‘z ahamiyatini yo‘qotadi. SHu munosabat bilan dasturiy ta‘minotda obyektga 
yo‘naltirilgan dasturlash texnologiyalariga o‘tish taklif qilindi.     
                                                 
1
 Sommerville.1. 1985. Sovtware Engineering. 2nd ed. Wotkhingam England: Addison Wesley , p.68.  
2
 Yordon E and Konstantine L. 1979. Structured Design. Englewood Cliffs. Nj:Prentice-Hall.  
3
 Virth N1986. A1gorithm and Data Structures. Englewood Cliffs. Nj:Prentice-Hall.   
4
 Jakson M. 1983. System Development. Englewood Cliffs. Nj:Prentice-Hall.  
5
 Orr K. 1971. Structured System development. New York. NY: Yordon Press.  

Obyektga yo‘naltirilgan dasturlash atamasi  dastlab 60-yillarning  o‘rtalarida,  Simula-67 
dasturlash tilida paydo bo‘lgan. Ammo, bu til FORTRAN, ALGOL, PL

1 kabi  tillarga  nisbatan 
o‘zining  imkoniyatlari    past  bo‘lganligi  hamda  shu  davrda  yechish  talab  qilingan  masalalar 
uchun  yetarli  vositalarni  taklif  qila  olmagani  uchun    dasturchilar  orasida  keng  ommalasha 
olmadi.  Keyinchalik  obyektga  yo‘naltirilgan  dasturlash    Smalltalk,  Object  Pascal,  C

,  Ada, 
hozirda  esa  C#  kabi  yuqori  darajali  dasturlash  tillarining  topologiyasi  asosida  rivojlandi  va 
ommalashmoqda.    
Obyektga  yo‘naltirilgan  dasturlash  –  bu  dasturlashning  shunday  yangi  yo‘nalishiki, 
dasturiy sistema o‘zaro aloqada bo‘lgan obyektlar majmuasi sifatida  qaraladi va xar bir obyektni 
ma‘lum bir klassga mansub hamda xar bir klass qandaydir shajarani  hosil qiladi deb hisoblanadi. 
Alohida  olingan  klass  ma‘lumotlar  to‘plami  va  ular  ustida  bajariladigan  amallarning  to‘plami 
sifatida  qaraladi.  Bu  klassning  elementlariga  faqat  shu  klassda  aniqlangan  amallar  orqali 
murojaat qilish mumkin. Dasturdagi ma‘lumotlar va ular ustida bajariladigan amallar o‘rtasidagi 
o‘zaro  bog‘liqlik  an‘anaviy  dasturlash  tillariga  nisbatan  dasturiy  sistemalarning  ishonchliligini 
ta‘minlaydi. 
Download 5.01 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   22




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