logo

Matematik masalalarni vizuallashtirish. Silindr masalasi.

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

379.5341796875 KB
Mavzu:  Matematik masalalarni vizuallashtirish. Silindr masalasi .
Reja:
I. Kirish.
I.1. Axborot texnologiyalarning ta’limdagi o’rni.
I.2. Vizullashtirish istiqbollari.
II. Nazariy qism.
II.1. Matematik   masalalarni   dasturlsh   tillari   yordamida   yechish
bosqichlari.
II.2. Matematik masalalarni vizuallashtirish.
II.3. Geometrik masalalar va ularning yechimlari.
III. Amaliy qism.
IV. Xulosa.
V. Foydalanilgan adabiyotlar.
1 Kirish
Bugungi   kunda   mamlakatimizda   ta’lim   tizimini   isloh   qilish,   uning
mazmunini   yangilash,   o’qituvchining   kasbiy   bilim   va   tayyorgarligini   oshirish,
o’quvchilarning   shaxsiy   tajribalarini   boyitish,   ularni   ijtimoiy   hayotga   tayyorlash
sohasida   keng   ko’lamli   izlanishlar   amalga   oshirilmoqda.   Ushbu   sohadagi
kamchiliklarni   bartaraf   etish   yo’llari   izlanmoqda.   Bularning   barchasi   zamonaviy
maktab   ta’limining   umumiy   yo’nalishini   belgilash,   dunyo   miqyosida   uning
rivojlanishiga   ta’sir   ko’rsatadigan   omillarga   keng   yo’l   ochish   imkonini   beradi.
Buning   uchun,   avvalo,   uzliksiz   ta’lim   tizimining   barcha   shakldagi   ta’lim
muassalarida   ta’lim   jarayoni   sifatida   ta’minlovchi   ilg‘or   ilmiy-metodik   jihatdan
asoslangan   zamonaviy   o’qitish   texnologiyalarni   amalda   oshirish   lozim.   Insoniyat
tarixining   ko‘p   asrlik   tajribasi   ezgu   go‘yalardan   va   sog‘lom   mafkura   hamda
zamonaviy   bilimlardan   maxrum   har   qanday   jamiyat   uzoqqa   bora   olmasligini
ko‘rsatdi. Shuning uchun, mustaqillikka erishgan mamlakatimiz o‘z oldiga ozod va
obod   vatan,   demokratik   jamiyat   barpo   qilish,   erkin   va   farovon   hayot   qurish,
rivojlangan   mamlakatlar   qatoridan   o‘rin   olish   kabi   muhim   vazifalarni   qo‘ydi.   Bu
vazifalarni   hal   qilish   asosan   yosh   avlod   zimmasiga   tushadi.   Demak,   yoshlardan
zamonaviy   komputerlar   bilan   ishlashni   o‘rganish,   xalq   xo‘jaliginining   turli
masalalarini   yechishga   mo‘ljallangan   dasturiy   ta’minot   bilan   tanishish   hamda
dasturlash   vositalari   yordamida   hali   komputerda   yechilmagan   masalalar   uchun
yangi dasturlar yaratishni talab qilinadi. Darvoqi, har bir jamiyatning bugungi kuni
va kelajagi uning ajralmas qismi va hayotiy zarurati bo‘lgan ta’lim tizimining qay
darajada   rivojlanganligi   bilan   belgilanadi.   Bugungi   kunda   mustaqil   taraqqiyot
yo‘lidan   borayotgan   mamlakatimizning   uzluksiz   ta’lim   tizimini   isloh   qilish   va
takomillashtirish,   yangi   sifat   bosqichiga   ko‘tarish,   unga   ilg‘or   pedagogik   va
axborot   texnologiyalarini   joriy   qilish   hamda   samaradorligini   oshirish   davlat
siyosati darajasiga ko‘tarildi. 
“Ta’lim   to‘g‘risida”gi   qonun   va   “Kadrlar   tayyorlash   milliy   dasturi”ning
qabul qilinishi bilan uzluksiz ta’lim tizimi orqali zamonaviy kadrlar tayyorlashning
2 asosi   yaratildi.   Oliy   o’quv   yurtlarida   talabalarni   mustaqil   bilim   olish   faoliyatini
tashkil   etishga,   bilimlarni   mustaqil   egallashga   va   ularni   amaliyotda   4   qo’llash
malakalarini   shakllantirishga   qaratish   o’qitishning   metodlari,   texnologiyalarini
shunday   tanlash   lozimligini   ko’rsatdiki,   ular   talabalarga   nafaqat   tayyor   bilimlarni
o’zlashtirishlarida,   balki   bilimlarni   turli   manbalardan   mustaqil   egallashlari,
o’zlarida   shaxsiy   nuqtai   nazarning   shakllanishi,   uni   asoslashi   va   erishilgan
bilimlarni   yangi   bilimlar   olishlarida   foydalanish   malakalariga   ega   bo’lishlarini
taqoza   etadi.   Bunday   ulkan   vazifani   muvaffaqiyatli   amalga   oshirishda   o’qituvchi
va   talabalarga   davlat   tilida   kerakli   o’quv   adabiyotlarini   yetkazish   alohida
ahamiyatga ega. 
Ushbu   kurs   ish   dasturlash   tillari   asosida   matematik   masalalarni   yechish
bo’yicha   matematika   va   mexanika   ta’lim   yo’nalishlarida   bilim   olayotgan
o’quvchilar   uchun   mo’ljallangan   bo’lib,   uning   asosiy   maqsadi   algoritmlash   va
dasturlash tillari asosida matematik masalalarni yechish imkoniyatlaridan xabardor
qilib,   kompyuter   bilan   muloqot   o’rnatish   usullarini   o’rgatish   va   unda   turli
masalalarni yecha olish bilim va malakalarini shakllantirishdan iboratdir. 
Ko'pgina   tadqiqotlar   shuni   ko'rsatadiki,   vizual   tizimda   yangi   tasvirning
tug'ilishini   ta'minlaydigan   mexanizmlar   mavjud.   Ularning   yordami   bilan,   inson
dunyoni   nafaqat   mavjudligini,   balki   mavjud   bo'lgan   (yoki   bo'lishi   mumkin)
holatida   ham   ko'rishga   qodir.   Bu   shuni   anglatadiki,   vizual   tasvirlar   zaruriy   shart,
hatto   undan   ham   ko'proq   -   aqliy   faoliyat   vositasi.   Ular   ramzlar   va   nutq   bilan,
odamni   o'rab   turgan   ob'ektiv   haqiqat   bilan   taqqoslaganda   to'g'ridan-to'g'ri
bog'liqdir. Tasvir nafaqat tafakkur, balki haqiqatning dam olishidir. U, bu haqiqat,
ob'ekt   haqiqatan   ham   mavjud   bo'lgan   shaklda   (yoki   unga   yaqin)   yaratilishi
mumkin.   Ammo   ob'ektni,   vaziyatni   yo'q   qilish   va   uning   yangi   versiyasi   yoki
variantlarini qayta tiklash ham mumkin. Haqiqat bilan taqqoslaganda o'zgartirilgan
ushbu   obraz   asosida   inson   yana   ob'ektiv   haqiqatga   murojaat   qiladi   va   uni   o'zida
qayta   tiklaydi   amaliy   faoliyat ...   uning   obrazli   vakili,   tasavvur   va   tafakkurini
rivojlantirmasdan   ijodiy   fikrlaydigan   mutaxassisni   tayyorlash   mumkin   emas.
3 Ushbu   masalada   sezilarli   foyda   proektsion   sxemalarning   universal   apparati
tomonidan ta'minlanadi. Mekansal tasavvurlarni shakllantirish uchun ishlatiladigan
eng   muhim   proektsion   modellashtirish   vositalaridan   biri   bu   geometrik   talqin.
Tafsir   ob'ekti   -   bu   chizmalar,   diagrammalar,   matnlar,   diagrammalar   va   boshqalar
kombinatsiyasi   ko'rinishidagi   grafik   modellar,   grafik   modellar   ma'lumotlarning
grafik   taqdimoti   vositalari   to'plami   ko'rinishida:   grafik   modellarni   tuzish
qoidalariga   muvofiq   foydalaniladigan   chiziqlar,   belgilar,   mnemonik   belgilar.
Axborotni ushbu shaklda idrok etishda, matnni idrok etishdan kattaroq o'lchovli ish
maydonini   kiritish   kerak.   Axborot   ob'ektini   uning   modeli   bilan   taqqoslaganda
aniqlik darajasi simulyatsiya paytida sodir bo'lgan proektsiyalash apparati haqidagi
ma'lumotlarning   to'liqligiga   bog'liq.   grafik   modellarning   mumkin   bo'lgan
tasniflaridan   biri   ko'rsatilgan.   Piktografik   model   -   ob'ektlar,   harakatlar   yoki
hodisalarni   aks   ettiruvchi   shartli   grafik   tasvirlar   (piktogrammalar)   yordamida
tuzilgan   grafik   model.   Ideografik   model   -   ideogrammalar   yordamida   tuzilgan
grafik model - tushunchalarni bildiruvchi an'anaviy yozma belgilar.
4 Matematik masalalarni dasturlsh tillari yordamida yechish
bosqichlari  
Har   qanday   masalani   kompyuterga   tayyorlash   va   uni   o’tkazish   quyidagi
bosqichlarda amalga oshiriladi. 
1. Masalani qo’yilishini aniqlash va matematik modelini ishlab chiqish. 
2. Masalani yechishning sonli usulini tanlash. 
3. Masalani yechish algoritmini ishlab chiqish. 
4. Kompyuter uchun dastur tuzish.
5. Dasturni kompyuter xotirasiga kiritish, rostlash va tekshirish. 
6. Hisoblash natijalarini qayta ishlash va tahlil qilish. 
1.   Masalaning   qo’yilishini   aniqlash   va   matematik   modelini   ishlab   chiqish.
Masalani yechishdan oldin uning qo’yilshi oydinlashtiriladi, ya’ni bunda uning
maqsadi   va   yechilish   shartlari   aniqlanadi,   boshlang’ich   ma’lumotlar   va
natijalarning tarkibi asoslanadi. Bu ma’lumotlar asosida u matematik formulalar
ko’rinishida ifoda qilinadi. 
2.   Masalani   yechishning   sonli   usulini   tanlash.   Qo’yilgan   matematik   masalalar
uchun   ularning   sonli   yechish   usulini   tanlash   kerak   bo’ladi.   Sonli   usullar   turli-
tuman   bo’lganligidan   ularning   eng   samarali   va   qulayini   tanlash   kerak.   Bu
masala   bilan   matematikaning   sonli   usullar   bo’limi   shug’ullanadi.   Yechish
usulini   tanlash   masalaga   qo’yilgan   barcha   talablarni   va   uni   konkret
kompyuterlarda hal qilish imkoniyatlarini hisobga olish kerak. 
3.   Masalani   yechish   algoritmini   ishlab   chiqish.   Masalani   yechish   uchun
tanlangan   sonli   usulning   algoritmi   ishlab   chiqiladi,   ya’ni   masalani   yechish
uchun   bajariladigan   arifmetik   va   mantiqiy   amallar   ketma-ketligi   yoritiladi.
Masalani yechish algoritmlari ko’rgazmaliroq bo’lishi uchun, ular ko’p hollarda
blok- sxema ko’rinishida ifodalanadi. 
5 4.   Kompyuter   uchun   dastur   tuzish.   Kompyuter   uchun   dastur   masalaning
umumiy   yechimidir.   U   algoritmning   mashina   buyruqlari   ketmaketligi
shaklidagi yozuvdir. Buning uchun dasturlash tillari (Basic, Fortran, C++ ,  С ++
va boshqalar) dan biri tanlanadi va unga mos dastur tuziladi. Tuzilgan dasturni
sifatli   bo’lishi   va   uni   mashina   xotirasidan   kam   joyni   egallashi   muhim
ahamiyatga ega. 
5. Dasturni kompyuter xotirasiga kiritish, rostlash va tekshirish. Tuzilgan dastur
kompyuter   klaviaturasi   orqali   uning   xotirasiga     kiritiladi.   Kiritilgan   dasturni
rostlash   va   tekshirish   amalga   oshiriladi,   ya’ni   yo’l   qo’yilgan   xatoliklar
tuzatiladi. 
6.   Hisoblash   natijalarini   qayta   ishlash   va   tahlil   qilish.   Bu   bosqichdan   tuzilgan
dastur   bo’yicha   hisoblash   bajariladi   va   hosil   bo’lgan   natija   kompyuterning
displey   ekraniga   chiqariladi   yoki   chop   etish   qurilmasi   orqali   qog’ozga   chop
etiladi.   Natijalarni   jadvallar,   grafiklar   yoki   diagrammalar   ko’rinishida   hosil
qilish   mumkin.   Hosil   bo’lgan   natija   esa   foydalanuvchi   tomonidan   tahlil
qilinadi.   Qo’yilgan   masalani   u   yoki   bu   turini   yechishning   algoritmlarini
shakllantirish   va   ishlab   chiqish   eng   ma’suliyatli   hamda   muhim   bosqichlardan
hisoblanadi,   chunki   bu   bosqichda   keyinchalik   shaxsiy   kompyuterda   bajarilishi
kerak bo’lgan amallarning ketma-ketligi oldindan belgilab olinadi. Algoritmda
yo’lga   qo’yilgan   xatoliklar   hisoblash   jarayonini   noto’g’ri   bajarilishiga   olib
keladi, ya’ni noto’g’ri natijalarni beradi.
6 Kompyuterdan   foydalanib   masalani   yechish   yaratilgan   allgoritmga   asoslangan
holda   dastlabki   ma’lumotlar   ustida   avtomatik   tarzda   amallar   bajarilib   izlangan
natijalar ko’rinishiga keltirish demakdir
Matematik model har xil vositalar yordamida berilishi mumkin. Bu vositalar
fizik   qonuniyatlar   hamda   funktsional   analiz   elementlarini   ishlatib   differentsial   va
integral   tenglamalar   tuzishdan   to   hisoblash   algoritmi   va   EHM   dasturlarini
yozishgacha   bo’lgan   bosqichlarni   o’z   ichiga   oladi.   Har   xil   bosqich   yakuniy
natijasiga ko’ra o’ziga xos ta‘sir ko’rsatadi va ulardagi yo’l qo’yiladigan xatoliklar
oldingi bosqichlardagi xatoliklar bilan ham belgilanadi. 
Ob‘ektning   matematik   modelini   tuzish,   uni   EHMda   bajariladigan
hisoblashlar   asosida   tahlil   qilish   -   hisoblash   tajribasi   deyiladi.   Hisoblash
tajribasining umumiy sxemasi 1-rasmda ko’rsatilgan. 
Birinchi   bosqichda   masalaning   aniq   qo’yilishi,   berilgan   va   izlanuvchi
miqdorlar,   ob‘ektning   matematik   modelini   tuzish   uchun   ishlatish   lozim   bo’lgan
boshqa xususiyatlari tasvirlanadi.
7 1-rasm
Algoritm – bu masalani yechish usullarini izohlashdir, yoki boshqacha qilib
aytganda,   kutilayotgan   natijalarni   shaxsiy   kompyuter   tomonidan   olish   uchun
bajarilayotgan   hisoblash   jarayolarining   ketmaketliklaridir.   Algoritm   -   bu   biror
masalani yechish uchun bajarilishi zarur bo’lgan buyruqlarning tartiblangan ketma-
ketligidir.   Har   bir   algoritm   aniq   va   tugallangan   qadamlarga   bo’lingan   bo’lishi
kerak.   Algoritm   d е b,   masalani   y е chish   uchun   bajarilishi   lozim   bo’lgan   amallar
k е tma-k е tligini aniq tavsiflaydigan qoidalar tizimiga aytiladi. Boshqacha aytganda,
algoritm   –boshlang’ich   va   oraliq   malumotlarni   masalani   y е chish   natijasiga
aylantiradigan jarayonni bir qiymatli qilib, aniqlab b е radigan qoidalarning biror bir
ch е kli   k е tma-k е tligidir.   Buning   mohiyati   shundan   iboratki,   agar   algoritm   ishlab
chiqilgan   bo’lsa,   uni   y е chilayotgan   masala   bilan   tanish   bo’lmagan   biron   bir
8 ijrochiga,   shu   jumladan   kompyut е rga   ham   bajarish   uchun   topshirsa   bo’ladi   va   u
algoritmning qoidalariga aniq rioya qilib masalani y е chadi. Algoritm atamasi o’rta
asrlarda yashab   ijod etgan  buyuk o’zbek  matematigi  Al-Xorazmiy  nomidan  kelib
chiqqan.   Algoritm   so’zi   alXorazmiyning   arifmetikaga   bag’ishlangan   asarining
dastlabki   sahifadagi   “Dixit   Algoritmi”   (“dediki   al-Xorazmiy”   ning   lotincha
ifodasi) degan jumlalardan kelib chiqqan. U o’zi kashf etgan o’nli sanoq tizimida
IX asrning 825 yilidayoq to’rt arifmetika amallarini bajarish qoidalarini 7 bergan.
Arifmetika amallarini bajarish jarayoni esa al-Xorazm deb atalgan. Bu atama 1747
yildan boshlab algorismus, 1950 yilga kelib algoritm deb ham ataldi. Bu yerda al-
Xorazmiyning   sanoq   sistemasini   takomillashtirishga   qo’shgan   hissasi,   uning
asarlari   algoritm   tushunchasining   kiritilishiga   sabab   bo’lganligi   o’quvchilarga
ta’kidlab   o’tiladi.   Q а dimgi   Gr е siyalik   m а t е m а tik   Е vklid   2   t а   n а tur а l   А   v а   B
s о nl а rning   eng   k а tt а   umumiy   bo’luvchisini   t о pish   а lg о ritmini   t а klif   etdi.   Uning
m а ’n о si   quyid а gich а :   K а tt а   s о nd а n   kichigini   а yirish,   n а tij а ni   k а tt а   s о n   o’rnig а
qo’yish   v а   ikk а l а   s о n   t е ngl а shgunch а   bu   а m а lni   t а kr о rl а sh.   Ushbu   t е ng   s о nl а r
izl а ng а n   n а tij а dir.   Е vklid   а lg о ritmid а   А   v а   B   s о nl а rning   eng   k а tt а   umumiy
bo’luvchisi   ushbu   s о nl а r   а yirm а sining   eng   k а tt а   bo’luvchisi   h а md а   ikk а l а   А ,B
s о nl а rning h а m umumiy eng k а tt а  bo’luvchisi bo’lishligidan f о yd а l а nilg а n.  Е vklid
а lg о ritmining   bu   if о d а sig а   aniqlik   y е tishm а ydi,   shuning   uchun   uning
k о nkr е tl а shtirish  z а rur  bo’l а di. Haqiqiy   Е vklid   а lg о ritmi   quyid а gich а :  1.   А   s о nni
birinchi s о n d е b, B s о nni ikkinchi s о n d е b q а r а lsin. 2- qadamg а  o’tilsin. 2. Birinchi
v а   ikkinchi   s о nl а rni   t а qq о sl а ng.   А g а r   ul а r   t е ng   bo’ls а ,   5-   qadamgao’tilsin,   а ks
h о ld а   3-qadamgao’tilsin.   3.   А g а r   birinchi   s о n   ikkinchi   s о nd а n   kichik   bo’ls а ,
ul а rning   o’rni   а lm а shtirilsin.   4-qadamgao’tilsin.   4.   Birinchi   s о nd а n   ikkinchi   s о n
а yirilsin   v а   а yirm а   birinchi   s о n   d е b   his о bl а nsin.   2-qadamga   o’tilsin.   5.   Birinchi
s о nni n а tij а  sif а tid а  qabul qilinsin. T а m о m. Bu qoidal а r k е tm а -k е tligi  а lg о ritmning
t а shkil   et а di,   chunki   ul а rni   b а j а rg а n   i х tiyoriy   а yirishni   bil а dig а n   kishi   i х tiyoriy
s о nl а r   jufti   uchun   eng   k а tt а   umumiy   bo’luvchini   t о p а   о l а di.   M а t е m а tikl а r   uz о q
v а qtl а r   d а v о mid а   а lg о ritml а rning   bund а y   if о d а l а rid а n   k е ng   f о yd а l а nib   turli
hisobl а sh   а lg о ritml а rini   ishl а b   chiqdil а r.   M а s а l а n,   kv а dr а t   v а   kubik   t е ngl а m а l а r
9 ildizl а rini topish   а lg о ritml а ri t о pildi.   А st а -s е kin   о liml а r qiyinr о q m а s а l а l а r ustid а
b о sh   q о tirib,   m а s а l а n,   i х tiyoriy   d а r а j а li   а lg е br а ik   t е ngl а m а l а r   ildizl а rini   t о pish
а lg о ritml а rini   qidir а dil а r.   H а tt о ,   XVII   а srd а   L е ybnis   i х tiyoriy   8   m а t е m а tik
m а s а l а ni   y е chishning   umumiy   а lg о ritmini   topishga   urinib  ko’rg а n.   А mm о   bung а
o’ х sh а sh   а lg о ritml а rni   ko’rishning   il о ji   bo’lm а g а n   v а   а st а -s е kin   buning   butunl а y
imk о ni   yo’q   d е g а n   х ul о s а g а   k е ling а n.   Shund а y   bo’lishig а   q а r а m а y,   а lg о ritm
tushunch а sining   aniq   t а vsifi   b е rilm а gung а   q а d а r,   m а s а l а ning   а lg о ritmik
y е chimsizligini   isb о tl а sh   mumkin   em а s   edi.   А lg о ritm   tushunch а si   jud а   q а dim
z а m о nl а rd а n   sh а kll а nib   k е lg а n.   Shung а   q а r а m а y,   а srimizning   yarmig а   qad а r
m а t е m а tikl а r   bu   о b’ е kt   h а qid а   ma’lum   bir   q а r а shl а rg а   q а n оа tl а nib   k е lg а nl а r.
А lg о ritm atamasi m а t е m а tikl а r t о m о nid а n f а q а t k о nkr е t m а s а l а l а rni y е chish bil а n
b о g’liq   h о ld а   о lin а r   edi.   XX   а sr   b о shid а   m а t е m а tik а   а s о sl а rid а   vujudg а   k е lg а n
q а r а m а q а rshilikl а r v а   mu а mm о l а r ul а rni h а l etishg а   q а r а tilg а n turli k о ns е psiyal а r
v а   о qiml а rning vujudg а   k е lishig а   о lib k е ldi. 20- yill а rg а   k е lib, eff е ktiv his о bl а sh
m а s а l а l а ri ko’nd а l а ng bo’ldi.  А lg о ritm tushunch а sining o’zi m а t е m а tik t а dqiq о tl а r
о b’ е kti bo’lib q о lg а nligi uchun aniq v а  q а t’iy t а ’rifg а  muhtoj edi. Bund а n t а shq а ri
kompyuter   а srini   yaqinl а shtiruvchi   fizik а   v а   t ех nik а ning   riv о jl а nishi   h а m   shuni
t а q о z о  et а r edi. Algoritmni mukammalroq tushunarli bo’lishi uchun o’quvchilarga
turli   hayotdan,   fandan   algoritmlarga   misollar   keltirish   va   bunga   o’zlari   tuzishga
harakat   qilishlarini   taklif   etish   mumkin.   Masalan,   taom   tayyorlash,   turli
qurilmalarni ishlatish, sport musobaqasi yoki yo’l harakati qoidalari algoritmlarini
keltirish   mumkin,   yoki   matematik   formula   bo’yicha   qiymat   hisoblash   algoritmi
yoki kompyuterni ishlatish bo’yicha algoritm kabi misollar keltirilishi mumkin.
Ikkinchi bosqichda fizik, mexanik kimyoviy va boshqa qonuniyatlar asosida
matematik   model   tuziladi.   U   asosan   algebraik,   differentsial,   integral,   integro-
differentsial   va   boshqa   turdagi   tenglamalardan   iborat   bo’ladi.   Ularni   tuzishda
o’rganilayotgan   jarayonga   ta‘sir   ko’rsatuvchi   omillarning   barchasini   bir   vaqtning
o’zida   hisobga   olib   bo’lmaydi,   chunki,   matematik   model   juda   murakkablashib
10 ketadi.   Shuning   uchun,   model   tuzishda   qaraliyotgan   jarayonga   eng   kuchli   ta‘sir
etuvchi asosiy omillargina hisobga olinadi.
Masalaning matematik modeli yaratilgandan so’ng, uni yechish usuli izlana
boshlanadi, ya‘ni, mos tenglamalar yechilishi va kerakli ko’rsatkichlar aniqlanishi
lozim. Ayrim hollarda masalaning qo’yilishidan keyin to’g’ridan-to’g’ri, masalani
yechish  usuliga ham  o’tish kerak bo’ladi.  Bunday masalalar  oshkor  ko’rinishdagi
matematik model   bilan ifodalanmasligi   mumkin. Bu  bosqich  masalalarni  EHMda
yechishning uchinchi bosqichini tashkil qiladi.
Navbatdagi   bosqichda,   ya‘ni,   to’rtinchi   bosqichda,   masalani   EHMdan
foydalanib   yechish   uchun   uning   yechish   algoritmi   ishlab   chiqiladi,   hamda   shu
algoritm   asosida   biror-bir   zamonaviy   algoritmik   tilda   EHMda   ishlatish   uchun
dastur  to’ziladi.   Dastur   ma‘lum   talablar  asosida   to’ziladi.  Masalan,   u umumiylik
xususiyatiga   ega   bo’lishi   keraq   ya‘ni,   matematik   modelda   ifodalangan   masala
parametrlarining yetarlicha katta sohada o’zgaruvchi qiymatlarida dastur ishonchli
natija   berishi   kerak.   U   bir   necha   mustaqil   qismlar   (protseduralar)   dan   iborat
bo’lishi mumkin.
Nihoyat  masalani   yechishning  yakunlovchi  beshinchi   bosqichida  yaratilgan
dastur EHMga kiritiladi va sozlanadi hamda olingan natijalar chuqur tahlil qilinib,
baholanadi.   Natijalarni   tahlil   qilish,   zarur   bo’lgan   hollarda   algoritmni,   yechish
usulini   va   modelni   aniqlashtirishga   yordam   beradi,   hattoki   masalani   noto’g’ri
qo’yilganligini ham baholab berishi mumkin.
SHunday qilib, biz masalalarni EHMlar yordamida yechish bosqichlari bilan
tanishib chiqdik. Shuni ta‘kidlash lozimki, har doim ham bu bosqichlar bir-biridan
yaqqol   ajralgan   holda   bo’lmasdan,   bir-biriga   qo’shilib   ketgan   bo’lishi   ham
mumkin.
A l g o r i t m n i   i f o d a l a s h   u s u l l a r i ,   u n i n g   x o s s a l a r i   v a   O ’ n g a
q o ’ y i l a d i g a n   t a l a b l a r
11 Masalani yechishning algoritmini turli usullar bilan ifodalash mumkin:
-  so’z bilan;
- blok-sxemalar shaklida;
- formulalar orqali;
- algoritmik tillar orqali va x.z.
Endi biror usulda tuzilgan algoritmning ayrim xossalari va algoritmga 
qo’yilgan ba‘zi bir talablarni ko’rib chiqaylik:
1. Algoritm har doim bir qiymatlidir, ya‘ni uni bir hil boshlang’ich qiymatlar
bilan ko’p marta qo’llash har doim bir hil natija beradi.
2. Algoritm birgina masalani yechish qoidasi bo’lib qolmay, balki turli-tuman
boshlang’ich shartlar asosida ma‘lum turdagi masalalar to’plamini yechish yo’lidir.
3. Algoritmni   qo’llash   natijasida   chekli   qadamdan   keyin   natijaga   erishamiz
yoki natijaga erishish mumkin emasligi haqidagi ma‘lumotga ega bo’lamiz.
Algoritm  - ma‘lum  bir tipga oid hamma masalalarni yechishda 
ishlatiladigan operatsion tizimning muayan tartibda bajarilishi haqida aniq 
qoidadir.
Algoritmning to‘g‘riligini qat'iy matematik isbotlash odatda juda qiyin ish 
bo‘lib, asosan tsikllar va rekursiv protseduralarning to‘g‘riligini isbotlash qiyin.
Shu bilan birga, ma'lum testlar to‘plamida algoritmlarning to‘g‘ri ishlashini 
namoyish qilish uning har doim to‘g‘ri ishlashini anglatmaydi, qoida tariqasida 
cheksiz (yoki deyarli cheksiz) juda ko‘p turli xil kombinatsiyalar mavjudligini 
esga olish kerak. kiritilgan ma'lumotlardan. Shuning uchun, algoritmga ba'zi bir
asoslar bilan birga borish kerak, bu hatto qat'iy isbot bo‘lmasa ham, 
algoritmning to‘g‘riligiga bizni to‘liq ishontiradi. Albatta, bu, masalan, uslubda 
mulohaza yuritmaslik kerak: algoritm barcha variantlardan o‘tadi, shuning 
uchun u to‘g‘ri"; chunki keyin savol tug‘iladi, qanday qilib algoritm haqiqatan 
ham barcha variantlardan o‘tishiga ishonch hosil qilish kerak.
12   Ehtimol,   algoritmni   oqlashning   eng   yaxshi   real   yondashuvi   §   3.2   da
tasvirlangan   bosqichma-bosqich   ishlab   chiqish   usulidan   foydalangan   holda   uni
"qurilishi   bo‘yicha"   asoslashdir.   To‘g‘ri   algoritmni   olish   uchun   bunday   qurilish
jarayonida uning bosqichlarini tafsilotlashning to‘g‘riligini kuzatish kerak. Ammo
bu allaqachon ancha sodda vazifadir: qoida tariqasida, qadamning tafsilotlari nima
qilish kerakligi ta'rifiga muvofiq amalga oshiriladi.
Ushbu   yondashuv   bilan   algoritmni   qurish   va   uni   asoslash   bir-biri   bilan
chambarchas   bog‘liq.   Shu   bilan   birga,   shuni   tushunish   kerakki,   agar   muammoni
tahlil  qilish  bosqichida  uni  hal  qilishda  noto‘g‘ri  yondashuv  tanlangan  bo‘lsa,  asl
spetsifikatsiyaning   keyingi   eng   aniq   tafsiloti   ham   endi   to‘g‘ri   algoritmni   olishga
imkon bermaydi.
Algoritm   va   dasturni   ishlab   chiqish   testlar   majmuasini   qurish   bilan
chambarchas bog‘liq bo‘lib, ular bo‘yicha dasturning ishlashi uni tuzatish paytida
tekshiriladi.   Dastur   va   testlar   majmuasini   birgalikda   ishlab   chiqishda   ushbu
to‘plamning   to‘liqligiga   erishish   osonroq   bo‘ladi,   ya'ni   dasturdagi   har   bir   o‘tish
to‘plamning testlaridan birida o‘tishi mumkin.
Darhol   shuni   ta'kidlaymizki,   test   nafaqat   dastur   uchun   kiritilgan
ma'lumotlarning   ma'lum   bir   to‘plami,   balki   dastur   ushbu   ma'lumotlar   bo‘yicha
ishlab chiqarishi kerak bo‘lgan barcha natijalarning aniq tavsifi bo‘lib, unda ushbu
natijalar chiqishda joylashgan bo‘lishi kerak. . Tabiiyki, "natija" tushunchasi uning
ishonchliligini   oshirish   uchun   dasturga   joylashtirilgan   bosma   operatorlar
tomonidan   chop   etilishi   kerak   bo‘lgan   xabarlarni   ham   o‘z   ichiga   oladi.   Ushbu
talabning   buzilishi   tanlangan   ma'lumotlar   bo‘yicha   dasturning   to‘g‘riligini
baholash   imkonsiz   bo‘lishiga   olib   keladi.   Misol   uchun,   agar   N   natural   sonining
birlamchilik   xususiyatlarini   tekshiradigan   dastur   haqida   gapiradigan   bo‘lsak
(quyidagi   misolga   qarang),   agar   oldindan   ma'lum   bo‘lmasa,   uni   N   =   1   234   567
uchun sinab ko‘rishning ma'nosi yo‘q. bu son tub yoki kompozitdir.
Odatda,   muammoni   shakllantirishdan   kelib   chiqadiki,   dastur   kamida   ikkita
testda sinovdan o‘tkazilishi kerak. Masalan, masalada har biri berilgan to‘plamdan
kamida uchta turli nuqtadan o‘tadigan, kamida uchta nuqta bo‘lgan doiralar sonini
13 hisoblash   talab   qilinsin.   Keyin,   test   sifatida,   aniq   bir   to‘g‘ri   chiziqda   yotadigan
nuqtalar   to‘plamini   (kerakli   doiralar   yo‘qligi   haqida   kutilgan   xabar   bilan)   va
barcha nuqtalar bitta to‘g‘ri chiziqda yotmaydigan to‘plamni olish kerak. Bu holda,
test javobni o‘z ichiga olishi kerak.
Bundan tashqari, muammoni hal  qilish algoritmida har doim tallanish sodir
bo‘lsa, testlar to‘plamini har bir shoxchadan o‘tish imkoniyatiga ega bo‘lish uchun
to‘ldirish   kerak.   Xuddi   shunday,   agar   davom   etish   shartiga   ega   bo‘lgan   sikl
operatori   uchrasa,   u   holda   test   majmuasida   tsikl   tanasi   hech   qachon
bajarilmaydigan   test,   shuningdek,   tsikl   tanasi   kamida   bir   marta   bajariladigan   test
bo‘lishi kerak.
 
