logo

Dasturlash texnologiyalari va algoritmlash asoslari. Dasturlash texnologiyalar va algoritmlash asoslari.

Yuklangan vaqt:

08.08.2023

Ko'chirishlar soni:

0

Hajmi:

130.447265625 KB
Dasturlash texnologiyalari va algoritmlash asoslari.   Dasturlash
texnologiyalar va algoritmlash asoslari. Algoritm, algoritmning
tasvirlash usullari va xossalari. Algoritm va uning turlari, Chiziqli,
tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish.
Reja
1. Dasturlash texnologiyalari va algoritmlash asoslari.
2. Algoritm, algoritmning tasvirlash usullari va xossalari. 
3. Algoritm va uning turlari 
4. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish Turli   xil   dasturlash   tillari   dasturlashning   turli   uslublarini   qo'llab-
quvvatlaydi   ("dasturlash   paradigmalari"   deb   nomlanadi).   Dasturlash
san'atining bir qismi - mavjud muammoga eng mos keladigan tillardan birini
tanlash.   Algoritmni   amalga   oshirishda   turli   xil   tillar   dasturchidan   har   xil
tafsilotlarga   e'tibor   berishni   talab   qiladi,   bu   ko'pincha   soddalik   va   ishlash
(yoki dasturchi vaqti va foydalanuvchi vaqti) o'rtasida kelishuvga olib keladi.
To'g'ridan-to'g'ri   protsessor   tomonidan   bajariladigan   yagona   til   bu
mashina tili   ("mashina kodi" deb ham ataladi). Yuqorida aytib o'tilganidek,
dastlab,   barcha   dasturchilar   mashina   kodidagi   har   bir   mayda   detallar   orqali
ishladilar,   ammo   endi   bu   qiyin   ish   endi   bajarilmayapti.   Buning   o'rniga
dasturchilar asosiy kodni yozadilar va kompyuter (birozdan keyin muhokama
qilinadigan kompilyator, assembler yoki interpretator yordamida) uni bir yoki
bir   necha   bosqichda   barcha   tafsilotlarini   aniqlab,   maqsad   protsessorda
bajarishga   tayyor   bo'lgan   mashina   kodiga   aylantiradi.   Biroq,   ba'zi   tillarda,
mashina   kodi   o'rniga,   bayt-kod   (byte-code)   deb   ham   ataladigan   ikkilik
"virtual   mashina"   kodi   hosil   bo'ladi.   Ushbu   yondashuv   Forth,   Lisp,   Java-da
qo'llaniladi.
Endi biz "dasturlash" tushunchasi haqida ozgina ma'lumotga ega bo'lsak,
dasturlarni   yaratish   jarayonining   texnik   qismiga   o'tishimiz   mumkin.   Bular,
albatta,   dasturlashning   texnik   (apparat)   vositalaridir   -   avtomatlashtirilgan
tizimlarning   elektr,   elektron   va   mexanik   tarkibiy   qismlari   majmui   ularning
texnik   ta'minotini   tashkil   etadi   (bu   avtomatlashtirilgan   tizimlar   uchun
dasturiy   ta'minotdan   farqli   o'laroq).   Masalan,   elektron   hisoblash   mashinasi
(EHM)   yoki   kompyuter   bu   elektronikadan   foydalanishga   asoslangan   va
hisoblash   va   axborot   muammolarini   hal   qilish   jarayonida   ma'lumotlarni
avtomatik  yoki  avtomatik  ravishda  qayta  ishlashga  mo'ljallangan  apparat  va
dasturiy ta'minot to'plamidir.
Dasturlash paradigmalari Dasturlash   tilining   markazida   tegishli   dasturlarning   uslubiga   sezilarli
ta'sir ko'rsatadigan ba'zi bir yetakchi g'oyalar mavjud: dasturlarning maqsadi
va/yoki  yozilish   uslubiga  qarab,  dasturiy  paradigmalar  mavjud  (shuningdek,
yondashuvlar  yoki  texnologiyalar  deb nomlanadi):
Strukturaviy   dasturlash  - bu dasturiy ta'minotni tahlil qilish, loyihalash
va   amalga   oshirishda   tizim   yondashuviga   asoslangan   dasturlash
metodologiyasi.   Ushbu   metodologiya   70-yillarning   boshlarida   tug'ilgan   va
shu   qadar   hayotiy   ekanligi   isbotlanganki,   u   ko'plab   loyihalarda   hali   ham
asosiy hisoblanadi. Ushbu texnologiya quyidagi qoidalarga asoslanadi:
•   Murakkab   vazifa   kichikroq,   funksional   jihatdan   yaxshiroq
boshqariladigan vazifalarga bo'linadi. Har bir topshiriqda bitta kirish va bitta
chiqish mavjud. Bunday holda, dasturning boshqarish oqimi aniq funktsional
maqsadga ega bo'lgan elementar subjarayonlar to'plamidan iborat.
•   Vazifada   ishlatiladigan   boshqaruv   tuzilmalarining   soddaligi.   Ushbu
qoida   mantiqan   vazifa   minimal   darajada   sodda   boshqaruv   tuzilmalarining
funksional   jihatdan   to'liq   to'plamidan   iborat   bo'lishi   kerakligini   anglatadi.
Bunday   tizimga   misol   sifatida   mantiq   algebrasini   keltirish   mumkin,   bunda
har bir funksiyani funktsional jihatdan to'liq tizim: disyunksiya, konyunksiya
va inkor qilish orqali ifodalash mumkin.
•   Dasturni   ishlab   chiqish   bosqichma-bosqich   amalga   oshirilishi   kerak.
Har   bir   bosqichda   cheklangan   miqdordagi   aniq   belgilangan   vazifalar,
ularning mazmuni va butun vazifa kontekstidagi rolini aniq anglash bilan hal
qilinishi   kerak.   Agar   bunday   tushunishga   erishilmasa,   demak,   bu   bosqich
juda uzun va uni ko'proq boshlang'ich bosqichlarga bo'lish zarur.
Modulli   dasturlash   tushunchasi .   Tarkibiy   dasturlash   texnologiyasi
singari,   modulli   dasturlash   konsepsiyasi   bir   nechta   tushunchalar   va   qoidalar
shaklida shakllantirilishi mumkin: •   Vazifaning   funksional   dekompozitsiyasi   -   katta   vazifani   bir   nechta
kichikroq, funktsional jihatdan mustaqil kichik vazifalar - modullarga bo'lish.
Modullar bir-biriga faqat kirish va chiqish ma'lumotlari bilan bog'langan.
•   Modul   -   modulli   dasturlash   tushunchasining   asosi.   Funksional
parchalanishdagi har bir modul bitta kirish va bitta chiqishga ega bo'lgan qora
quti.   Modulli   yondashuv   dasturni   ishlash   jarayonida   og'riqsiz   yangilashga
imkon   beradi   va   unga   xizmat   ko'rsatishni   osonlashtiradi.   Bundan   tashqari,
modulli   yondashuv   turli   xil   dasturlash   tillarida   bitta   loyiha   dasturlarining
qismlarini   ishlab   chiqishga,   so'ngra   yig'ish   vositalaridan   foydalanib   ularni
bitta yuk moduliga birlashtirishga imkon beradi.
• Amalga oshirilgan yechimlar sodda va tushunarli bo'lishi kerak. Agar
modulning   maqsadi   aniq   bo'lmasa,   demak   bu   boshlang'ich   yoki   oraliq
muammoning   parchalanishi   yetarli   darajada   bajarilmaganligini   ko'rsatadi.
Bunday   holda,   muammoni   yana   bir   bor   tahlil   qilish   va   ehtimol,   qo'shimcha
topshiriqlarni   subjarayonlarga   ajratish   kerak.   Agar   loyihada   qiyin   joylar
mavjud   bo'lsa,   ularni   yaxshilab   o'ylangan   sharhlar   tizimi   yordamida
batafsilroq   hujjatlashtirish   kerak.   Ushbu   jarayon   muammoning   barcha
modullari   maqsadi   va   ularning   maqbul   kombinatsiyasi   to'g'risida   aniq
tushunchaga erishmaguningizcha davom etishi kerak.
•   Moduldagi   barcha   o'zgaruvchilarning   maqsadi   izohlar   yordamida
belgilanishi bilan tavsiflanishi kerak.
Dasturlash texnologiyalari uchun vositalar to'plami
Dasturlash   tizimining   prinsipini   to'liq   tushunish   uchun   biz   dasturlash
texnologiyasining   vositalarini   ko'rib   chiqamiz,   ya'ni   dasturiy   mahsulotlarni
ishlab   chiqish,   sozlash   va   amalga   oshirish   texnologiyasini   ta'minlovchi
dasturlar to'plami. Hozirgi   vaqtda   dasturiy   mahsulotlarni   yaratish   texnologiyasi   bilan
bog'liq   yo'nalish   jadal   rivojlanmoqda.   Bu   dasturlarni   ishlab   chiqarish   uchun
sanoat  texnologiyasiga   o'tish,  dasturlarni  ishlab   chiqarish  va  ishlatish   uchun
vaqt,   mehnat   va   moddiy   xarajatlarni   kamaytirish,   ularning   sifatining
kafolatlangan darajasini ta'minlash istagi bilan bog'liq.
Ushbu yo'nalishlar doirasida dasturiy mahsulotlarning quyidagi guruhlari
shakllantirildi:
1. Dasturlarni   yaratish   vositalari   (tillar   va   dasturlash   tizimlari
to'plami, shuningdek tuzilgan dasturlarni sozlash va qo'llab-quvvatlash uchun
turli xil dasturiy ta'minot tizimlari), shu jumladan:
• dasturlarni   yaratish   bo'yicha   individual   ishlarning   bajarilishini
ta'minlaydigan mahalliy vositalar; dasturlash tillari va tizimlarini,
shuningdek, foydalanuvchining asbob-muhitini o'z ichiga oladi;
• dasturchilarning mahsuldorligini oshiradigan dasturlarni yaratish
bo'yicha o'zaro bog'liq ishlarning kompleksini amalga oshirishni
ta'minlaydigan   dasturiy   ta'minot   ishlab   chiquvchilari   uchun
integrallashgan muhit;
2. CASE   -texnologiyasi   (Computer   –   AidedSystem   Engineering),
dasturiy   ta'minot   tizimlarini   tahlil   qilish,   loyihalash   va   yaratish
usullarini   ifodalaydi   va   axborot   tizimlarini   ishlab   chiqish   va   joriy
etishni avtomatlashtirish uchun mo'ljallangan.
Algoritm tushunchasi. 
Oldingi   talqin   bo’yicha   algoritm   -   bu   cheklangan   vaqt   ichida
muammoni   yechish   natijasiga   erishish   uchun   ijrochining   harakatlar   ketma-
ketligini tavsiflovchi aniq ko'rsatmalar to'plami. Kompyuterlarning ishlashida parallellik   rivojlanishi   bilan   "ketma-ketlik"   so'zi   "tartib"   degan   umumiyroq
so'z   bilan   almashtirila   boshladi.   Buning   sababi   shundaki,   algoritmning   ba'zi
harakatlari   birin-ketin   bajarilishi   kerak,   ammo   ba'zilari   mustaqil   bo'lishi
mumkin. Kompyuter dasturlariga, shuningdek, masalan, taom tayyorlashning
aniq ta'riflangan retsepti ham algoritm bo'lib, u holda ijrochi shaxsdir.
"Algoritm" ning yagona "haqiqiy" ta'rifi mavjud emas:
Algoritm   -   bu   muayyan   masalalar   to'plamini   yechish   bo'yicha
operatsiyalar ketma-ketligini belgilaydigan va beshta muhim xususiyatga ega
bo'lgan cheklangan qoidalar to'plami: cheklilik, kirish, chiqish, samaradorlik. 
Algoritm  - qat'iy belgilangan qoidalar bo'yicha bajariladigan har qanday
hisoblash   tizimi,   bu   ma'lum   bir   qator   bosqichlardan   so'ng,   muammoni   hal
qilishga olib keladi.
Algoritm   -   bu   bajaruvchiga   tushunarli   bo'lgan   buyruqlar   yordamida
yozib   olingan   obyektni   boshlang'ich   holatdan   yakuniy   holatga   o'tkazish
jarayonini tavsiflovchi qat'iy aniqlangan harakatlar ketma-ketligi.
Algoritm   -   bu   cheklangan   sonli   bosqichda   ma'lum   natijani   olishga
qaratilgan harakatlar ketma-ketligi.
Algoritm   -   bu   harakatlarning   ketma-ketligi,   yoki   bu   muammoni   hal
qilishga   olib   keladi   yoki   nima   uchun   bu   yechimni   olish   mumkin   emasligini
tushuntiradi.
Algoritm   -   bu   aniq,   bir   qiymatli,   cheklangan   harakatlar   ketma-ketligi
bo'lib,   foydalanuvchi   ma'lum   bir   maqsadga   erishish   yoki   muayyan   sonli
bosqichda   muayyan   muammo   yoki   muammolar   guruhini   hal   qilish   uchun
bajarishi kerak.
Ushbu ta'riflarning umumiy jihati shundaki, algoritm   retseptdir . Retsept
ma'lum   bir   shaklda   berilishi   kerak.   Bu   matn   bo'lishi   mumkin   -   ba'zi alfavitdagi   belgilar   qatori,   jadval,   diagramma,   piktogramma   buyurtma
qilingan to'plami va boshqalar.
Algoritmning   zamonaviy   rasmiy   ta'rifi   XX   asrning   30-50-yillarida
Tyuring,   Post,   Cherch   (Cherkovning   tezisi   -   Turing),   N.Viner,   A.A.Markov
asarlarida berilgan.
"Algoritm" so'zining o'zi olim Abu Abdulloh Muhammad ibn Muso al-
Xorazmiy   nomidan   kelib   chiqqan.   825-yilda   u   asar   yozdi,   unda   u   birinchi
bo'lib   Hindistonda   ixtiro   qilingan   pozitsion   o'nlik   sanoq   tizimining   tavsifini
berdi.   Al-Xorazmiy   yangi   tizimda   hisoblash   qoidalarini   shakllantirgan   va,
ehtimol,   birinchi   bo'lib   0   raqamini   raqamli   yozuvdagi   yetishmayotgan
pozitsiyani   ko'rsatish   uchun   ishlatgan   (uning   hindcha   nomini   arablar   as-sifr
yoki   shunchaki   sifr   deb   tarjima   qilgan,   shuning   uchun   "raqam"   va   "shifr"
so'zlari   ).   Xuddi   shu   davrda   boshqa   arab   olimlari   hind   raqamlaridan
foydalanishni   boshladilar.   XII   asrning   birinchi   yarmida   al-Xorazmiyning
lotin tarjimasidagi kitobi Yevropaga kirib keldi.   Tarjimon unga Algoritmi de
numero   Indorum   ("Hindiston   hisobi   haqidagi   algoritmlar")   nomini   bergan.
Arab   tilida   bu   kitob   "Kitob   al-jabr   val-muqobala"   ("Qo'shish   va   ayirish
kitobi") deb nomlangan. Kitobning asl sarlavhasidan Algebra so'zi keladi.
Algoritmlashtirish algoritm va dasturlarni ishlab chiqishda qo'llaniladi -
berilgan   amaliy   masalalarni   yechish   algoritmlarini   tizimli   kompilyatsiya
qilish   jarayoni.   Algoritmizatsiya   dasturlarni   ishlab   chiqish   va   kompyuterda
muammolarni   hal   qilishning   majburiy   bosqichi   hisoblanadi.   Amaliy
algoritmlar   va   dasturlar   uchun   determinizm,   samaradorlik   va   ommaviylik,
shuningdek,   berilgan   vazifalarni   hal   qilish   natijalarining   to'g'riligi   muhim
ahamiyatga ega.
Algoritm so'zlar bilan yozilishi va sxematik tarzda ko'rsatilishi mumkin.
Odatda,   boshida   (g'oya   darajasida)   algoritm   so'zlar   bilan   tavsiflanadi,   lekin amalga   oshirishga   yaqinlashganda,   u   ijrochiga   tushunarli   bo'lgan   tilda
(masalan,   mashina   kodi)   tobora   ko'proq   rasmiy   konturlar   va   formulalarni
egallaydi.   Masalan,   algoritmni   tavsiflash   uchun   oqim   sxemalari   ishlatiladi.
Ta'rifning   dasturlash   tilidan   mustaqil   bo'lgan   yana   bir   varianti   -   bu
psevdokod.
Algoritmning asosiy xossalari.
Aniqlik.   Berilgan   dastlabki   ma'lumotlar   bilan   hisoblash   jarayonining
aniq   natijasini   olishni   nazarda   tutadi.   Ushbu   xususiyat   tufayli   algoritmni
bajarish jarayoni mexanik xarakterga ega;
Natijaviylik .   Berilgan   algoritm   bo'yicha   amalga   oshirilgan   hisoblash
jarayoni   cheklangan   sonli   qadamlardan   so'ng   to'xtashi   va   kerakli   natijani
berishi kerak bo'lgan bunday dastlabki ma'lumotlar mavjudligini ko'rsatadi;
Ommaviylik .   Ushbu   xususiyat   algoritm   ushbu   turdagi   barcha
muammolarni hal qilish uchun mos bo'lishi kerak;
Diskretlik . Bu algoritm bilan aniqlangan hisoblash jarayonining alohida
bosqichlarga   bo'linishini   anglatadi,   bunda   ijrochi   (kompyuter)   bajarishi
mumkinligi shubhasizdir.
Muammolarni   yechish   algoritmlarining   xilma-xilligi   bilan   ularda
hisoblash jarayonlarining uchta asosiy turini ajratish mumkin:
1) chiziqli;
2) tarmoqlanuvchi;
3) takrorlanuvchi.
Hisoblash   jarayoni   muammoni   hal   qilishning   barcha   bosqichlari   ushbu
bosqichlarni   yozilishning   tabiiy   tartibida   amalga   oshirilsa   chiziqli   deb
nomlanadi.
Tarmoqlaniuvchi   –   bu   axborotni   qayta   ishlash   yo'nalishini   tanlash
dastlabki yoki oraliq ma'lumotlarga (ba'zi mantiqiy shartlarning bajarilishini
tekshirish natijalariga) bog'liq bo'lgan hisoblash jarayoni. Takrorlanuvchi   -   bu   takrorlangan   hisob-kitoblar   qismi.   Bir   yoki   bir
nechta   sikllarni   o'z   ichiga   olgan   hisoblash   jarayoni   siklik   deb   nomlanadi.
Sikllari soniga ko'ra ma'lum (oldindan belgilangan) sonli sikllarga va noaniq
miqdorda  takrorlanuvchi  sikllarga  bo'linadi.  Ikkinchisini  takrorlash  soni  sikl
zarurligini ko'rsatadigan ma'lum bir shartning bajarilishiga bog'liq. 
Algoritmni tasvirlash usullari. 
Ijrochi   tushunchasini   biron   bir   rasmiylashtirish   yordamida   aniqlash
mumkin   emas.   Ijrochi   shaxs,   odamlar   guruhi,   robot,   dastgoh,   kompyuter,
dasturlash tili va boshqalar bo'lishi mumkin. Ushbu ijrochilarning har qanday
xususiyatiga   ega   bo'lgan   eng   muhim   xususiyat   -   bu   ijrochining   ba'zi
buyruqlarni   bajarishi.   Shunday   qilib,   inson   ijrochisi   "turish",   "o'tirish",
"kompyuterni  yoqish"   va  hokazo  buyruqlarni  bajarishi  mumkin,  va  ijrochi  -
dasturlash tilidagi buyruqlarni bajaruvchi. Berilgan ijrochi bajarishi mumkin
bo'lgan   buyruqlarning   butun   majmuasi   ijrochining   buyruqlar   tizimi   deb
nomlanadi.
Algoritmni tasvirlash uchun quyidagi usullar qo’llaniladi:  og'zaki  (yozib
olish uchun cheklangan so'zlar to'plami va qat'iy qayd qoidalariga ega bo'lgan
maxsus   rasmiy   tillardan   foydalaniladi.   Bu   ma'lumotlarni   qayta   ishlashning
ketma-ket   bosqichlarini   tavsiflash),   formula ,   Og'zaki-formulali ,   so’zlar
yordamida,   grafik   (o'zaro   bog'liq   funktsional   bloklarning   ketma-ketligi
sifatida   tasvirlangan,   ularning   har   biri   bittasining   bajarilishiga   mos   keladi
yoki bir nechta harakatlar –  blok-sxema ).
Blok-sxema   usuli.   Blok-sxemalar   minimal   miqdordagi   so'zlardan
foydalangan   holda   va   tanlangan   protsessual   tildan   qat'i   nazar,   algoritmni
tavsiflashga imkon beradi. Amallar tartibi o'qlar bilan ko'rsatiladi.
Asosiy bloklar.  Blok Tavsif
Boshlash   -   algoritm   shu   blokdan
boshlanadi
Kirish YO’Q, chiqish BITTA
Kiritish/chiqarish   –   o'zgaruvchi
qiymatlarni   kiritish/chiqarish   uchun
blok
BITTA kirish, BITTA chiqish
Operator   -   bitta   operator   uchun
blok - ko'pincha ta’minlash operatori
BITTA kirish, BITTA chiqish
Ichki   masala   -   bu   yordamchi
algoritm   bo'lib,   u   alohida   blok
sxemasi   bilan,   dasturda   esa
ko'pincha   -   alohida   kichik   dastur
(protsedura   yoki   funksiya)   bilan
tavsiflanadi.
BITTA kirish, BITTA chiqish
Shart   -   shartni   tekshirish   uchun
blok.   Shart   to'g'ri   yoki   noto'g'ri
bo'lishi mumkin.
BITTA kirish, IKKITA chiqishBoshlash
Kiritish/chiqarish
Operator
Ichki masala
shart+ - +/- – ha/yo’q (rost/ yolg’on)
Chiqish   -   algoritm   shu   blok   orqali
tugaydi
Kirish BITTA, chiqish YO’Q
Yordamchi bloklar
Blok Tavsif
Tugun   -   shoxlarning   birlashishi,
nuqta bilan belgilanishi mumkin
Blok-sxema   2-sahifadan   davom
etadi. 
Blok-sxemasi   dastlabki   qismi   1-
sahifada 
Blok-sxema   A-nuqtadan   davom
etadi. 
Blok-sxemasi     dastlabki   qismi   A-
nuqtadaChiqish
2
1
A
A Parametrik   siklni   belgilash   uchun
blok. 
IKKITA kirish va IKKITA chiqish
Misol.  Kvadrat tenglamaning ildizlarini hisoblash algoritmi
Ax 2
 + Bx + C = 0 shaklidagi kvadrat tenglama uchun barcha haqiqiy
