• Cheksiz qatorlar
  • Информатика




    Download 7,16 Mb.
    Pdf ko'rish
    bet158/308
    Sana30.05.2024
    Hajmi7,16 Mb.
    #257687
    1   ...   154   155   156   157   158   159   160   161   ...   308
    Bog'liq
    Информатика

    Rekurrent qatorlar
    . Rekurrent qator deb, shunday qatorga aytiladiki bu 
    qatorning n chi hadi n ning qiymatiga va qatorning oldingi elementlariga bog`lik 
    bo`ladi. Bu bog`liklikni aks ettiruvchi formula rekurrent formula deb ataladi. 


    256 
    Masalan, n! (faktorial ) ya`ni n gacha sonlar ko`paytmasini qo`yidagi rekurrent 
    formula yordamida hisoblash mumkin: 
    S0=1, Sn=Sn-1*n 
    Bu formulaga asoslangan dasturning asosiy qismi qo`yidagicha yoziladi: 
    For(int s=1,i=1;i<=n;i++) s*=i; 
    Rekurrent qatorga yana bir misol Fibonachchi sonlari qatori bo`lib, bu qator 
    quyidagi rekurrent formulalar asosida ifodalanadi: 
    S0=1, S1=1,Sn=Sn-1+ Sn-2 
    Berilgan n gacha bo`lgan Fibonachchi sonlarini hisoblash dasturi: 
    29-listing
    .
    Output: 
    … 
    { int n,S=0; 
    while (1) 
    { cin >> n; 
    if (n>2) break; 
    cout<<(" n qiymati noto`g`ri kiritilgan"); }; 
    for(int S0=1,S1=1,i=3;i<=n;i++) 
    { S=S0+S1; S0=S1; S1=S; cout<<("\n ",i,S);};} 
    Cheksiz qatorlar
    . Matematikada odatda biror qiymatni hisoblash shu 
    miqdorga cheksiz yaqinlashuvchi qator hadlarini hisoblashga olib keladi. Amalda 
    cheksiz qator hadlarini hisoblash yaqinlashish sharti bajarilguncha davom etadi va 
    bu shartga mos keluvchi qator hadi izlanayotgan miqdorning taqribiy qiymati deb 
    olinadi. Odatda yaqinlashish sharti sifatida shart qabul qilinadi. Bu yerda eps 
    oldindan berilgan son. Qator hadlarini rekurrent formulalar yordamida ifodalash 
    dasturlashni ancha yengillashtiradi. Matematikada ? sonini ?/4=1-1/2!+1/3!-
    1/4!+…+(-1)(i+1)*1/i!+... cheksiz qator yordamida hisoblash mumkinligi 
    isbotlangan. Bu qatorni quyidagi rekurrent formulalar yordamida ifodalash 
    mumkindir:
    R1=1.0, S1=1.0,Ri=-ri-1*(1/i), Si=Si-1+Ri; 


    257 
    Bu masalani yechishning while operatori yordamida tuzilgan dasturini ko`rib 
    chiqamiz:
    30-listing
    .
    Output: 
    #include  
    { double eps; 
    cout<<(“\n eps=”); cin>>(“%f”,&eps); 
    int i=2; 
    double r=1.0; 
    double s=1.0; 
    while((r>eps)||(r<-eps)); 
    { s+=r; 
    r =- r*(1/i); 
    i++;} 
    cout<<(“pi=%f”,s*4); } 
    Shu masalaning do while operatori yordamida tuzilgan dasturi:
    31-listing
    .
    Output: 
    #include  
    { double eps; 
    cout<<(“\n eps=”); cin>>(“%f”,&eps); 
    int i=1; 
    double r=1.0; 
    double s=0.0; 
    do
    { s+=r; 
    r=-r*(1/i); 
    i++;} 
    while((r=>eps)||(r<=-eps)); 
    cout<<(“pi=%f”,s*4);} 


    258 
    Shunga e`tibor berish kerakki, tekshirish takrorlash tanasi bajarilgandan 
    so`ng amalga oshirilgani uchun kichik yoki teng sharti qo`yilgandir. 
    Shu masalani for operatori yordamida tuzilgan dasturi:
    32-listing
    .
    Output: 
    #include  
    { double eps; 
    cout<<(“\n eps=”); cin>>(“%f”,&eps); 
    for(int i=1, double r=1.0,double s=1.0; ((r>eps)||(r<-eps));i++)
    { r=-r*(1/i);s+=r}; 
    cout<<(“pi=%f”,s*4);} 

    Download 7,16 Mb.
    1   ...   154   155   156   157   158   159   160   161   ...   308




    Download 7,16 Mb.
    Pdf ko'rish