Toshkent tibbiyot akademiyasi biotibbiyot muhandisligi,informatika va biofizika



Yüklə 83,13 Kb.
səhifə2/14
tarix19.12.2023
ölçüsü83,13 Kb.
#150917
1   2   3   4   5   6   7   8   9   ...   14
2-deadline

Asosiy qism


Masalalarni yechimlarini aniqlash va ularni algoritmini tizish - bu ijodiy ish
hisoblanadi. Har qanday masalaga algoritmni osongina tuzishga imkon beradigan
universal usul yo’q. Chunki hayotiy vaziyatlar va vazifalar juda xilma-xil va
oldindan aytib bo’lmaydi! Agar narsalar boshqacha bo’lsa edi, algoritmlashtirish
jarayonini o’zi avtomatlashtirish uchun haqiqiy imkoniyat bo’lar edi, uni ba’zi bir
avtomatlashtirilgan ijrochiga ishonib topshirish mumkin bo’lar edi. Bu tizimni
aqlli kompyuter sifatida ko’rishimiz mumkin. Shunga qaramay, algoritmlarni ishlab chiqish usullariga oid ba’zi tavsiyalar berilishi mumkin.
Oddiy masalalarni yechishda ma’lum bir sxemadan foydalanishingiz mumkin.
Matematikaning hisoblash matematikasida har yechishda ko’p yillik tajriba to’plagan bo’limi mavjud. Yaratilgan algoritmlarni qayta ishlab chiqishga hojat yo’q - ularni o’rganish va muammolarni hal qilishda amalda qo’llash kifoya. Bularga misol sifatida chiziqli bo’lmagan tenglamalarning ildizlarini topish usullari, aniq integrallarni hisoblash, differentsial tenglamalarni raqamli integrallari, ma’lumotlarni saralash usullari va boshqalar. Ko’pgina hollarda, u yoki bu muammoni bir nechta raqamli usullar bilan hal qilish mumkin. Muammoni hal qilish uchun ma’lum bir raqamli usulni tanlash odatda quyidagi mezonlarga muvofiq amalga oshiriladi:
• muammoni hal qilish uchun maqbul vaqtni ta’minlash;
• mavjud resurslardan (xotira) optimal foydalanishni ta’minlash ;
• hisob-kitoblarning talab qilinadigan aniqligini ta’minlash;
• minimal xarajatlar qiymati;
• standart tartiblardan foydalanish qobiliyati.
Kompyuterda muammoni yanada shakllantirish bilan qilishning eng oqilona usuli topilgan.
Biroq, algoritmlar tobora murakkablashib borar ekan, ularning qanday
ishlashini tushunish tobora qiyinlashmoqda. Ulardan xatolarni topish va ularni
tuzatish yoki o’zgartirishlarni kiritish yanada qiyinroq. 50 dan 100% gacha
dasturchi dasturlarni tuzishga va o’zgartirishga sarflaydi. Shu munosabat bilan-
dasturlash sanoati dasturlash uchun yanada tizimli yondashuvlarni taklif qiladi
ya’ni, dasturlarda xatolar ehtimolini ularni tushunishni osonlashtiradigan va
o’zgartirishni osonlashtiradigan taklif etadi
Strukturaviy dasturlash eng ommalashgan usullardan biridir. Strukturaviy
dasturlashning asosini Bemom va Jakopini isbotlagan strukturalash teoremasi
tashkil etadi. Ushbu teorema, vazifa qanchalik murakkab bo’lmasin, tegishli
dasturning blok diagrammasini har doim juda cheklangan elementar boshqaruv
tuzilmalari yordamida namoyish etish mumkinligini ta’kidlaydi.
Ushbu teoremani isbotlashning asosiy g’oyasi algoritmning har bir qismini
uchta asosiy tuzilmalardan biriga yoki ularning kombinatsiyasiga aylantirishdan
iborat. Bunda algoritmning tuzilmagan qismi kamayadi. Yetarli miqdordagi
bunday o’zgarishlardan so’ng, tuzilmagan qism yo’q bo’lib ketadi yoki keraksiz
bo’ladi. Natija algoritmning asl nusxasiga teng bo’lganligi va faqat ko’rsatilgan
boshqaruv tuzilmalaridan foydalanilganligi isbotlanadi.
Strukturaviy dasturlashning maqsadi - asl muammoni qismlarga bo’lish orqali
dastur tuzilishini tanlashga olib keladi. Dasturlar oddiy tuzilishga ega bo’lishi
kerak. Murakkab, chalkash dasturlar ishlamay qoladi va ularni sinab ko’rish
qimmatga tushadi.
Algoritmni ishlab chiqish aniq mantiqiy jarayon bo’lib, har bir bosqichda
bosqichma-bosqich soddalashtiriladi. Keyinchalik, jarayonda algoritmlash usuli
bosqichma-bosqich takomillashtirish muammo bir butun sifatida ko’rib chiqiladi, uning eng katta qismlari ajratiladi.
Ushbu qismlarning bajarilish tartibini belgilash algoritmi kichik detallarga
kirmasdan tizimli ravishda tavsiflanadi. Umumiy tuzilishdan, ular alohida
qismlarni tavsiflashga o’tadilar. Shunday qilib, algoritmni ishlab chiqish
algoritmni takomillashtirishga qaratilgan qadamlar ketma-ketligidan iborat.
Strukturaviy dasturlashni yanada rivojlantirish, kengaytirish - bu modulli
dasturlash hisoblanadi, uning g’oyasi shundaki, algoritmni tizim sifatida namoyish
etilishi va alohida modullar to’plami sifatida ifodalanishi mumkin. Har bir modul
faqat shu modulda mavjud bo’lgan ma’lumotlar va funksiyalar to’plarnini o’z
ichiga oladigan mwstaqil, nisbatan mustaqil dastur sifatida qaraladi.
Modulli dasturlash bir vaqtning o’ zida bir nechta mutaxassislarni jalb
qilganligi sababli jarayonni sezilarli darajada tezlashtirishga imkon beradi. Har
biriga alohida modul ishlab chiqishni ishonib topshiradi. Bundan tashqari, modulli
dasturlash oldindan aniqlangan standart dasturlardan foydalanish imkoniyatini
nazarda tutadi.
Bir nechta kichik topshiriqlardan tashkil topgan murakkab rnasalani yechish
algoritmini loyihalash bosqichida ikkita yondashuv qo’llaniladi: yuqoridan pastga
va pastdan yuqoriga. Yuqoridan pastga qarab loyihalashda birinchi navbatda boshqarish dasturining funktsiyalari ishlab chiqiladi. Keyin tanishtiriladi va boshqa modullar ishlab chiqiladi. Yuqoridan pastga yo’naltirilgan loyihalashda har bir qadamda modulning ishlashi batafsil qadamlarga havolalar yordamida tavsiflanadi. Pastdan yuqoriga qarab loyihalashda birinchi navbatda quyi darajadagi dasturlar, ba’zan esa qism dasturlar shaklida ishlab chiqiladi. Keyin har bir
bosqichda yuqori darajadagi modullar ishlab chiqiladi.
Dasturchining birinchi va eng muhim mahorati algoritm tuzishdir. Tilni bilish - bu ikkinchi narsa, ularning tanlovi deyarli did bilan bog'liq. Ammo algoritmlashtirish asoslari doimo bir xil.

Yüklə 83,13 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   14




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

    Ana səhifə