Axborot texnologiyalari va jarayonlarni matematik modellashtirish


Algoritmlarni ta’riflash usullari



Yüklə 2,02 Mb.
səhifə14/68
tarix07.01.2024
ölçüsü2,02 Mb.
#203361
1   ...   10   11   12   13   14   15   16   17   ...   68
M.20Nurullayev20-20Axborot20texnologiyalari20va20jarayonlarni20matematik20modellashtirish[1]

Algoritmlarni ta’riflash usullari


Olimlarning izchil izlanishlariga qaramay, algoritm tushunchasiga bitta aniq ta`rif berishning imkoni bo`lmadi va natijada bir qancha ta`riflar ishlab chiqildi. Ilmiy tadqiqotlarning natijasiga ko`ra formal ta`riflarning o`zaro teng kuchli va ekvivalent ekanligi aniqlandi. Biz quyida ularning ba`zi birlarini keltirib o`tamiz.
Ta`rif 1. Algoritm – berilgan masalani yechish uchun boshlang`ich ma`lumotlar ustida bajariladigan cheklangan ketma-ketlikdagi oddiy amallarning qaysidir tilda berilishidir.
Ta`rif 2. (Knut). Algoritm – bu chekli sondagi qoidalar to`plami bo`lib, u aniq masalalar to`plamini yechish amallari ketma-ketligini aniqlaydi va beshta muhim xususiyatlarga ega: cheklanganlik, aniqlik, kiritish, chiqarish va unumdorlik.
Ta`rif 3. (Kolmogorov). Algoritm – bu qo`yilgan masala natijasiga qandaydir sondagi qadamlardan keyin olib keluvchi ma`lum qoidalar bo`yicha bajariluvchi har qanday hisoblash tizimidir.
Ta`rif 4. (Markov). Algoritm – bu boshlang`ich ma`lumotlardan izlangan natijaga olib keluvchi hisoblash jarayonini aniqlovchi aniq ko`rsatmalardir.
Masalalarni algoritmlash va dasturlash asoslari
Ta`rif 5. Algoritm – bu qo`yilgan masalani yechimini chekli qadamlardan so`ng olish uchun ijrochiga berilgan aniq va tushunarli ko`rsatmalardir.
Umuman olganda algoritm tushunchasi ta`riflari bir qator talablarga javob berishi kerak.

  • Algoritm chekli sondagi elementlar bajaruvchi ko`rsatmalardan iborat bo`lishi kerak.

  • Algoritm chekli sondagi qadamlardan iborat bo`lishi kerak.

  • Algoritm barcha boshlang`ich ma`lumotlar uchun umumiy bo`lishi kerak.



Masalalarni algoritmlash va dasturlash asoslari


