|
I. NAZARIY QISM 1.1. Masalalarni kompyuterda yechish bosqichlari
|
bet | 2/13 | Sana | 20.12.2023 | Hajmi | 0,59 Mb. | | #124986 |
Bog'liq X-0 1.1. Masalalarni kompyuterda yechish bosqichlari.
Kompyuterdan foydalanib "ilmiy - texnik masalani yechish" tushunchasi keng ma'nodagi so’z bo’lib, quyidagi bosqichlarga bo’linadi.
Maqsad - bosqichlarning qaysi birlarini mutaxassis kompyuterdan foydalanmasdan va qaysi bosqichlarini kompyuterdan foydalanib bajarishini aniqlash xamda bosqichlarni to’la o’rganib chiqishdan iborat.
Ilmiy - texnik masalalarni (ITM) kompyuterdan foydalanib yechish bosqichlari:
1. Masalaning qo’yilishi va maqsadning aniqlanishi;
2. Masalani matematik ifodalash;
3. Masalani yechish uslubini ishlab chiqish, sonli usullarni tanlash;
4. Masalani yechish algoritmini ishlab chiqish;
5. Ma'lumotlarni tayyorlash va tarkibini aniqlash (tanlash);
6. Dasturlash;
7. Dastur matnini va ma'lumotlarni axborot tashuvchiga o’tkazish;
8. Dastur xatolarini tuzatish;
9. Dasturning avtomatik tarzda kompyuterda bajarilishi;
10. Olingan natijalarni izohlash, tahlil qilish va dasturdan foydalanish uchun ko’rsatma yozish;
"Informatika" kursida 1- 4 bosqichlar qisqa ma'noda, xususiy holatlar, ko’p uchraydigan murakkab bo’lmagan muammolar uchun tushuntiriladi.
Bu bosqichlar tom ma'noda to’laligicha mutaxassislikni egallash davomida maxsus kurslar vositasida o’rgatiladi.
8- va 9-bosqichlarni bajarishda mutaxassis kompyuterdan foydalanadi.
7-bosqichda kompyuterdan foydalanish ham, foydalanmaslik ham mumkin.
ITM ni kompyuterda yechish bosqichlarini aloxida ko’rib chiqamiz.
1-bosqich. Masalaning qo’yilishi va maqsadni aniqlash.
Xalq xo’jaligining muayyan sohasi (texnika, iqtisod, lingvistika, ta'lim va x.k.) bo’yicha ishlayotgan (ishlagan) malakali va etakchi mutaxassis tomonidan bajariladigan ish, masalani qo’yish va maqsadni aniqlash uchun malakali mutaxassis bir necha kun, oy, xattoki yillab izlanishi mumkin.
Qo’yilgan maqsadni amalga oshirish uchun kerakli ma'lumotlar tarkibi (strukturasi), tuzilishi, ifodalanishi aniqlangan bo’lib, ular orasidagi bog’lanishlar aniq ifodalangan bo’lsa, “masala qo’yilgan” deb aytiladi.
2-bosqich. Masalani matematik ifodalash.
Bu bosqichda masalani yechish uchun kerakli va etarli bo’lgan dastlabki ma'lumotlarning tarkibi, tavsifi, turi, tuzilishi xsobga olingan xolda matematik terminlarda ifodalanadi xamda masalani yechishning matematik modeli yaratiladi.
Buning uchun xar xil (sohasiga qarab) matematik apparat ishlatilishi mumkin.
Masalan iqtisod soxasidagi mutaxassislar - chiziqli dasturlash, dinamik dasturlash, stoxastik dasturlash, bashorat (prognoz) qilish bilan bog’liq masalalarni yechish matematik apparatini bilishlari kerak; texnika soxasidagi mutaxassislar oddiy differentsial tenglamalar va ularning tizimlari, mexanikaning chetki (kraevie) masalalarini, gaz dinamikasiga oid masalalarni, integral ko’rinishdagi masalalarni ifodalash va yechish uchun ishlatiladigan matematik apparatni to’liq tushunib etgan bo’lishi kerak.
Mutaxassis o’z soxasini xar tomonlama yaxshi o’rgangan va amaliy jixatdan puxta o’zlashtirgan va qo’llaniladigan har xil matematik apparatning barcha imkoniyatlarini to’liq tushunib yetgan va amaliyotga qo’llay oladigan bo’lishi kerak.
Bu bosqichda 2 ta asosiy savolga javob topish kerak:
1. Masalani ifodalash uchun qanday matematik strukturalar maqsadga muvofiq keladi?
2. Yechilgan o’xshash masalalar bormi?
Tanlangan matematik struktura (apparat)da masalaning elementida ob'ektlari to’la ifodalanishi zarur.
3-bosqich. Masalani yyechish usulini ishlab chiqish, sonli usulni tanlash.
Agar dastlabki ma'lumotlar bilan izlanayotgan natijalar (miqdorlar, ma'lumotlar) o’rtasida aniq bog’liqlik (qonuniyat) o’rnatilgan bo’lib va masalani yechish uslubi ishlab chiqilgan bo’lsa yoki o’sha bog’lanishni amalga oshirish uchun tayyor sonli usul (lar) tanlab olinib (masala uchun, masalaning bir qismi uchun) masalaning yechish uslubi yaratilgan bo’lsa, “masalani yechish uslubi ishlab chiqilgan” deyiladi.
Bunda: X - dastlabki ma'lumotlar; Y - natija, maqsad funktsiyasi, izlanayotgan miqdor (lar) bo’lsa, ular orasidagi bog’lanish Y= f (X) kabi olinishi mumkin.
f -dastlabki ma'lumotlar bilan natijani bog’lovchi qonuniyat, qoidalar majmuasi, ya'ni X ma'lumotlar ustida bajariladigan amallar ketma-ketligi yoki tanlab olingan usul.
Masalani yechishning ishlab chiqilgan uslubi yoki tanlab olingan usulning to’g’riligi, samaradorligi keyingi bosqichlarda tekshirib aniqlanadi.
4-bosqich. Masalani yechish algoritmini yaratish.
4-bosqichda asosan masalani yechish algoritmi yaratiladi. Masalani yechish algoritmi kompyuterning imkoniyatlarini, yechish aniqligini xamda masalani kompyuterda yechish vaqtini va qiymatini xisobga olgan xolda yaratilsa maqsadga muvofiq kelgan bo’lar edi.
Masalaning algoritmini yaratishda oraliq ma'lumotlarni iloji boricha kamaytirish, tashqi qurilmalar bilan bo’ladigan aloqalarni minimumga keltirish kerak.
Dasturning samarador va unumdorligi, masalani yechish algoritmining qanchalik puxta tashkil qilinganligiga bog’liq.
3-4 bosqichlar bir-biri bilan jips, mustahkam bog’langan. Ya'ni yaratilgan uslubni har xil usullar bilan amalga oshirish mumkin, shu sababdan masalani yechish uslubi va algoritmining bir nechta variantlari bo’lishi mumkin va keraklisi tanlab olinadi.
Murakkab masalaning algoritmini yaratishda qadamma-qadam oydinlashtirish uslubidan foydalangan ma'qul, har bir qadamda algoritmning tarkibi sodda va tushunarli bo’lib qolishiga erishmoq kerak.
Masalani algoritmlash jarayonida, algoritmning ba'zi bo’laklarini, lavhalarini, mantiqan alohida qismlarini ifodalashda tipik algoritmlar va amaliyotda tekshirilgan algoritmlardan iloji boricha ko’p foydalangan ma'qul.
Algoritmlashda modullik printsipidan foydalanish algoritmni o’qishda va dasturlashda qulayliklar yaratadi. Oxir oqibatda masalani yechish algoritmi ishchi holatga keltiriladi, ya'ni algoritm grafik ko’rinishda biror algoritmik til vositasida ifodalash darajasiga keltiriladi.
Masalani algoritmlash - masalani kompyuterdan foydalanib yechish algoritmini yaratish jarayonidir.
Algoritmlash - masalani yechish bosqichi bo’lib, masalaga qo’yilgan shart va talablar asosida oxirgi natijani, masalaning echimini olish uchun ishlab chiqilgan algoritmlarni yaratish bilan shug’ullanadigan informatikaning bo’limidir.
5-bosqich. Ma'lumotlarni tayyorlash va tarkibini aniqlash.
Ma'lumotlarni tasvirlash usulini tanlash algoritmning bajarilishi bilan chambarchas bog’langan. Shu sababdan ma'lumotni tasvirlashning shunday turini, usulini tanlash kerakki, masalani yechish jarayoni sodda va tushunarli bo’lsin.
Ma'lumotlar oddiy o’zgaruvchilar ko’rinishida (bu xol juda kam uchraydi), massiv ko’rinishida, aloxida ma'lumot fayllari (ketma-ket o’qiladigan yoki bevosita o’qiladigan) ko’rinishida axborot tashuvchida joylashgan bo’lishi mumkin.
6-bosqich. Dasturlash.
Masalani ishchi xolatga keltirilgan yechish algoritmini tanlangan algoritmik til vositasida ifodalash (tavsiflash, tasvirlash) “dasturlash” deyiladi.
Algoritmning xar bir mayda bo’lagi algoritmik tilning operatorlari yordamida, tilning sintaksis va semantika qoidalari asosida yozib chiqiladi. Algoritm mukammal tuzilgan bo’lsa dasturlashda qiyinchilik tug’ilmaydi. Dasturlash jarayonida quyidagi takliflar inobatga olinsa xatolarni tuzatish jarayoni engillashadi.
1. Dastur umumiy bo’lishi kerak, ya'ni ma'lumotlarni aniq biror turiga bog’liq bo’lmasligi kerak, massivning chegara parametrlarini tekshirmoq lozim. Massiv elementlarining soni 0 yoki 1 bo’lib qolish, yoki yuqori chegarasidan oshib ketish xolati.
2. O’zgarmas kattalik xamda o’zgaruvchi kattalik ko’rinishida ishlatish. (Biror o’zgarmas kattalikni boshqasi bilan almashtirish zarurati bo’lib qolsa, dastur matnini chaqirib o’zgartirish kerak - bu noqulay xolat EXE, SOM fayllarida aslo mumkin emas).
Dasturda kiritiladigan ma'lumotlarni nazorat qilish qismi bo’lishi kerak.
3. Dasturdagi arifmetik amallarni kamaytirish va dasturning ishlashini tezlatish uchun:
- darajaga oshirish amallari ko’paytirish amali bilan almashtirilgani ma'qul;
- bir xil ma'lumot bilan xisoblanayotgan arifmetik (algebraik) ifodalarni bir marta xisoblab qiymatini biror o’zgaruvchida saqlab ishlatish.
- takrorlashlarni tashkil qilishda takrorlanishning chegarasini tekshirish uchun ifodalardan emas balki oddiy o’uzgaruvchilardan foydalanish.
- takroriy xisoblashlar tarkibida uchraydigan va takrorlanish davomida qiymatini o’zgartirmaydigan ifodalarni takrorlanishdan tashqarida xisoblash.
4. Dasturning xar bir bo’lagi, moduli qismiga tushuntirishlar yozilgan bo’lishi kerak. Dasturdagi tushuntirishlar, masalani yechish ketma-ketligini ifodalovchi mantiqiy ketma-ketlikdan iborat bo’lmog’i kerak.
Dasturdagi modullar, qismlar aniq ko’rsatilgan bo’lishi kerak. Takrorlanish boshi va takrorlanish oxiri aloxida qatorda turgani ma'qul.
7-bosqich. Dastur matnini va ma'lumotlarni axborot tashuvchiga o’tkazish.
Kompyuter uchun axborot tashuvchi vositalar bo’lib: perfokarta, perfolenta, magnitli tasma, magnitli disk (egiluvchi magnitli disk, magnitli karta), fleshkalar xizmat qilishi mumkin.
Dastur matni aloxida maxsus qurilmalar yordamida yoki kompyuterdan foydalanib axborot tashuvchiga o’tkaziladi.
8-bosqich. Dasturning xatosini tuzatish.
Bu bosqich masalani kompyuterda yechish bosqichlari ichidagi ko’p vaqt talab qiladigan, mutaxassisdan sabr, qanoat, chidam, aql, zakovat, mantiqiy tez fikrlash, algoritmik tilning barcha imkoniyatlarini, tuzatish (otladka) qilish uslubini, yo’llarini, masalaning mag’zini ikir-chikirlarigacha mukammal bilishni talab qiladigan murakkab izlanuvchan jarayondir.
Bu bosqich “dasturni test bo’yicha tekshirish” deb xam yuritiladi. Dasturning to’g’ri ishlashi va yo’l qo’yilgan xatoliklarni aniqlab tuzatish algoritmni yaratishda yo’l qo’yilgan kamchiliklarni bartaraf qilish xamda tanlangan usulning yaroqli yoki yaroqsiz ekanligini aniqlab beruvchi jarayondir.
Test - maxsus tayyorlangan dastlabki malumotlar bo’lib, ular ustida amallar bajarish bilan masalaning echimi-natija olinadi. Test tayyorlash juda murakkab ish bo’lib, qo’lda hisob-kitob ishlarini bajarishni talab qiladi xamda dasturning xamma qismlarini, bo’laklarini, modullarini tekshirish shart.
Dasturning xatosini tuzatish bo’yicha yo’l - yo’riqlar:
1. Maxsus tayyorlangan ma'lumotlar asosida dasturni qo’lda echib chiqish (imkoni bo’lsa) yoki mantiqan alohida bo’lgan bo’laklarini, modullarini qo’lda xisoblash.
2. Dasturni va uning bo’laklarini, modullarini test yordamida tekshirish.
3.Dasturning kerakli joylariga bosib chiqarish buyrug’ini qo’yish (tuzatishlardan keyin olib tashlanadi).
4. Dasturning xatolarini tuzatishda, muloqot rejimida bajarilganda (STOP) to’xtash buyrug’idan foydalanish.
5. Dasturlash tilini va amal bajaruvchi tizimi (AT)ning maxsus xatolarni tuzatish imkoniyatlaridan foydalanish.
6. Xatolarni tuzatish jarayonida kam xajmdagi ma'lumotlar bilan ishlashni tashkil qilish.
9-bosqich. Dasturning avtomatik tarzda kompyuterda bajarilishi.
Kompyuter xatolari tuzatilib tayyorlangan dastlabki ma'lumotlardan foydalangan xolda masalaning echimini (echimlarini) avtomatik tarzda xisoblaydi.
Agar natijalar masalaning echimi uchun yaroqli deb topilsa masalani yechish tugallangan xisoblanadi, aks xolda yuqoridagi bosqichlar qaytadan ko’rib chiqiladi.
10-bosqich. Olingan ma`lumotlarni izohlash, tahlil qilish va dasturdan foydalanish uchun yo’riqnoma yozish.
Masalani yechish natijasida olingan sonlar yoki sonlar massivi, matnlar yoki matn ko’rinishidagi massivlar xar taraflama izoxlanib, tushuntiriladi. Dasturdan foydalanish uchun ko’rgazma yozish quyidagilarni o’z ichiga oladi:
- Dastur ishlashi uchun ma'lumotlarni tayyorlash usuli, tuzilishi aniq belgilangan;
- Dasturning ishlashi uchun kompyuterni sozlash yo’llari;
- Dasturni ishga tushirish va ishlash paytida bo’ladigan savol-javoblar;
- Dasturni ishlash jarayonida kelib chiqadigan xar xil xolatlarni bartaraf qilish yo’llari aniq va puxta tushunarli qilib yozilgan bo’lishi kerak.
Masalani yechishning uchta bosqichini quyidagi misollarda ko’rib chiqamiz.
1-MISOL.
1. Masalaning qo’yilishi va maqsadning aniqlanilishi. Koptok 29, 5 m / sek
tezlik bilan tepaga tik ravishda tepilgan. U qancha balandlikka ko’tariladi? (Havoning qarshiligi xisobga olinmasin).
2. Masalani matematik ifodalash.
Berilgan: Vo = 29, 5 m / sek. ; V = Vo.
Koptokni balandlikka ko’tarilish xarakatini ifodalovchi qonuniyat:
h = Vo*t-g*t2 / 2 (1)
bu erda: t - koptokning ko’tarilish vaqti, sek. ; g - erkin tushish tezlanishi ( 9, 8 m / sek );
3. Masalani yechish usulini ishlab chiqish.
Koptokning tezligi eng yuqori balandlikka etganda nolga teng bo’ladi:
V= 0. Fizika kursidan ma'lumki, tezlik yo’ldan vaqt bo’yicha olingan xosila.
V = dh / dt. (2)
(1) dan xosila olsak
V = Vo - g*t (3)
(3) -ni nolga tenglab t ning qiymatini topamiz:
t = Vo / g (4)
(4)-dan t ni topib (1) ga qo’yamiz.
2-MISOL.
1. Masalaning qo’yilishi va maqsadni aniqlash.
X 0 Y koordinata tekisligida Y=0, X=a, X=b to’g’ri chiziqlar va egri chiziq bilan chegaralangan shaklning yuzasi aniqlansin.
2. Masalani matematik ifodalash.
Masalaning qo’yilishidan ma'lumki bu shakl egri chiziqli trapetsiyadir. Uning yuzasini topish aniq integral yordamida quyidagicha xisoblanadi:
bu erda: a - integralning quyi chegarasi; b - integralning yuqori chegarasi.
3. Masalani yechish usulini ishlab chiqish (tanlash).
Bu turdagi masalalarni yechishda to’rtburchaklar, trapetsiya yoki Simpson
taqribiy usullaridan biri tanlab olinadi va yuza xisoblanadi.
|
| |