• 3.2. Transport masalasida tayanch rejani topish usullari bo’yicha dasturiy ta’minot.
  • III-bob bo’yicha xulosa qilib aytganda
  • Xulosa qilib shuni aytish mumkinki




    Download 374.74 Kb.
    bet16/17
    Sana12.05.2023
    Hajmi374.74 Kb.
    #58904
    1   ...   9   10   11   12   13   14   15   16   17
    Bog'liq
    dissertatsiya ISMATOVA
    ШМВ Презентация Microsoft PowerPoint -, 566, 2-Mustaqil ish, 1. Passiv optik texnologiyalarining xususiyatlari. A, Mustaqil ish-2 (Sirtqi), илова
    Xulosa qilib shuni aytish mumkinki, O’qituvchi matn fayllarida turli xil qiyinchiliklarda beshta yoki ko’p bo’lmagan savol javoblarni tayyorlab qo’yishi mumkin. So’ralayotgan talabaning salohiyatiga qarab u yoki bu faylni chaqirib, savollarga javob qaytarishini qo’rashi mumkin. Bunday savol-javoblar ma’ruza oxirida, amaliy mashg’ulotlarda amalga oshirilishi mumkin. Bunda talaba tomonidan o’tilgan mavzuning qay darajada o’zlashtirilganini bilib olinsa, yana bir tomondan shu mavzuni yanada chuqurroq o’zlashtirib olinishiga zamin yaratiladi.
    Hozirgi kunda ta’lim jarayonida interfaol uslublar ( innovatsion pedagogik va axborot texnologiyalardan foydalanib), ta’limning samaradorligni ko’tarishga bo’lgan qiziqish, e’tibor kundan- kunga kuchayib bormoqda. Zamonaviy texnologiyalar qo’llanilganda pedagoglar egallayotgan bilimlarni o’zlari qidirib topishlariga, mustaqil o’rganib, tahlil qilishlariga, hatto xulosalarni ham o’zlari keltirib chiqarishlariga qaratilgan. Pedagog bu jarayonda shaxs va jamoaning rivojlanishi, shakllanishi, bilim olishi va tarbiyalanishiga sharoit yaratadi. Shu bilan bir qatorda boshqaruvchilik, yo’naltiruvchi vazifasini bajaradi. Bunday o’quv jarayonida pedagog asosiy figuraga aylanadi.


    3.2. Transport masalasida tayanch rejani topish usullari bo’yicha dasturiy ta’minot.

    Oldingi paragraflarda biz transport masalasining matematik modeli ko’rinishlari, transport masalasida tayanch rejani topish usullarini, dasturlash tillari va muhitlarini ko’rib chiqdik. Endi shu tayanch rejani topish usullarini dasturlash muhitida hosil qilishni ko’ramiz.


    Avvalambor transport masalasi kattaliklarini jadvalda joylashtirish usulini ko’raylik(2.1.2-jadval). Ushbu jadvalda bitta katakda ikkita qiymat, bir birlik mahsulotni chi ombordan chi buyurtmachiga olib borish xarajati va chi ombordan chi buyurtmachiga olib boriladigan mahsulot soni joylashtirilgan. Agar biz bu jadvalni matrisa ko’rinishida, masalan Delphi yordamidagi StringGrid komponentasi yordamida joylashtiradigan bo’lsak, bitta katakda ikkita qiymatni qo’ya bilmaymiz, shuning uchun boshqacha yo’l tutamiz. Grafik ekranda chiziqlar yordamida matrisa hosil qilamiz, bunda ularning koordinatalarini hisobga olib qo’yamiz.
    Chiziqlar yordamida matrisani hosil qilish uchun aniq etkazib beruvchi buyurtmachi sonini aniqlab olamiz, masalan, etkazib beruvchilar soni 5 ta, buyurtmachilar soni esa 4 ta bo’lsin.
    Gorizontal va vertikal chiziqlarni quyidagi operatorlar orqali hosil qilamiz:
    for(int i=1; i<7; i++){ // gorizontal chiziqlarni chizish
    Form1->Canvas->MoveTo(10,(10+i*90));
    Form1->Canvas->LineTo(880,(10+i*90));
    }
    for (int i=1; i<8; i++){ // vertikal chiziqlarni chizish
    Form1->Canvas->MoveTo(40+i*120,100);
    Form1->Canvas->LineTo(40+i*120,600);
    }
    Ushbu dastur kodidan ko’rinib turibdiki, gorizontal chiziqlar soni 6 ta, vertical chiziqlar soni 7 ta, ya’ni matrisa satrlari soni 5 ta, ustunlari soni esa 6 ta.
    Matrisaning birinchi satrida “do’konlar” so’zi va do’konlarning shartli nomlari qo’yiladi, matrisaning birinchi ustunida esa “Omborlar” so’zi va ana shu omborlarning shartli nomlari qo’yiladi.
    Matrisaning qolgan kataklarining yuqori chap burchagida hozircha bir birlik mahsulotni chi ombordan chi buyurtmachiga olib borish xarajati larni joylashtiramiz(3.2.1-chizma).
    Shuningdek, matrisa kataklarida do’konlar ehtiyojlari qiymatlari va omborlar zahiralari qiymatlarini joylashtiramiz. Bu qiymatlarni ham grafik ekranda joylashtirish uchun edit komponentasidan foydalanamiz. So’ng bu qiymatlardan foydalanish uchun kerakli massivlarga o’zlashtirib olamiz. Bu operatorlar quyidagicha yoziladi:



    3.2.1-chizma. Matrisa kataklarini dastlabki to’ldirish.
    // DO'KONLAR EHTIYOJLARI
    B[1]=StrToFloat(Edit1->Text); B[2]=StrToFloat(Edit2->Text);
    B[3]=StrToFloat(Edit3->Text); B[4]=StrToFloat(Edit4->Text);
    B[5]=StrToFloat(Edit5->Text);
    // OMBORLARDAGI ZAHIRA
    A[1]=StrToFloat(Edit6->Text); A[2]=StrToFloat(Edit7->Text);
    A[3]=StrToFloat(Edit8->Text); A[4]=StrToFloat(Edit9->Text);
    Transport xarajatlarini o’zgarmas sifatida o’zlashtirib olish mumkin, chunki ular metod uchun algoritmda katta ahamiyatga ega emas.
    C[1][1]=2; C[1][2]=5; C[1][3]=3; C[1][4]=4; C[1][5]=1; //qator 1
    C[2][1]=8; C[2][2]=3; C[2][3]=7; C[2][4]=2; C[2][5]=6; //qator 2
    C[3][1]=4; C[3][2]=2; C[3][3]=5; C[3][4]=7; C[3][5]=3; //qator 3
    C[4][1]=5; C[4][2]=4; C[4][3]=2; C[4][4]=3; C[4][5]=2; //qator 4
    Ushbu kattaliklarni jadvalga kiritib olish ham mumkin:
    for(int J=1; J<=4; J++){
    for(I=1; I<=5; I++){
    S=FloatToStr(C[J][I]);
    Form1->Canvas->TextOutA(60+I*120,g,S);
    Endi eng kichik elementlar usuli bo’yicha dastur ta’minotiga o’tamiz. Bunda endi avval eng kichik xarajat joylashgan matrisa katagi topiladi, song shu katak joylashgan satr va ustundagi kichik ehtiyoj yoki kichik zahira qiymati shu katakka joylashtiriladi. Agar ehtiyoj qiymati joylashtirilsa, shu katak joylashgan ustunnig boshqa kataklari “-“ bilan to’ldiriladi va ular endi keying hisoblashlarda ishtirok etmaydi. Agar katakka zahira qiymati joylashtirilsa, shu katak turgan satr kataklari “-“ bilan to’ldiriladi va ular keyingi hisoblashlarda ishtirok etmaydi. Matrisa eng kichik elementini topish va uni aniqlab olish dastur qismi quyidagicha:
    P=1000; I1=1; J1=1; // FIKTIV P KIRITAMIZ
    //P=C[1,1];I1=1;J1=1;
    for (I = 1; I <= N; I++) {
    for (J = 1; J <= M; J++) {
    if((Z[I][J]=0) && (C[I][J]
    P=C[I][J];
    I1=I;
    J1=J; }
    Bu yerda qo’shimcha Z[I,J] matrisasi ham qatnashyapti va uning qiymati 0 soni bilan solishtirilyapti. Bu shuning uchunki, to’ldirilgan kataklar uchun keyinchalik Z[I,J] ga 1 qiymat berib qo’yiladi, bu degani endi bu katak to’ldirilga, u endi keying hisoblashlarda ishtirok etmaydi.
    Shimoliy-g’arbiy usulda ko’rgan misolimizni endi eng kichik elementlar usuli bilan hisoblaymiz. Birinchi eng kichik xarajatni topib kerakli kataklarni to’ldirilgan ekran ko’rinishi quyidagicha(2.3.5-chizma):
    Chizmadan ko’rinib turibdiki, matrisadagi xarajat elementlarining eng kichigi 1 soni ekan va u 1-chi satr va 5-chi ustun kesishgan katakda joylashgan. Ehtiyoj va zahira qiymatlari 100 va 140, demak ularning kichigi 100 va u katakka joylashtirilgan va qolgan ustunlar “-“ belgisi bilan to’ldirilgan.



    2.3.5-chizma. Matrisada birinchi kichik element topilgan hol.
    Endi ikkinchi aylanishga o’tamiz va matrisa xarajatlari orasida keyingi eng kichik elementni topamiz.
    S=FloatToStr(P);S1=IntToStr(I1);S2=IntToStr(J1); // SATRGA O'TKAZISH
    //TEXTOUT(900,500,S);TEXTOUT(910,500,S1); TEXTOUT(920,500,S2);// BIR CHETDA CHIQARISH 25.05 da qoydim 7.06 OLDIM
    //STR(A[I1],S);STR(B[J1],S1); TEXTOUT(900,600,S); TEXTOUT(920,600,S1);
    KY=250; KX=250;KXSATR=250;// KXSATR SATR BO'YICHA BOSMALASHDA
    JX=KX+(J1-1)*110;
    IY=KY+(I1-1)*90; // ENG KICHIK XARAJATLI ELEMENT BOSMASI KOORDINATALARI
    if(A[I1]X[I1][J1]=A[I1];
    S=FloatToStr(A[I1]); B[J1]=B[J1]-A[I1]; A[I1]=0; Form1->Canvas->TextOutA(JX,IY,S);Z[I1][J1]=1;
    if(A[I1]X[I1][J1]=A[I1];
    S=FloatToStr(A[I1]);
    B[J1]=B[J1]-A[I1];
    A[I1]=0;
    Form1->Canvas->TextOutA(JX,IY,S);
    Z[I1][J1]=1;
    for (I = 1; I < M; I++) {
    // I1 SATRNI TO'LDIRISH
    // BEGIN IF ((I<>I1) AND (Z[I1,I]=0)) THEN BEGIN TEXTOUT(KXSATR+(I-1)*120,KY+(I1-1)*100,'-'); Z[I1,I]:=1;END; END; END
    if( (Z[I1][I]=0))
    {
    if ((I1=3) && (I=1)) {
    KY=230;
    if ((I1=4) && (I=1)){ KY=225;
    Form1->Canvas->TextOutA(KXSATR+(I-1)*120,KY+(I1-1)*100,'-'); Z[I1][I]=1;
    } } } }
    }else{
    if( A[I1]>B[J1]){
    X[I1][J1]=B[J1];
    S=FloatToStr(B[J1]);
    A[I1]=A[I1]-B[J1];
    B[J1]=0;
    Form1->Canvas->TextOutA(JX,IY,S);Z[I1][J1]=1;
    for (I = 1; I < N; I++) {
    // J1 USTUNNI TO'LDIRISH
    // BEGIN IF ((I<>J1) AND (Z[I,J1]=0)) THEN BEGIN TEXTOUT(KX+(J1-1)*110,KY+(I-1)*90,'-');Z[I,J1]:=1;END; END; END
    if ((Z[I][J1]==0)) {
    Form1->Canvas->TextOutA(KX+(J1-1)*110,KY+(I-1)*90,'-');Z[I][J1]=1;
    }
    Dasturni ishlatib quyidagi natijaga ega bo’lamiz(3.2.6-chizma):

    3.2.6-chizma. Matrisada ikkinchi kichik element topilgan hol.
    Chizmadan ko’rinib turibdiki, matrisadagi xarajat elementlarining eng kichigi 2 soni ekan va u 1-chi satr va 1-chi ustun kesishgan katakda joylashgan. Ehtiyoj qiymati 70 va zahira qolqiq qiymati 40 , demak ularning kichigi 40 va u katakka joylashtirilgan va qolgan satrlar “-“ belgisi bilan to’ldirilgan. Shunday qilib endi 1-chi satr va 5-chi ustunlar keyingi hisoblashlarda ishtirok etmaydi.
    Keyingi aylanishdagi hisoblash ham ahamiyatga ega. Matrisadan ko’rinadiki, keyingi eng kichik element qiymati 2 ga teng va u joylashgan katak satri va ustuni qiymatlari 150 ga teng, demak shu katakda 150 soni joylashtirilgandan so’ng shu satr va ustun kataklari “-“ qiymati bilan to’ldirilishi kerak.
    // BU YERDA A[I1]=B[J1] HOLINI JOYLASHTIRISH
    // IF A[I1]=B[J1] THEN BEGIN
    else{
    // A[I1]=B[J1] BO'LGAN HOL HAM SATRNI, HAM USTUNNI TO'LDIRISH KERAK
    X[I1][J1]=A[I1]; S=FloatToStr(A[I1]); A[I1]=0;
    Form1->Canvas->TextOutA(JX,IY,S);Z[I1][J1]=1;
    for (I = 0; I < M; I++) {
    if ((I!=J1) && (Z[I1][I]==0)) {
    Form1->Canvas->TextOutA(KXSATR+(I-1)*120,KY+(I1-1)*90,'-'); Z[I1][I]=1; } }
    //BEGIN IF ( (Z[I1,I]=0)) THEN BEGIN TEXTOUT(KXSATR+(I-1)*120,KY+(I1-1)*90,'-'); Z[I1,I]:=1;END; END;
    //A[I1]:=A[I1]-B[J1];
    B[J1]=0;
    for (I = 1; I < N; I++) {
    if((I!=I1) && (Z[I][J1]==0)){
    Form1->Canvas->TextOutA(KX+(J1-1)*110,KY+(I-1)*90,'-'); Z[I][J1]=1;
    }
    //BEGIN IF ((Z[I,J1]=0)) THEN BEGIN TEXTOUT(KX+(J1-1)*110,KY+(I-1)*90,'-');Z[I,J1]:=1;END; END;
    // A[I1]=B[J1] HOLI TUGADI
    } } } } }
    ZK=0;
    for (I = 0; I < N; I++) {
    for (J = 0; J < 10; J++) {
    if(Z[I][J]==1) {
    ZK=ZK+1;
    // TEXTOUT(980,500,INTTOSTR(ZK)); 7.06 OLDIM
    }
    if(ZK==20){
    KK=1;// TEXTOUT(1010,500,INTTOSTR(KK)); 7.06 OLDIM
    } } }
    ShowMessagePos("KEYINGI AYLANISH",1050,550);
    Form1->Canvas->TextOutA(1020,500,' ');
    } }
    Agar dasturdagi keyingi aylanishni amalga oshirsak, bunga amin bo’lamiz(3.2.7-chizma):

    3.2.7-chizma. Matrisada uchinchi kichik element topilgan hol.
    Chizmadan ko’rinadiki, haqiqatan ham shu element topilib, 150 soni joylashtirilyapti va shu katak turgan satr va ustun kataklari “-“ belgisi bilan to’ldirilyapti. Qolgan ikki aylanishdan so’ng barcha matrisa kataklari to’ldirilgan holga keladi, uning korinishi quyidagicha(3.2.8-chizma):

    3.2.8-chizma. Matrisada barcha kataklar to’ldirilgan hol.
    III-bob bo’yicha xulosa qilib aytganda, biz chiziqli dasturlashning bo’limlaridan biri bo’lgan transport masalasida tayanch echimni topishning amaliyotda keng qo’llaniladigan ikki usuli “shimoliy-g’arbiy” usul va “eng kichik elementlar” usullari bilan tanishdik va bu usullar matematik modelidan foydalanib C++ Buyilder dasturlash muhitida bu usullarning foydalanuvchining grafik interfeysidan foydalanib dasturi tuzdik. Ushbu dasturlrda Paskal dasturlash tilining asosiy strukturalari – tarmoqlash, takrorlash operatorlari, massivlardan foydalanildi, C++ Buyilder dasturlash muhitining formasi, LABEL, EDIT, BUTTON komponentalari, chiziqlar chizish imkoniyatlaridan foydalanildi.
    Ushbu tuzilgan dasturiy vositalardan “Amaliy matematika va informatika”, “iqtisodiyot” ta’lim yo’nalishlari, “Amaliy matematika va axborot texnologiyalari” magistrlik mutaxassisliklarida mashg’ulotlarni o’tishda foydalanish mumkin.


    XULOSA

    Ilmiy tadqiqotlarda modellashtirish, ayniqsa matematik modellashtirish katta ahamiyat kasb etadi. Bunda ayniqsa iqtisodiy masalalar ko’rilayotgan bo’lsa, jarayonni tahlil qilish uchun jarayon matematik modelni tuzish kerak bo’ladi. Buning uchun matematik modellashtirish bosqichlarini bilish kerak.


    Matematik modellashtirish unsurlaridan bo’lgan chiziqli programmalash masalasi birinchi navbatda iqtisodiy masalalarda, resurslar taqsimoti va ulardan foydalanishning optimal usullarini izlashda yuzaga keldi. Bunday masalalarda o‘zgaruvchilar soni juda ko‘p bo‘lishini e’tiborga olish zarur. Shuning uchun ham ularni yechish algoritmlarini zamonaviy hisoblash texnikasisiz amalga oshirish qiyin. Chiziqli programmalashtirish masalalarini yechishda EHM larning qo‘llanilishi iqtisodda matematik usullarni qo‘llash uchun keng imkoniyat yaratdi.
    Ana shularni hisobga olib va dars jarayonida talabalarga tushunarli bo’lishi uchun ushbu magistrlik dissertatsiyasi ishida chiziqli dasturlash masalasini simpleks usulida echishning qulay foydalanuvchi grafik interfeysiga ega dasturi ishlab chiqildi.
    Ushbu magistrlik ishida qo’yilgan vazifalarni bajarish mobaynida men avvalo shu mavzuga oid bir qancha yangi adabiyotlar bilan tanishdim. Ayniqsa O’zbekiston Milliy universiteti professori M. To’xtasinovning “Jarayonlar tadqiqoti”, Beknazarova N., Jumayev X.N. larning Matematik programmalashtirish va optimallashtirish usullari o’quv qo’llanmasi menda yaxshi taasurot qoldirdi. Qo’llanmalarda mavzular ketma-ketligi ravon, qariyb har bir mavzudagi materillar bo’yicha materiallar keltirilgan.
    Shuningdek Internetdan olingan Eshmatov M. Raisov, J.K. Karimov, L. Turayeva, X.N. Karimovlarning matematik modellashtirish va chiziqli programmalashtirish bo’yicha uslubiy qo’llanmasidan ham foydalandim. Buning uchun ularga minnatdorchilik bildiraman.
    Matematik modellashtirish yordamida dasturlarni ishlab chiqishning ahamiyati beqiyos ekanini bulib oldim, binobarin, hisoblash tajribalari faqat tabiiy va texnik fanlarning hamma sohalari bo’yicha yangi bilimlar olishni quvvatli vositasi bo’lib qolmasdan balki iqtisod, sotsiologiya, siyosat, harbiy ishda, ishlab chiqarishni rivojlantirishda va yangi texnikadan foydalanishni takomllashtirishda ham zaruriy shart bo’lib hisoblanadi.
    Har qanday tajribaning asosiy bosqichlaridan biri tajriba ma`lumotlarini qayta ishlashdir. Bu bosqichda o’rganilayotgan ob`ekt yoki hodisaning matematik modeli yaratiladi.
    Ushbu magistrlik ishida matematk modellashtirish bo’limlaridan biri bo’lgan transport masalasining tayanch yechimlarini topishning “shimoliy-g’arbiy”, “minimal xarajatlar” usullarini kompyiterli modellarini tuzishning nazariy asoslari o’rganib chiqildi, bu usulga asoslanib algoritm va dastur tuzildi, C++ Buyilder muhitida chiziqli dasturlash masalasini simpleks usulda echishning interfaol usulda grafik rejimdagi ko’rinishi yaratildi.
    Ushbu ishda ana shu ketma-ketlikning asosiy bosqichlari keltirilgan. Ulardan iqtisodiy masalalarni yechishda, oily ta’lim muassasalarida ''Matematik modellashtirish '' kurslari mavzularini o’tishda foydalanish mumkin.
    Ushbu ishlarni bajarish jarayonida men matematik modellar qurishni, transport masalasining tayanch yechimlarini topishning “shimoliy-g’arbiy”, “minimal xarajatlar” usullarini kompyiterli modellarini, dasturda ishlatiladigan asosiy strukturalarni yanada yaxshi o’zlashtirib oldim. Olgan bilimlarimni kelajak hayotimda albatta qo’llayman. Magistrlik dissertatsiyasi ishini bajarish jarayonida to’plangan materiallardan ta’lim jarayonida o’z mehnat faoliyatimda albatta foydalanaman.

    Download 374.74 Kb.
    1   ...   9   10   11   12   13   14   15   16   17




    Download 374.74 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Xulosa qilib shuni aytish mumkinki

    Download 374.74 Kb.