• Algoritmni ishlab chiqish.
  • 3-MUSTAQIL ISH TOPSHIRIQLARI Mavzu. Chiziqli va tarmoqlanuvchi algoritmlar. Nazariy topshiriqlar: Quyidagi nazariy savollarga javob bering
  • Chiziqli metodlar (Linear Methods)
  • Chiziqli interpolatsiya
  • Chiziqli ilinomiallar
  • Tezlik
  • 3)Amaliy mashg’ulot topshiriqlari
  • Dasturni tekshirish (Yechim olish)




    Download 193,21 Kb.
    bet6/6
    Sana20.05.2024
    Hajmi193,21 Kb.
    #244803
    1   2   3   4   5   6
    Bog'liq
    AlgoritmlarniLoyihalash XayrullayevJavoxir-Amaliy-3

    Dasturni tekshirish (Yechim olish)




      1. 2-amaliy mashg‘uloti mavzusi: Massiv elementlarini tartiblashtirish. Matrisa maksimal, minimal elementnlarini aniqlash algoritmi

    Ishdan maqsad: massiv va matritsalarga doir masalalar uchun algoritm tuzish va ularni tahlil qilish.
    1-topshiriq.
    Butun sonlardan iborat n ta son berilgan. Shu sonlarni elementlar miqdori kamayish tartibida chiqarish algoritmi va dasturini tuzing.

    t/r

    Element soni va miqdori

    Tartiblangan massiv

    1

    5
    23 45 34 56 25

    56 45 36 25 23



    2

    10
    5 3 -2 -5 0 1 0 5 8 7

    8 7 5 5 3 1 0 0 -2 -5



    Algoritmni ishlab chiqish. Foydali algoritmlar dasturni tez ishlashiga va kod tushunarli bo’lishiga xizmat qiladi;

    Misol.


    1. Boshlash

    2. n o’zgaruvchisini e’lon qilamizva qiymat beramiz va sonlar nomli massivni ham yaratamiz hamda uzunligini n ta qilamiz.

    3. For da 00 dan n gacha sonlar massiviga qiymat beramiz

    4. sort(sonlar, sonlar + n, greater<int>());

    Yuqoridagi method orqali massivni saralaymiz.



    1. Tamom



    Dastur kodi
    #include
    #include

    using namespace std;

    int main() {
    int n;
    cout << "N soni: ";
    cin >> n;

    int sonlar[n];


    cout << "Sonlarni kiriting:\n";
    for (int i = 0; i < n; ++i) {
    cin >> sonlar[i];
    }

    // Elementlarni kamayish tartibida chiqarish


    sort(sonlar, sonlar + n, greater());

    cout << "Elementlar miqdori kamayish tartibida:\n";


    for (int i = 0; i < n; ++i) {
    cout << sonlar[i] << " ";
    }
    cout << endl;

    return 0;


    }

    3-MUSTAQIL ISH TOPSHIRIQLARI
    Mavzu. Chiziqli va tarmoqlanuvchi algoritmlar.

    1. Nazariy topshiriqlar: Quyidagi nazariy savollarga javob bering:

    Savollar:



    Algebraik ta transcendent tenglamalarni taqribiy yechish usullari bo’yicha hisoblashda yaqinlashish tezligi bo’yicha baholash
    Savollar:




    1. Algebraik ta transcendent tenglamalarni taqribiy yechish usullari bo’yicha hisoblashda yaqinlashish tezligi bo’yicha baholash
      Algebraik ta transcendent tenglamalarni taqribiy yechish usullari bo’yicha hisoblashda yaqinlashish tezligi bo’yicha baholash

    2. Chiziqli algebraic tenglamalar sistemasini taqribiy yechish usullari. Yaqinlashish shartlari

    3. Chiziqli dasturlash masalalari kanonik ko’rinishi. Simpleks usul.

    Javoblar:



    1. Burchaklar metodi: Bu usulda, tenglama f(x) = 0 ning x=a orqali tangential chiziqlarni chizish orqali x qiymatlarini aniqlash uchun ishlatiladi. Har qadamda yangi x qiymati quyidagi formula bo'yicha hisoblanadi:


    Bu formulada, yangi x qiymati, In avvalgi x qiymati, f (xn) funksiyaning qiymati va f'(xn) funksiyaning turlichasining o'zgaruvchan qiymati.


    2. Biseksiya metodi: Bu usulda, funksiya f(x) orqali burchaklar orasidagi bo'lgan intervalni darajaga ajratish va biror qismini tanlangan ikkinchi bir intervalni hisoblash uchun ishlatiladi. Har bir qadamda yangi interval quyidagi formula asosida hisoblanadi:
    c = (a + b)/2
    Agar f(a) va f (c) ning ishoralar o'zaro farq qilsa, keyingi qadamda a ni c ga o'zgartiriladi, aks holda, b ni c ga o'zgartiriladi. Bu jarayon, intervalning uzunligi o'zgarib ketayotganligi sababli yaqinlashishni kengaytirishga yordam beradi.
    3. Newton-Raphson metodi: Bu usulda, tangent chiziqlarni ishlatib, funksiyaning x tenglamasi yechimga yaqinlashishga qaratiladi. Har bir qadamda yangi x qiymati quyidagi formula bo'yicha hisoblanadi:

    Bu usul Burchaklar metodi bilan o'xshash, lekin avvalgi x qiymati yoki qarashli yoki uning dengizidan qarashli bo'lgan joyi x_0 ekanligini tanlashni talab qiladi.

    1. **Chiziqli metodlar (Linear Methods)**: Bu usulda, chiziqli tenglamalar sistemasining har bir chiziqli tenglamasini linear ko'rinishga olib, kengaytirilgan chiziqli tenglamalar sistemasini yechish uchun o'zgaruvchilarni aniqlaydigan formulalardan foydalaniladi. Misol uchun, Gauss eliminatsiya, LU bo'luvchi tahlili, qatlamli qarama-qarshi yurish (iterativ yoki iterative) metodlar kabi usullar bu kategoriya ichiga kiradi.

    **Chiziqli interpolatsiya**: Bu usulda, berilgan funksiyalar to'plamining o'zlarini o'xshatishga olib keluvchi interpolatsiya usullaridan foydalaniladi. Bu usul chiziqli algebraik tenglamalar sistemasini yechish uchun yaxshi ishlaydi, ammo unga to'g'ri yechimlar aniqlash uchun kattaroq son kerak bo'lishi mumkin.
    **Chiziqli ilinomiallar**: Bu usulda, chiziqli ilinomiallar sistemasini yechish uchun chiziqli ilinomiallar vaqtincha sifatida aniqlanadi. Keyinchalik, chiziqli ilinomiallar ko'paytirilgan tenglamalarni yechish uchun ishlatiladi.
    Yaqinlashish shartlari chiziqli algebraik tenglamalar sistemasini taqribiy yechishda o'z muhimlikka ega. Ba'zi asosiy shartlar quyidagilar:
    - **Qonun hajmi**: Chiziqli algebraik tenglamalar sistemasini yechishda ishlatilgan yordam xususiyatlarini yaxshilash uchun, qonun hajmi shartiga rioya qilinishi kerak. Qonun hajmi, qanday ishlashining hajmi va qulaylik darajasini ta'minlaydi.
    - **Tezlik**: Yechimni topish uchun yaxshi va samarali usulni tanlash muhimdir. Bu usulning tezligi va oqilona ishlovchi bo'lishi kerak.
    - **Kechikish**: Biror usulda yechim topishning tezligi va natijalarni yaxshi hisoblash uchun kerak bo'lgan vaqtning limitlarini tushuntirish lozim.

    - **Tekshirish**: Chiziqli algebraik tenglamalar sistemasini taqribiy yechish natijalarini tekshirish uchun tekshirish usullari kerak.





    1. Simpleks usul optimizatsiya masalalarini quyidagi kanonik ko'rinishda yechish uchun ishlatiladi:


    Shartlar:

    Bu yerda:
    x - n ta o'zgaruvchi qiymatlarini o'zlashtiradigan vektor.
    c- O'zgaruvchi qiymatlarini o'zlashtiradigan n ta o'lchamli mukammal to'plam.
    A-m ta qator va n ta ustunlardan iborat m ta o'lchamli matritsa.
    b-m ta o'lchamli mukammal to'plam.

    Simpleks usul quyidagi bosqichlardan iborat:


    1. **Bosqich 1: Boshlang'ich to'plamlarni topish**: Mos keluvchi boshlang'ich yechimlar aniqlanadi.


    2. **Bosqich 2: Yechimlarni optimallashtirish**: Yangi yechimlar aniqlanadi va qiymatlar muhiti tekshiriladi.
    3. **Bosqich 3: Optimallashtirish**: Agar muhiti optimallashtirish mumkin bo'lsa, boshlang'ich yechimlar optimallashtiriladi.
    3)Amaliy mashg’ulot topshiriqlari

    1. 2x­­­­­­­3-x-5=0

    public class Main {


    public static void main(String[] args) {
    double a = -2; // Ikkita yechim orasidagi eng kichik qiymat
    double b = 2; // Ikkita yechim orasidagi eng katta qiymat
    double epsilon = 0.0001; // Xatolik miqdori

    double yechim = biseksiyaMetodi(a, b, epsilon);

    System.out.println("Tenglama yechimi: " + yechim);
    }

    public static double f(double x) {


    return 2 * Math.pow(x, 3) - x - 5;
    }

    public static double biseksiyaMetodi(double a, double b, double epsilon) {


    double c = 0;
    while ((b - a) >= epsilon) {
    c = (a + b) / 2;
    if (f(c) == 0.0) {
    break;
    } else if (f(c) * f(a) < 0) {
    b = c;
    } else {
    a = c;
    }
    }
    return c;
    }
    }

    Download 193,21 Kb.
    1   2   3   4   5   6




    Download 193,21 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dasturni tekshirish (Yechim olish)

    Download 193,21 Kb.