Amaliyotda algoritm ijrochisi kompyuter hisoblanadi. Hozirgi zamon kompyuterlari inson qo’llaydigan rus, o’zbek yoki boshqa shu kabi biror-bir tilda tuzilgan algoritmni tushuna oladigan darajada takomillashgan emas. Shu bois, mashinaga mo’ljallangan buyruqlar kompyuter tushunadigan shaklda yozilishi zarur. Bu maqsadda algoritmik yoki dasturlash tillari deb ataluvchi sun’iy tillar qo’llaniladi. Algoritm ushbu sun’iy tilda yozilishi kerak. Ijrochi (kompyuter) berilgan buyruqlarni aniq va to’g’ri bajarishi uchun unga beriladigan buyruqlar aniq yozilishi va ijrochi tomonidan bir xil tushunilishi lozim. Shu sababli kompyuter tushunadigan til dasturlash tili, bu tilda yozilgan algoritm esa kompyuter dasturi deyiladi.
Dastur – kompyuterga algoritmni beruvchi ko’rsatmalar (buyruq yoki tasnif va operatorlar)ning ketma-ketligi.
Dastur kompyuter tomonidan qaysi tartibda, qaysi ma’lumotlar ustidan va qaysi amallar bajarilishi va natija qaysi shaklda taqdim etilishini ko’rsatadi. Kompyuterning boshqarish qurilmasi mashina buyruqlari ketma-ketligi shaklida berilgan dasturni qabul qiladi. Dasturni mashina tilida yaratish – noqulay va katta mehnat talab qiluvchi jarayon. Shuning uchun dastur inson tomonidan dasturlash tillarining birida yaratilib, keyin u mashina tiliga o’giriladi.
Algoritmlash va dasturlash asoslari.
Dasturlash tillari paydo bo’lishidan oldin dasturlar mashina kodlarida (mashina kodi - protsessor tomonidan bajariladigan xotiradagi instrukstiyalar kema-ketligidir) tuzilar edi. Katta - katta dasturlarni tuzishda juda ko’p vaqt talab qilinar, ularni xatolarini tuzatish juda qiyin, modifikastiyalash esa ko’p hollarda ilojsiz edi. Shularni hisobga olib, inson uchun tushunarli bo’lgan dasturlash tillarini tashkil qilish muammosi paydo bo’ldi va dasturlash tillari vujudga keldi.
Dasturlash tili – kompyuter uchun dasturlar (ko’rsatmalar yig’masi) yozilgan uni u yoki bu harakatlarni bajarishga majbur qiladigan rasmiy til.
Dasturlash tilining ta’rifi quyidagilarni o’z ichiga oladi:

  1. Mumkin bo’lgan belgilar ro’yxati.

  2. Zahiralangan so’zlar ro’yxati.

  3. Sintaksis (belgilarni va zahiralangan so’zlarni birikmalash usullari).

  4. Semantika (dasturlash tilining birikmalari ma’nosi) Dasturlash tilida yozilgan ko’rsatmalar dastlabki kod deb ataladi.

Dastlabki kod kompyuterda bajarilishidan avval, uni mashina kodiga o’girish lozim.
Mashina kodi tili kompyuter qurilmalari bilan bevosita bog’liq bo’lib, buyruqlar ularning kodlari yordamida yoziladi. Dastlabki kompyuterlar (Eniak, MESM va boshqalar) ana shu tilda ishlar edi.
Dasturlash tillari yaratilishi bo’yicha ikki guruhga bo’linadi:

  • Quyi darajadagi tillar yoki assemblerlar.

  • Yuqori darajadagi tillar.

Quyi darajadagi dasturlash tillarining buyruqlari faqat raqamlar emas, balki inson nutqiga yaqin so’zlar ham ishlatila boshlandi. Ular ko’pincha assembler tillari deb ham yuritiladi. Mazkur tilda tuzilgan dastur yuqori darajadagi tillarda tuzilgan dasturdan 10-15 marta tezroq ishlaydi. Unda boshqa darajadagi tillarda bo’lmagan amallar mavjud.
Assembler tillarida buyruqlar qisqartirilgan so’zlar yoki so’zlar majmuidan iborat bo’lib, gohida ularni mnemokodlar deb ham yuritiladi.
Yuqori darajadagi dasturlash tillari ancha rivojlangan tuzilishga ega bo’lib, unda ishlatiladigan xizmatchi so’zlar inson nutqiga juda yaqinlashtirilgan. Mazkur tilda foydalanuvchi amallarni ketma-ket yozadi, kompyuter esa uni kerakli ko’rinishga o’tkazib oladi.
Mavjud dasturlash tillari bir necha guruhga bo’linadi:

  • Strukturali (tuzilmali)

  • Protsedurali

  • Mantiqiy

  • Ob’ektga yo’naltirilgan