ildizlarni toping Par = Bosh. Qadam;
Oxiri Boshlash
  ni kiritish
ildizi yo’q
  ni 
chiqarish
  ni chiqarish
Tugatish Boshqaruvning asosiy konstruksiyalari
Chiziqli Tarmoqlanish Takrorlanish
Bir   yoki   har   xil   turdagi
ketma - ket   ikki   yoki
undan   ortiq   bloklar
birin - ketin   bajariladi .  
Belgilangan   shartning
joriy   qiymatiga
asoslangan
algoritmlarni
tarmoqlash ,   so ' ngra
biriktirish .   Shoxlardan
birida   operatorlar
yetishmayotgan   bo ' lishi
mumkin .
+   bilan   belgilangan
shoxdagi   operatorlar
faqat   shart   bajarilgan
taqdirda   bajariladi .
-   bilan   belgilangan
filialdagi   operatorlar  
Belgilangan   Shart
bajarilayotganda   sikl
tanasi   bayonotlarini
takroriy bajarish.
Agar Shart bajarilmasa,
ushbu   sikldan   keyingi
bayonotlar   bajarila
boshlaydi.
Sikl   tanasi   bir   marta
ham   bajarilmasligi
mumkin.
Bu old shartga ega sikl.shart+ - faqat   shart   bajarilmasa
bajariladi .
Shoxlardan   birining
bayonotlarini
bajargandan   so ' ng ,
ushbu   konstruksiyadan
keyingi   bayonotlar
bajariladi .
Algoritmlarni so’zlar orqali tasvirlash. Algoritmik tillar. 
Algoritmni   tasvirlashning   juda   keng   tarqalgan   usuli   bu   uni   algoritmik
tilda yozishdir, bu umumiy holda yozuvlar tizimi va algoritmlarni bir xil va
aniq   yozish   qoidalari   va   ularning   bajarilishi.   "Algoritmik   til"   va   "dasturlash
tillari" tushunchalari o'rtasida farq borligiga e'tibor bering; 
Avvalo,   algoritmik   tilda   ijrochi   nafaqat   kompyuterni,   balki   "sozlashda"
ishlash uchun moslamani ham anglatishi mumkin. Algoritmik tilda yozilgan
dastur   albatta   kompyuter   uchun   mo'ljallanmagan.   Algoritmik   tilni   amaliy
amalga oshirish har bir alohida holatda alohida masala.
Har   bir   til   singari   algoritmik   til   ham   o'z   so'z   boyligiga   ega.   Ushbu
lug'atning   asosini   u   yoki   bu   algoritm   ijrochisining   buyruqlar   tizimiga
kiritilgan   buyruqlarni   yozish   uchun   ishlatiladigan   so'zlar   tashkil   etadi.
Bunday   buyruqlar   oddiy   buyruqlar   deyiladi.   Algoritmik   tilda   ma'nosi   va
ishlatilish   usuli   bir   marotaba   o'rnatiladigan   so'zlardan   foydalaniladi.   Ushbu
so'zlar  xizmatchi so'zlar  deb ataladi.
Funksional   so'zlardan   foydalanish   algoritmni   yozishni   yanada   tavsifli
qiladi va turli algoritmlarni taqdim etish shakli bir xil bo'ladi. Algoritmik   tilda   yozilgan   algoritmning   nomi   bo'lishi   kerak.   Berilgan
algoritm   qaysi   muammoli   yechimni   tasvirlashi   aniq   bo'lishi   uchun   nomini
tanlash maqsadga muvofiqdir. Algoritm nomini ajratib ko'rsatish uchun uning
oldida   ALG   (ALGoritm)   xizmat   so'zi   yozilgan.   Algoritm   nomidan   (odatda
yangi   satrda)   keyin   uning   buyruqlari   olinadi.   Algoritmning   boshi   va   oxirini
ko'rsatish   uchun   uning   buyruqlari   BOSH   (Boshlash)   va   TAM   (Tamom)
xizmat so'zlari juftligiga kiritilgan. Buyruqlar ketma-ket yoziladi.
Algoritmni yozish ketma-ketligi:
ALG algoritm_nomi
BOSH 
Algoritm buyruqlari ketma-ketligi
TAM
Masalan,   robot-ijrochining   harakatini   belgilaydigan   algoritm
quyidagicha bo'lishi mumkin:
ALG robot-ijrochi
BOSH
OLDINGA
CHAPGA
O’NGGA
OLDINGA
TAM Yangi   algoritmlarni   tuzishda   oldinroq   tuzilgan   algoritmlardan
foydalanish mumkin.
Boshqa algoritmlarning bir qismi sifatida to'liq ishlatiladigan algoritmlar
yordamchi   algoritmlar   deyiladi.   Oldindan   tuzilgan   har   qanday   algoritm
yordamchi   bo'lishi   mumkin.   O'zida   yordamchi   algoritmlarga   havolani   o'z
ichiga   olgan   algoritm   ma'lum   bir   vaziyatda   yordamchi   bo'lib   chiqishi
mumkin.   Ko'pincha,   algoritmlarni   tuzishda   yordamchi   algoritmdan
foydalanish   kerak   bo'ladi,   bundan   tashqari,   bu   juda   murakkab   va   noqulay
bo'lishi   mumkin.   Bunday   algoritmni   har   safar   qayta   tuzish   va   undan   keyin
foydalanish   uchun   yodlash   har   safar   mantiqsiz,   ish   boshlagan   bo'lar   edi.
Shuning uchun, amalda, o'rnatilgan (yoki standart) yordamchi algoritmlardan
keng   foydalaniladi,   ya'ni   doimiy   ravishda   ijrochining   ixtiyorida   bo'lgan
bunday   algoritmlar.   Bunday   algoritmlarga   "oddiy"   yordamchi   algoritmlar
singari   murojaat   qilinadi.   Robot   ijrochisi   ishchi   maydonning   istalgan
nuqtasidan   omborga   o'tishi   mumkin   bo'lgan   yordamchi   algoritmga   ega;
ijrochi uchun BASIC dasturlash tili, masalan, o'rnatilgan SIN algoritmidir.
Algoritm   yordamchi   sifatida   o'ziga   murojaat   qilishni   o'z   ichiga   olishi
mumkin   va   bu   holda   u   rekursiv   deb   ataladi.   Agar   algoritmni   o'ziga
yo'naltirish   buyrug'i   algoritmning   o'zida   bo'lsa,   unda   bunday   rekursiya
to'g'ridan-to'g'ri   deb nomlanadi. Berilgan algoritmga rekursiv chaqiruv shu
algoritmda   chaqiriladigan   yordamchi   algoritmdan   kelib   chiqadigan   holatlar
mavjud.   Ushbu   rekursiya   bilvosita   deb   nomlanadi.   Oldinga   rekursiyaning
misoli:
ALG harakat
BOSH
OLDINGA O’NGGA
harakat 
TAM
Ijro   etilishida   buyruqlar   tartibi   ba'zi   shartlarni   tekshirish   natijalariga
qarab belgilanadigan algoritmlar tarmoqlanish deb ataladi. Ularni algoritmik
tilda tavsiflash uchun maxsus birikma buyrug'i, tarmoqlar buyrug'i ishlatiladi.
U   "muqobil"   blok-sxemaga   amal   qiladi   va   to'liq   yoki   qisqartirilgan   shaklda
ham bo'lishi mumkin.
Robot   ijrochisiga   nisbatan,   robotning   ish   maydoni   chetida   ekanligini
tekshirish   shart   bo'lishi   mumkin;   mavjud   katakchada   obyekt   mavjudligini
tekshirish (ha / yo'q) va boshqalar:
AGAR shart
U HOLDA seriya1
AKS HOLDA seriya2
HAMMA
AGAR shart
U HOLDA seriya
HAMMA
AGAR chet
U HOLDA o’ngga
AKS HOLDA oldinga
HAMMA
Quyida   tarmoqlanish   buyrug'ining   rivojlanishi   bo'lgan   tanlash
buyrug'ining algoritmik yozuvi keltirilgan: TANLASH
QACHONKI shart 1: seriya1
QACHONKI shart 2: seriya2
…
QACHONKI shart N: seriyaN
AKS HOLDA seriyaN+1
HAMMA

Dasturlash texnologiyalari va algoritmlash asoslari. Dasturlash texnologiyalar va algoritmlash asoslari. Algoritm, algoritmning tasvirlash usullari va xossalari. Algoritm va uning turlari, Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish. Reja 1. Dasturlash texnologiyalari va algoritmlash asoslari. 2. Algoritm, algoritmning tasvirlash usullari va xossalari. 3. Algoritm va uning turlari 4. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish

Turli xil dasturlash tillari dasturlashning turli uslublarini qo'llab- quvvatlaydi ("dasturlash paradigmalari" deb nomlanadi). Dasturlash san'atining bir qismi - mavjud muammoga eng mos keladigan tillardan birini tanlash. Algoritmni amalga oshirishda turli xil tillar dasturchidan har xil tafsilotlarga e'tibor berishni talab qiladi, bu ko'pincha soddalik va ishlash (yoki dasturchi vaqti va foydalanuvchi vaqti) o'rtasida kelishuvga olib keladi. To'g'ridan-to'g'ri protsessor tomonidan bajariladigan yagona til bu mashina tili ("mashina kodi" deb ham ataladi). Yuqorida aytib o'tilganidek, dastlab, barcha dasturchilar mashina kodidagi har bir mayda detallar orqali ishladilar, ammo endi bu qiyin ish endi bajarilmayapti. Buning o'rniga dasturchilar asosiy kodni yozadilar va kompyuter (birozdan keyin muhokama qilinadigan kompilyator, assembler yoki interpretator yordamida) uni bir yoki bir necha bosqichda barcha tafsilotlarini aniqlab, maqsad protsessorda bajarishga tayyor bo'lgan mashina kodiga aylantiradi. Biroq, ba'zi tillarda, mashina kodi o'rniga, bayt-kod (byte-code) deb ham ataladigan ikkilik "virtual mashina" kodi hosil bo'ladi. Ushbu yondashuv Forth, Lisp, Java-da qo'llaniladi. Endi biz "dasturlash" tushunchasi haqida ozgina ma'lumotga ega bo'lsak, dasturlarni yaratish jarayonining texnik qismiga o'tishimiz mumkin. Bular, albatta, dasturlashning texnik (apparat) vositalaridir - avtomatlashtirilgan tizimlarning elektr, elektron va mexanik tarkibiy qismlari majmui ularning texnik ta'minotini tashkil etadi (bu avtomatlashtirilgan tizimlar uchun dasturiy ta'minotdan farqli o'laroq). Masalan, elektron hisoblash mashinasi (EHM) yoki kompyuter bu elektronikadan foydalanishga asoslangan va hisoblash va axborot muammolarini hal qilish jarayonida ma'lumotlarni avtomatik yoki avtomatik ravishda qayta ishlashga mo'ljallangan apparat va dasturiy ta'minot to'plamidir. Dasturlash paradigmalari

Dasturlash tilining markazida tegishli dasturlarning uslubiga sezilarli ta'sir ko'rsatadigan ba'zi bir yetakchi g'oyalar mavjud: dasturlarning maqsadi va/yoki yozilish uslubiga qarab, dasturiy paradigmalar mavjud (shuningdek, yondashuvlar yoki texnologiyalar deb nomlanadi): Strukturaviy dasturlash - bu dasturiy ta'minotni tahlil qilish, loyihalash va amalga oshirishda tizim yondashuviga asoslangan dasturlash metodologiyasi. Ushbu metodologiya 70-yillarning boshlarida tug'ilgan va shu qadar hayotiy ekanligi isbotlanganki, u ko'plab loyihalarda hali ham asosiy hisoblanadi. Ushbu texnologiya quyidagi qoidalarga asoslanadi: • Murakkab vazifa kichikroq, funksional jihatdan yaxshiroq boshqariladigan vazifalarga bo'linadi. Har bir topshiriqda bitta kirish va bitta chiqish mavjud. Bunday holda, dasturning boshqarish oqimi aniq funktsional maqsadga ega bo'lgan elementar subjarayonlar to'plamidan iborat. • Vazifada ishlatiladigan boshqaruv tuzilmalarining soddaligi. Ushbu qoida mantiqan vazifa minimal darajada sodda boshqaruv tuzilmalarining funksional jihatdan to'liq to'plamidan iborat bo'lishi kerakligini anglatadi. Bunday tizimga misol sifatida mantiq algebrasini keltirish mumkin, bunda har bir funksiyani funktsional jihatdan to'liq tizim: disyunksiya, konyunksiya va inkor qilish orqali ifodalash mumkin. • Dasturni ishlab chiqish bosqichma-bosqich amalga oshirilishi kerak. Har bir bosqichda cheklangan miqdordagi aniq belgilangan vazifalar, ularning mazmuni va butun vazifa kontekstidagi rolini aniq anglash bilan hal qilinishi kerak. Agar bunday tushunishga erishilmasa, demak, bu bosqich juda uzun va uni ko'proq boshlang'ich bosqichlarga bo'lish zarur. Modulli dasturlash tushunchasi . Tarkibiy dasturlash texnologiyasi singari, modulli dasturlash konsepsiyasi bir nechta tushunchalar va qoidalar shaklida shakllantirilishi mumkin:

• Vazifaning funksional dekompozitsiyasi - katta vazifani bir nechta kichikroq, funktsional jihatdan mustaqil kichik vazifalar - modullarga bo'lish. Modullar bir-biriga faqat kirish va chiqish ma'lumotlari bilan bog'langan. • Modul - modulli dasturlash tushunchasining asosi. Funksional parchalanishdagi har bir modul bitta kirish va bitta chiqishga ega bo'lgan qora quti. Modulli yondashuv dasturni ishlash jarayonida og'riqsiz yangilashga imkon beradi va unga xizmat ko'rsatishni osonlashtiradi. Bundan tashqari, modulli yondashuv turli xil dasturlash tillarida bitta loyiha dasturlarining qismlarini ishlab chiqishga, so'ngra yig'ish vositalaridan foydalanib ularni bitta yuk moduliga birlashtirishga imkon beradi. • Amalga oshirilgan yechimlar sodda va tushunarli bo'lishi kerak. Agar modulning maqsadi aniq bo'lmasa, demak bu boshlang'ich yoki oraliq muammoning parchalanishi yetarli darajada bajarilmaganligini ko'rsatadi. Bunday holda, muammoni yana bir bor tahlil qilish va ehtimol, qo'shimcha topshiriqlarni subjarayonlarga ajratish kerak. Agar loyihada qiyin joylar mavjud bo'lsa, ularni yaxshilab o'ylangan sharhlar tizimi yordamida batafsilroq hujjatlashtirish kerak. Ushbu jarayon muammoning barcha modullari maqsadi va ularning maqbul kombinatsiyasi to'g'risida aniq tushunchaga erishmaguningizcha davom etishi kerak. • Moduldagi barcha o'zgaruvchilarning maqsadi izohlar yordamida belgilanishi bilan tavsiflanishi kerak. Dasturlash texnologiyalari uchun vositalar to'plami Dasturlash tizimining prinsipini to'liq tushunish uchun biz dasturlash texnologiyasining vositalarini ko'rib chiqamiz, ya'ni dasturiy mahsulotlarni ishlab chiqish, sozlash va amalga oshirish texnologiyasini ta'minlovchi dasturlar to'plami.

Hozirgi vaqtda dasturiy mahsulotlarni yaratish texnologiyasi bilan bog'liq yo'nalish jadal rivojlanmoqda. Bu dasturlarni ishlab chiqarish uchun sanoat texnologiyasiga o'tish, dasturlarni ishlab chiqarish va ishlatish uchun vaqt, mehnat va moddiy xarajatlarni kamaytirish, ularning sifatining kafolatlangan darajasini ta'minlash istagi bilan bog'liq. Ushbu yo'nalishlar doirasida dasturiy mahsulotlarning quyidagi guruhlari shakllantirildi: 1. Dasturlarni yaratish vositalari (tillar va dasturlash tizimlari to'plami, shuningdek tuzilgan dasturlarni sozlash va qo'llab-quvvatlash uchun turli xil dasturiy ta'minot tizimlari), shu jumladan: • dasturlarni yaratish bo'yicha individual ishlarning bajarilishini ta'minlaydigan mahalliy vositalar; dasturlash tillari va tizimlarini, shuningdek, foydalanuvchining asbob-muhitini o'z ichiga oladi; • dasturchilarning mahsuldorligini oshiradigan dasturlarni yaratish bo'yicha o'zaro bog'liq ishlarning kompleksini amalga oshirishni ta'minlaydigan dasturiy ta'minot ishlab chiquvchilari uchun integrallashgan muhit; 2. CASE -texnologiyasi (Computer – AidedSystem Engineering), dasturiy ta'minot tizimlarini tahlil qilish, loyihalash va yaratish usullarini ifodalaydi va axborot tizimlarini ishlab chiqish va joriy etishni avtomatlashtirish uchun mo'ljallangan. Algoritm tushunchasi. Oldingi talqin bo’yicha algoritm - bu cheklangan vaqt ichida muammoni yechish natijasiga erishish uchun ijrochining harakatlar ketma- ketligini tavsiflovchi aniq ko'rsatmalar to'plami. Kompyuterlarning ishlashida