14   Men ushbu kurs ishimda matematik masalalarni, qisqaroq aytadign bo’lsam
silindr   masalasini   vizuallashtirish   jaryonini   o’rganib   chiqdim.   Ya’ni   silindr
parametrlarlari berilganda uning hajmi, sirti, o’q kesimi vazifalarini ko’ib chiqdim.
Bu   uchun   avvalo   silindrga   oid   ma’lumotlarn   yig’dim.   Tegishli   ma’lumot
formulalarni o’rganganimdan so’ng, asosiy vazifa uni vizuallashtirish muammosini
hal   qilishga   harakat   qildim.   Bu   uchun   men   HTML,   CSS,   Java   script   dasturlash
tillaridan foydalandim. 
Dasturiy ta’minotning arxitekturasi.
15Boshqarish Moduli
Ma’lumotlar bazasi O’qitish
rejimi Mashq
rejimi Nazorat
rejimi
Foydalanuvchilar
ro’yxati Kiritish chiqarish
qurilmalari
Yo’riqnoma
Uslubiy
ko’rsatmalar
Baholash mezoniNazorat
qaydnomasi
Topshiriqlar
to’plami
Foydalanuvchilar
ma’lumot
varaqasi Dastur kodi:
Procedure Mul(Const A: TLong;Const  К : LongInt;Var
С : TLong);
Var i: Integer;{*Natija   -  C o’zgaruvchisi qiymati.*}
Begin
FillChar(C, SizeOf(C), 0);
If K=0 Then Inc(C[0]){*Nolga ko’paytirish*}
Else Begin
For i:=1 To A[0] Do Begin
C[i+1]:=(LongInt (A[i] )*K+C[i] ) DivOsn;
С [i]:=(LongInt(A[i])*K+C[i]) Mod Osn;
End;
If C[A[0]+1]>0 Then C[0]:=A[0]+1
Else  С [0]:=A[0];{*Natija uzunligini aniqlaymiz .*}
End;
End;
Ikki   sonni   ko’paytirish   prosedurasi,   mumkin   bo’lgan   variant   teksti
quyidagicha:
Procedure MulLong(Const  А , В : TLong; Var  С : TLong);
{*”Uzun soni “uzun” songa ko’paytirish    .*}
Var i, j : Word;
dv: Longlnt;
16 Begin
FillChar(Cr SizeOf(C), 0) ;
For i:=1 To A[0] Do
For j : = 1  То  B[0] Do Begin
dv:=LongInt (A[i])*B[j]+C[i+j-1];
Inc (C[i+j], dv Div Osn);
C[i+j-1] :=dv  Mod Osn;
End;
C[0] :=A[0]+B[0] ;
While (C[0]>1) And (C[C[0]]=0) Do Dec(C[0]);
End;
Ko’paytirish.   Ko’paytirish   qo’shish   va   ayirishga   qaraganda   yanada
murakkab   amaldek   tuyiladi.   Rimliklardek   rivojlangan   sivilizatsiya   rim   sonlar
binolarning   burchaklari   va   super   kublarda   yarmani   bajaradigan   bo’lsalar   ham,
ko’paytirish amali bilan muammoga ega bo’lgan. 
Rimliklar   muamosi   shu   bo’lganki   ular   hisoblash   sistemalarining   asosini
ishlatmaganlar. Albatta biz ko’paytirishni  ko’p martali  qo’shishdek  ko’rib chiqib,
masalani yechsak bo’ladi, lekin jarayon juda sekin bo’ladi.
999   999   ni   kvadratga   ko’tarish   milliongacha   operatsiyalarni   talab   qiladi,
lekin   buni   qo’l   bilan   qildanda   juda   oson,   bunda   ustma   ust   ko’paytirish   metodi
qo’llaniladi, biz uni maktablik davridan bilamiz.
multiply_bignum(bignum * а , bignum *b) 
{ 
bignum row; /*siljigan qator */ 
17 bignum tmp; /*soni to’ldirish */ 
int i/j; /*schotchiklar */ 
initialize_bignum(c); 
row = *a; 
for (i=0; i<=b->lastdigit; i++) { 
for (j=l; j<=b->digits[i]; 
add_bignum(c,&row,&tmp); 
*c = tmp; 
} 
digit_shift(&row,l); 
c->signbit = a->signbit * b->signbit; 
zero_justify(c); 
procedure mul(var nl. n2. n3 : number); 
var 
il. i2, i3. lenl. len2. carry : integer; 
begin 
lenl := len(nl): 
len2 := len(n2): 
setO(n3): 
for il := 1 to lenl do begin 
for i2 := 1 to len2 do begin 
carry := пГ[И] * n2[i2]: 
18 i3 := il + i2 - 1; 
while carry > 0 do begin 
carry := carry + n3[i3]; 
n3[i3] := carry mod 10; 
carry := carry div 10; 
inc(i3); 
end; 
end; 
end; 
end; 
Har bir razryadni bir biriga ko’paytiramiz va mos natija joyiga qo’shmiz. 
Uzun   sonlarni   ko’paytirishda   butkul   voz   kechib   faqatgina   qo’shishdan
foydalansak bo’ladi. 
nl   va   n2   sonlarni   ko’paytirish   talab   qilinsin.nlx   ko’rinishidagi   massivni
to’ldiramiz 
nlx : array [0..9. 1..2502] of byte; 
nlx[i] i ga ko’paytirilgan  nl  raqamni saqlaydi. Uni  nlx[0]=0, 
nlx[i]=nlx[i-1]+ nl  formula bo’yicha topish mumkin. 
Ikkita uzun sonni ko’paytmasi endi   nlx[n2[i]]   yig’indisida yotadi. O’nliklar
darajasida ko’paytirish, sonni mos razryadga siljitish orqali qilinadi. 
Algoritmlarni solishtirish. 
3 variatning afzalligi tezligi. U 1 variantdan 1,5 marta tezroq ishlaydi. 
19 3   variant   qanchiligi   10   lik   sanoq   sistemasidan   tashqari   boshqa   10N(N=
2,4,9)  hisoblash sistemalarda olib borish imkoniyatining yo’qligi, ayni avqda esa, 1
–   variant   bemallol   bu   sanoq   sistelarga   o’ta   oladi   va   bazilarida   0,5   o’nlik     matra
tezlik oshilishini ko’tish mumkin.
Qisqa songa ko’paytirish. 
procedure mulShort(var n : number; short : integer); 
var 
i, carry : integer; 
begin 
carry : = 0; 
for i : = 1 to numlen do begin 
carry := carry + n[i] * short; 
n[i] := carry mod 10; 
carry := carry div 10; 
end; 
if carry <> 0 then {to’lilib qolish diagnostikasi 
halt(l); 
end; 
Uzun sonlarni ko’paytirish. 
procedure mul(nl. n2 : number; var n3 : number): 
var 
il. i2. i3. lenl. len2. саггу : integer; 
begin 
20 setO(n3); 
lenl := len(nl); 
len2 := len(n2); 
for il := 1 to lenl do 
for i2 := 1 to len2 do begin 
i3 := il + i2 - 1; 
саггу := nl[il] * n2[i2]; 
while саггу > 0 do begin 
саггу := саггу + n3[i3]: 
n3[i3] := саггу mod 10; 
саггу := саггу div 10; 
inc(i3); 
end; 
end; 
end; 
Prosedurani   ko’rsatish   vaqti   keldi.   Ishlatilayotgan   “blokchlar”:   siljishni
inobatga   olgan   holda   solishtirish   funksiyasi   ( More )   va   uzun   sonni   qisqasiga
ko’paytish ( Mul ) funksiyasi yuqorida keltirilgan.
Function   FindBin(Var   Ost   :   Tlong;   Const   В   :   TLong;   Const   sp   :   Integer)   :
Longint;
Var Down, Up : Word; C : TLong;
Begin
Down := 0;Up := 0sn;
{sanoq sistemasi asosi           }
While Up - l > Down Do
21 Begin
{O’qituvchiga   bilib   turib   xato   qilish       imkoniyati   mavjud.sikl
natijasini   Up>Down   ga   o’zgartirish.Natija-   dasturnigbir   ishni
bajarib takrorlashi. }
Mul( В , (Up + Down) Div 2,  С );
Case More(Ost, C, sp) Of
0: Down := (Down + Up) Div 2;
1: Up := (Up + Down) Div 2;
2: Begin Up := (Up + Down) Div 2; Down := Up End;
End;
End;
Mul(B, (Up + Down) Div 2, C);
If More (Ost, C, 0) = 0 Then Sub(Ost, C, sp)
{bo’linmadan qoldiqni aniqlash}
Else begin Sub (C, Ost, sp); Ost := C end;
FindBin := (Up + Down) Div 2;
{ xususiyning butun qismi}
End;
1. Procedure TForm1.FormCreate   – loyihaning bosh oynasini hosil qilish;
2. Procedure TForm1.Edit1KeyPress   и   Procedure TForm1.Edit2KeyPress   –
Edit1  va  Edit2 maydonlarida foydalanuvchilar tomonidan kiritil ma’lumotlarni 
tahlil qiladi ;
3. Procedure TForm1.Button1Click  – hisoblash amalini bajaradi;
4. Procedure TForm1.Button2Click  – kirish maydonini tozalaydi;
5. Procedure TForm1.Button3Click  – dasturdan chiqishni nazorat qiladi;
6.   Procedure TForm1.ComboBox1Change   – bajariladigan arifmetik amalni 
tanlash imkonini yaratadi; 
7. Procedure StrToNLong(AA:string; var A: NLong)  – satrlarni sonli massivga 
o’tkazadi;
22 8. Procedure NLongToStr(A: NLong; var AA:string)  –sonli massivni satrlarga 
o’tkazadi;
9. Procedure SumLongTwo(A, B : Nlong; Var C : Nlong)  – qo’shish amalini 
bajaradi;
10. Procedure Sub (Var A : NLong; Const B : NLong; Const sp : Integer)  – 
ayrish amalini bajaradi;;
11. Procedure Mul(Const A: NLong; Const k: LongInt; Var C: NLong)  – katta 
miqdorni kichik miqdorga ko’paytirish amalini bajaradi;
12. Function More(Const A, B : NLong; Const sdvig : Integer) : Byte  – 
сравнение   длинных   чисел ;
13. Function FindBin(Var Ost : NLong; Const B: NLong; Const sp : Integer) : 
Longint  – bo’linmani aniqlaydi;
14. Procedure MakeDel(Const A, B : NLong; Var Res, Ost : NLong)  –A>=B 
munosabat bajariladigan bo’lish   amalini bajaradi; ;
15. Procedure Long_Div_Long(Const A, B : NLong; Var Res, Ost : NLong)  –
qoldiqli bo’lish amalini bajaradi;;
16. unit  Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
Forms,
  Dialogs, StdCtrls;
type
  TForm1 =  class (TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
23     Label3: TLabel;
    GroupBox1: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
     procedure  Button1Click(Sender: TObject);
     procedure  Button2Click(Sender: TObject);
     procedure  Button3Click(Sender: TObject);
     procedure  Button4Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end ;
Const  NMax =  2000 ;
Type  Digit =  0. . 9 ; DlChislo =  Array [ 1. .Nmax]  Of  Digit;
var
  Form1: TForm1;
  S :  String ;
  M, N, R, F : DlChislo;
  I, MaxF : Word;
  Logic : Boolean;
implementation
uses  Unit2, Unit3;
{$R *.dfm}
{uzun sonni nolga yalantirish protsedurasi, massivni bo'shatish.}
Procedure  Zero( Var  A : DlChislo);
24 Var  I : Integer;
   Begin
     For  I :=  1   To  NMax  Do  A[I] :=  0 ;
   End ;
{uzun sonni yozishda uning raqamlar sonini aniqlaydigan funksiya}
Function  Dlina(C : DlChislo) : Integer;
Var  I : Integer;
  Begin
   I := NMax;
    While  (I >  1 )  And  (C[I] =  0 )  Do  I := I -  1 ;
   Dlina := I
  End ;
17.
18. {Uzun soni chop etish protsedurasi}
Procedure  Print(A : DlChislo);
Var  I : Integer;
  Begin
     For  I := Dlina(A)  DownTo   1   Do   Write (A[I] :  1 );
    WriteLn
  End ;
{Uzun sonni massivga aylantiruvchi protsedura}
Procedure  Translate(S :  String ;  Var  A : DlChislo;  Var  OK : Boolean);
Var  I : Word;
  Begin
   Zero(A); I := Length(S); OK := True;
    While  (I >=  1 )  And  OK  Do
25     Begin
       If  S[I]  In  [ '0' .. '9' ]
       Then  A[Length(S) - I+  1 ] := Ord(S[I]) -  48
       Else  OK := False;
      I := I -  1
    End
  End ;
Procedure  Multiplication(A, B : DlChislo;  Var  C : DlChislo);
Var  I, J : Integer; P : Digit; VspRez :  0. . 99 ;
  Begin
  Zero(C);
   For  I :=  1   To  Dlina(A)  Do
   Begin  P :=  0 ;
         For  J :=  1   To  Dlina(B)  Do
         Begin
          VspRez := A[I] * B[J] + P + C[I + J -  1 ];
      C[I + J -  1 ] := VspRez  Mod   10 ;
      P := VspRez  Div   10
     End ;
        C[I + J] := P
    End
  End ;
19. procedure  TForm1.Button1Click(Sender: TObject);
var
s1: string ;
begin
if  RadioButton1.Checked  then
  begin {Radiobutton1}
26      S:=Memo1.Text;
     Translate(S, M, Logic);
     S:=Memo2.Text;
     Translate(S, N, Logic);
    Multiplication(M, N, R);
     For  I := Dlina(R)  DownTo   1   Do
     s1:=s1+IntToStr(r[i]);
    Form1.memo3.lines.add(s1);
   end ; {Radiobutton1}
if  RadioButton2.Checked  then
  begin {Radiobutton2}
     S:=Memo1.Text;       Translate(S, M, Logic);
     S:=Memo2.Text;       Translate(S, N, Logic);
    Multiplication(M, N, R);
     For  I := Dlina(R)  DownTo   1   Do
     s1:=s1+IntToStr(r[i]);
    Form1.memo3.lines.add(s1);
   end ; {Radiobutton2}
if  RadioButton3.Checked  then
  begin {Radiobutton3}
  Form2.Show;
  Form1.Hide;
  Form2.Memo1.Text:=Memo1.Text;
  Form2.Memo2.Text:=Memo2.Text;
  end {Radiobutton3}
end ;
procedure  TForm1.Button2Click(Sender: TObject);
begin
Close();
27 end ;
procedure  TForm1.Button3Click(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
Memo3.Clear;
end ;
procedure  TForm1.Button4Click(Sender: TObject);
begin
 Form3.Show;
 Form1.Hide;
end ;
end .
20. unit  Unit2;
interface
uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, XPMan, Menus, jpeg, ComCtrls;
type
  TForm2 =  class (TForm)
    Button1: TButton;
    ScrollBox1: TScrollBox;
    Button2: TButton;
    Label3: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Memo1: TMemo;
28     Memo2: TMemo;
    Memo3: TMemo;
    Label9: TLabel;
    Button3: TButton;
    Button4: TButton;
    Image1: TImage;
     procedure  Button1Click(Sender: TObject);
     procedure  FormCreate(Sender: TObject);
     procedure  Edit1KeyPress(Sender: TObject;  var  Key: Char);
     procedure  Button2Click(Sender: TObject);
     procedure  Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
     procedure  Button3Click(Sender: TObject);
     procedure  Button4Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end ;
var
  Form2: TForm2;
  tu,tr : longint;
  sb2,tu2,res:  String ;
implementation
uses  Unit1;
{$R *.dfm}
label   1 ;
29 21. function  x(a:longint):longint;
begin
 x:= 10 *a;
end ;
22. function  y(a:longint):longint;
begin
 y:= 20 *(a- 1 )+ 5 ;
end ;
  { Vertikal chiziq}
  procedure  lineV(a,b:longint);
  begin
   with  form2.Image1.Canvas  do
  begin
  Pen.Color := clBlack;
  Pen.Width   :=  2 ;
  moveto(x(a)- 5 ,y(b));
  lineto(x(a)- 5 ,y(b+ 1 )+ 2 );
  end ;
  end ;
23. {Gorizantal chiziq}
  procedure  lineH(a,b:longint);
  begin
  with  form2.Image1.Canvas  do
  begin
 Pen.Color := clBlack;
 Pen.Width   :=  2 ;
  moveto(x(a)- 5 ,y(b)+ 2 );
30   lineto(x(a)+ 10 ,y(b)+ 2 );
  end ;
  end ;
24. {Gorizantal chiziq}
  procedure  lineH1(a,b:longint);
  begin
  with  form2.Image1.Canvas  do
  begin
 Pen.Color := clBlack;
 Pen.Width   :=  2 ;
  moveto(x(a)- 5 ,y(b)+ 10 );
  lineto(x(a)+ 10 ,y(b)+ 10 );
  end ;
  end ;
 Natijalar:
Dasturning umumiy visual ko’rinishi:
Aylana masalasi yechimlari: 
31  
To’g’ri to’rtburchak masalasi yechimlari:
32 Uchburchak yuzini hisoblash:
Trapetsiya yuzini hisoblash:  
Bundan tashqari dasturda quyidaglar mavjud:
Uch o’lchovli fazo jismlari masalalarini yechish
Koordinatalar sistemasi va vektorlar masalalari yechimlari
33 To’g’ri burchakli uchburchak masalalari
Trigonometriya funksiyalari va qiymatlari masalalari
34 Xulosa
Hozirgi kunda texnologiyalar juda tez rivojlanb bormoqda. Shu jumladan dasturiy
ta’minotlar   ham   jadallik   bilan   Odinga   qadam   qo’ymoqda.   Shunday   zamonda   biz
o’zimiz va o’quvchilarmiz uchun tasavvur qlish qiyinroq yoki qiziqroq masalalarni
ularga   nafaqat   matematik   formula   yoki   qoidalar   yordamida   balki   ularni   visual
ko’rinishda taqdim etsak, ham ularning qiziqishi oshadi matematika nisbatan, ham
dasturlshga   nisbatan   qiziqishi   oshadi.   Ular   o’zlar   uchun   tasavvur   qilish   qiyin
masalalarni   visual   dasturlar   yordamida   yechishga   harkat   qiladi   bu   esa   ularni
mavzularni mustahkam o’rganishga va vaqtdan unumli foydalanishga olib keladi.
Men   ham   ushbu   kurs   ishini   bajarish   davomida   oddiy   masalalrni
vizuallashtirish   ancha   murakkab   ish   ekanligiga   amin   bo’ldim,   chunki
vizuallashtirish   shunchaki   kod   yozish   emas,   balki   katta   jarayon   ekan.   Bu   yerda
masalaning   qo’yilishi,   masalaga   mos   matematik   model   tanlanishi,   masalani
bajarish   algoritm   ketma-ketligini   to’gri   tuzilishi   murakkab   jarayon   ekan.   Va   bu
jarayonlardan   keyin   ham   muammo   to’liq   hal   bo’lmaydie   ekan.   Endi   algoritmga
mos   dasturiy   ta’minotni   tuzishimiz   ir   nechta   dasturlarni   bir-biriga   bog’lashimiz
kerak   ekan.   Men   bu   dasturni   yozishd   HTML,   CSS,   C++   BUILDER   ni   bir-biriga
bog’lashni   o’rgndim.   Oxirgi   qilladigan   ishimiz   esa   natijlarni   tekshirish   va
munazam nazorat qilish bo’ldi. 
  Dastur   natijalarimizni   o’quvchilarimizga   taqdim   qilganimda   ularda   fanga
nisbatan   qiziqish   anha   ortdi,   emg   muhimi   ularning   e’tibori   kuchaydi.
Vizuallshtirish   asosiy   foydasi   haam   shunda   ya’ni   masalaning   yechim   qismini
foydalanuvchiga   qulay   qilib   ko’rsatish.   Foydalanuvchi   esa   dastur   natijasidan
ko’proq   foyda   olish   va   tushunishga   oson     bo’lganidan   mamnun   bo’lishi
dasturchining haqiqiy yutug’I deb bilaman.  
Bunday masalalarni vizuallashtirish jarayoni mn uchun katta tajribalar berdi.
Va shuni bildimki oldimizda hali shunga o’xshash juda ko’p elementar matematika
masalalarini   vizuallashtirishni   hal   qilish   masalasi   turibdi.   Eng   muhimi   bu
35 ko’nikmlar   kelajakda   biz   qilmoqhi   bo’lgan   ilmiy   ishlarda   katta   ahamiyatga   ega
bo’ladi.
Foydalanilgan adabiyotlar.
1. Алгоритмы: построение и анализ / Т. Кормен, Ч.   Лейзерсон, Р. Ривест -
М.: МЦНМО, 2002.  М.: МЦНМО, 2002.
2. Иванов В.Л. Электронный учебник: системы контроля знаний. : 
Информатика и образование. - М., 2002. - 375 с.
3. Беспалько В.П. Образование и обучение с участием компьютеров / В.П.
Беспалько. - М. : Бином, 2005. - 349 с.
4. Роберт И.В. Современные информационные технологии в образовании.
- М.:Школа-Пресс, 2005. - 367 с.
5. Гаврилов   А.В.   Системы   искусственного   интеллекта.   Ч.1.   -   Учебное
пособие, Новосибирск: НГТУ, 2020.
6. Bjarne   Stroustrup   C++   Programming   Language     (4 th
  Editon)   ISBN   978-
0321563842 May 2013
7. Ulla Kirch-Prinz A Complete Guidee to Programming in C++ October 2016
8. Herb Schildt  The Complete Reference Borland C++ Builder
36

Mavzu: Matematik masalalarni vizuallashtirish. Silindr masalasi . Reja: I. Kirish. I.1. Axborot texnologiyalarning ta’limdagi o’rni. I.2. Vizullashtirish istiqbollari. II. Nazariy qism. II.1. Matematik masalalarni dasturlsh tillari yordamida yechish bosqichlari. II.2. Matematik masalalarni vizuallashtirish. II.3. Geometrik masalalar va ularning yechimlari. III. Amaliy qism. IV. Xulosa. V. Foydalanilgan adabiyotlar. 1

Kirish Bugungi kunda mamlakatimizda ta’lim tizimini isloh qilish, uning mazmunini yangilash, o’qituvchining kasbiy bilim va tayyorgarligini oshirish, o’quvchilarning shaxsiy tajribalarini boyitish, ularni ijtimoiy hayotga tayyorlash sohasida keng ko’lamli izlanishlar amalga oshirilmoqda. Ushbu sohadagi kamchiliklarni bartaraf etish yo’llari izlanmoqda. Bularning barchasi zamonaviy maktab ta’limining umumiy yo’nalishini belgilash, dunyo miqyosida uning rivojlanishiga ta’sir ko’rsatadigan omillarga keng yo’l ochish imkonini beradi. Buning uchun, avvalo, uzliksiz ta’lim tizimining barcha shakldagi ta’lim muassalarida ta’lim jarayoni sifatida ta’minlovchi ilg‘or ilmiy-metodik jihatdan asoslangan zamonaviy o’qitish texnologiyalarni amalda oshirish lozim. Insoniyat tarixining ko‘p asrlik tajribasi ezgu go‘yalardan va sog‘lom mafkura hamda zamonaviy bilimlardan maxrum har qanday jamiyat uzoqqa bora olmasligini ko‘rsatdi. Shuning uchun, mustaqillikka erishgan mamlakatimiz o‘z oldiga ozod va obod vatan, demokratik jamiyat barpo qilish, erkin va farovon hayot qurish, rivojlangan mamlakatlar qatoridan o‘rin olish kabi muhim vazifalarni qo‘ydi. Bu vazifalarni hal qilish asosan yosh avlod zimmasiga tushadi. Demak, yoshlardan zamonaviy komputerlar bilan ishlashni o‘rganish, xalq xo‘jaliginining turli masalalarini yechishga mo‘ljallangan dasturiy ta’minot bilan tanishish hamda dasturlash vositalari yordamida hali komputerda yechilmagan masalalar uchun yangi dasturlar yaratishni talab qilinadi. Darvoqi, har bir jamiyatning bugungi kuni va kelajagi uning ajralmas qismi va hayotiy zarurati bo‘lgan ta’lim tizimining qay darajada rivojlanganligi bilan belgilanadi. Bugungi kunda mustaqil taraqqiyot yo‘lidan borayotgan mamlakatimizning uzluksiz ta’lim tizimini isloh qilish va takomillashtirish, yangi sifat bosqichiga ko‘tarish, unga ilg‘or pedagogik va axborot texnologiyalarini joriy qilish hamda samaradorligini oshirish davlat siyosati darajasiga ko‘tarildi. “Ta’lim to‘g‘risida”gi qonun va “Kadrlar tayyorlash milliy dasturi”ning qabul qilinishi bilan uzluksiz ta’lim tizimi orqali zamonaviy kadrlar tayyorlashning 2

asosi yaratildi. Oliy o’quv yurtlarida talabalarni mustaqil bilim olish faoliyatini tashkil etishga, bilimlarni mustaqil egallashga va ularni amaliyotda 4 qo’llash malakalarini shakllantirishga qaratish o’qitishning metodlari, texnologiyalarini shunday tanlash lozimligini ko’rsatdiki, ular talabalarga nafaqat tayyor bilimlarni o’zlashtirishlarida, balki bilimlarni turli manbalardan mustaqil egallashlari, o’zlarida shaxsiy nuqtai nazarning shakllanishi, uni asoslashi va erishilgan bilimlarni yangi bilimlar olishlarida foydalanish malakalariga ega bo’lishlarini taqoza etadi. Bunday ulkan vazifani muvaffaqiyatli amalga oshirishda o’qituvchi va talabalarga davlat tilida kerakli o’quv adabiyotlarini yetkazish alohida ahamiyatga ega. Ushbu kurs ish dasturlash tillari asosida matematik masalalarni yechish bo’yicha matematika va mexanika ta’lim yo’nalishlarida bilim olayotgan o’quvchilar uchun mo’ljallangan bo’lib, uning asosiy maqsadi algoritmlash va dasturlash tillari asosida matematik masalalarni yechish imkoniyatlaridan xabardor qilib, kompyuter bilan muloqot o’rnatish usullarini o’rgatish va unda turli masalalarni yecha olish bilim va malakalarini shakllantirishdan iboratdir. Ko'pgina tadqiqotlar shuni ko'rsatadiki, vizual tizimda yangi tasvirning tug'ilishini ta'minlaydigan mexanizmlar mavjud. Ularning yordami bilan, inson dunyoni nafaqat mavjudligini, balki mavjud bo'lgan (yoki bo'lishi mumkin) holatida ham ko'rishga qodir. Bu shuni anglatadiki, vizual tasvirlar zaruriy shart, hatto undan ham ko'proq - aqliy faoliyat vositasi. Ular ramzlar va nutq bilan, odamni o'rab turgan ob'ektiv haqiqat bilan taqqoslaganda to'g'ridan-to'g'ri bog'liqdir. Tasvir nafaqat tafakkur, balki haqiqatning dam olishidir. U, bu haqiqat, ob'ekt haqiqatan ham mavjud bo'lgan shaklda (yoki unga yaqin) yaratilishi mumkin. Ammo ob'ektni, vaziyatni yo'q qilish va uning yangi versiyasi yoki variantlarini qayta tiklash ham mumkin. Haqiqat bilan taqqoslaganda o'zgartirilgan ushbu obraz asosida inson yana ob'ektiv haqiqatga murojaat qiladi va uni o'zida qayta tiklaydi amaliy faoliyat ... uning obrazli vakili, tasavvur va tafakkurini rivojlantirmasdan ijodiy fikrlaydigan mutaxassisni tayyorlash mumkin emas. 3

Ushbu masalada sezilarli foyda proektsion sxemalarning universal apparati tomonidan ta'minlanadi. Mekansal tasavvurlarni shakllantirish uchun ishlatiladigan eng muhim proektsion modellashtirish vositalaridan biri bu geometrik talqin. Tafsir ob'ekti - bu chizmalar, diagrammalar, matnlar, diagrammalar va boshqalar kombinatsiyasi ko'rinishidagi grafik modellar, grafik modellar ma'lumotlarning grafik taqdimoti vositalari to'plami ko'rinishida: grafik modellarni tuzish qoidalariga muvofiq foydalaniladigan chiziqlar, belgilar, mnemonik belgilar. Axborotni ushbu shaklda idrok etishda, matnni idrok etishdan kattaroq o'lchovli ish maydonini kiritish kerak. Axborot ob'ektini uning modeli bilan taqqoslaganda aniqlik darajasi simulyatsiya paytida sodir bo'lgan proektsiyalash apparati haqidagi ma'lumotlarning to'liqligiga bog'liq. grafik modellarning mumkin bo'lgan tasniflaridan biri ko'rsatilgan. Piktografik model - ob'ektlar, harakatlar yoki hodisalarni aks ettiruvchi shartli grafik tasvirlar (piktogrammalar) yordamida tuzilgan grafik model. Ideografik model - ideogrammalar yordamida tuzilgan grafik model - tushunchalarni bildiruvchi an'anaviy yozma belgilar. 4

Matematik masalalarni dasturlsh tillari yordamida yechish bosqichlari Har qanday masalani kompyuterga tayyorlash va uni o’tkazish quyidagi bosqichlarda amalga oshiriladi. 1. Masalani qo’yilishini aniqlash va matematik modelini ishlab chiqish. 2. Masalani yechishning sonli usulini tanlash. 3. Masalani yechish algoritmini ishlab chiqish. 4. Kompyuter uchun dastur tuzish. 5. Dasturni kompyuter xotirasiga kiritish, rostlash va tekshirish. 6. Hisoblash natijalarini qayta ishlash va tahlil qilish. 1. Masalaning qo’yilishini aniqlash va matematik modelini ishlab chiqish. Masalani yechishdan oldin uning qo’yilshi oydinlashtiriladi, ya’ni bunda uning maqsadi va yechilish shartlari aniqlanadi, boshlang’ich ma’lumotlar va natijalarning tarkibi asoslanadi. Bu ma’lumotlar asosida u matematik formulalar ko’rinishida ifoda qilinadi. 2. Masalani yechishning sonli usulini tanlash. Qo’yilgan matematik masalalar uchun ularning sonli yechish usulini tanlash kerak bo’ladi. Sonli usullar turli- tuman bo’lganligidan ularning eng samarali va qulayini tanlash kerak. Bu masala bilan matematikaning sonli usullar bo’limi shug’ullanadi. Yechish usulini tanlash masalaga qo’yilgan barcha talablarni va uni konkret kompyuterlarda hal qilish imkoniyatlarini hisobga olish kerak. 3. Masalani yechish algoritmini ishlab chiqish. Masalani yechish uchun tanlangan sonli usulning algoritmi ishlab chiqiladi, ya’ni masalani yechish uchun bajariladigan arifmetik va mantiqiy amallar ketma-ketligi yoritiladi. Masalani yechish algoritmlari ko’rgazmaliroq bo’lishi uchun, ular ko’p hollarda blok- sxema ko’rinishida ifodalanadi. 5