Hozirgi kunda dasturlash tillarini besh avlodga ajratishadi:

  • Birinchi avlod: mashina tili.

  • Ikkinchi avlod: Assembler tili.

  • Uchinchi avlod, yuqori bosqichli tillar: Masalan , C, C++, C#, Java, …

  • To`rtinchi avlod, ma’lumotlar bazalarini boshqarish tizimlari bilan ishlaydigan va ma’lumotlar oqimini boshqaradigan yuqori bosqichli tillar (4GL): Masalan, SQL, Focus, Metafont, PostScript, RPG-II, IDL-PV/WAVE, Gauss,

Mathematica, AVS, Iris Explorer, …

  • Beshinchi avlod, sun’iy intellekt va neyron tarmoqlarida masala yechishda foydalanadigan tillar.

Dasturlash tillari inson uchun tushunarli bo’lgan dasturlarni tuzish imkonini beradi. Bunday dasturlarning matnini mashinalarlarda bajarish uchun, ularni mashina kodiga aylantirish zarur. Buning uchun translyator deb ataluvchi maxsus dasturlardan foydalaniladi.
Translyator (ingl. Translator — tarjimon) dasturlash tilida yozilgan matnni mashina kodiga aylantiradi (ya’ni, tarjima qiladi).
Translyator oldindan kompyuter xotirasiga yozilgan bo’ladi. Translyatorlar kompilyator va interpretator ko’rinishida bo’lishi mumkin. Kompilyator va interpretatorlar dasturni bajarishda tubdan farq qiladi.
Kompilyator (ingl. compiler — yig’uvchi) dasturni to’laligicha o’qiydi va uni tarjima qiladi (mashina tiliga o’giradi).
Interpretator (ingl. interpreter — izohlovchi, og’zaki tarjimon) dasturni tarjima qiladi va satrma-satr bajaradi.
Dastur kompilyatsiya qilingandan so’ng dasturlash tilida yozilgan dastur matni va kompilyatorga ehtiyoj qolmaydi. Masalan, info.pas fayli kompilyastiya qilingandan so’ng info.exe fayliga o’zgaradi va bu fayl kompilyatorsiz ham ishlashi mumkin. Agar info.pas faylini interpretator qayta ishlaganda har doim dastur ishini bajarilishi uchun interpretator ishga tushishi shart. Shu sababli kompilyator va interpretatorlarning ishlash printsipi turlichadir.
Kompilyatsiya qilingan dasturlar tezroq ishlaydi, lekin interpretatsiya qilinayotgan dasturlarga o’zgartirish kiritish osonroq.
Har bir dasturlash tili qaysi maqsadda yaratilganligiga qarab kompilyatsiya yoki interpretatsiyaga mo’ljallangan bo’lishi mumkin.
Bayt-kod (bytecode) Hisoblash texnikasining va web texnologiyalarning rivojlanishi, aniq bir mashinaga va operatsion tizimga bog’liq bo’lmagan yuqori darajadagi dasturlash tillarining paydo bo’lishi hamda ularning rivojlanishiga olib keldi. Bu dasturlash tillari dastur matnini bayt-kod deb ataluvchi oraliq shaklga translyastiya qiladi. Bu bayt-kodli dasturni ixtiyoriy joyda va ixtiyoriy vaqtda ishga tushirish mumkin. Masalan, Java va C# singari dasturlash tillari dastur matnini interpretator orqali bayt-kodga o’giradi. Bayt-kod ixtiyoriy platformada tezda mashina kodiga o’girilib ishga tushiriladi.
Dasturlash tili inson va mashinaning muloqot vositasi hisoblanadi va u quyidagi afzalliklarga ega:

  • u jonli tilimizga o’xshash va uni o’rganish oson.

  • bu tilda yozilgan dastur mashina tilidagidan qisqaroq bo’ladi.

  • dastur yozishga kamroq vaqt sarflanadi va kam xatolikka yo’l qo’yiladi.

  • yozilgan dasturni ixtiyoriy dasturchi o’qiy oladi.

  • dasturlash tili mashina turiga bog’liq emas.

Demak, dasturlash (yuqori darajadagi) tilida dastur tuzish qulayroq, osonroq va buning uchun aynan bir mashina (quyi darajadagi) tilini bilish shart emas ekan.
Bugungi kunda yuzlab dasturlash tillaridan foydalaniladi. Har bir dasturlash tili ma’lum bir soha yoki yo’nalishga oid masalalarni hal qilish uchun mo’ljallangan.

Yüklə 2,02 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   68




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin