1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot



Download 4,47 Mb.
bet23/89
Sana15.04.2022
Hajmi4,47 Mb.
#553102
1   ...   19   20   21   22   23   24   25   26   ...   89
Bog'liq
C kitob TAYYOR

21 – DARS. AMALIY MISOLLAR.

Rekurrent qatorlar. Rekurrent qator deb shunday qatorga aytiladiki bu qatorning n chi hadi n ning qiymatiga va qatorning oldingi elementlariga bog’lik buladi. Bu bog’liklikni aks ettiruvchi formula rekurrent formula deb ataladi. Misol uchun n! (faktorial ) ya'ni n gacha sonlar kupaytmasini 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 qo’yidagi rekurrent formullalar asosida ifodalanadi:
S0=1, S1=1,Sn=Sn-1+ Sn-2
Berilgan n gacha bulgan Fibonachchi sonlarini hisoblash dasturi:
Main()
{
while (1)
{ Cin>>(“\n %i”,&n);
if (n>2) break;
Cout<<(“ n qiymati notug’ri kiritilgan”);
};
for(int S0=1,S1=1,i=3;i<=n;i++)
{ S=S0+S1;S0=S1;S1=S;Cout<<(“\n i=%i S=%i”,&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 erda eps oldindan berilgan son. Qator hadlarini rekurrent formulalar yordamida ifodalash dasturlashni ancha engillashtiradi.
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;
Bu masalani echishning while operatori yordamida tuzilgan dasturini kurib chiqamiz:
#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:
#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);
}
Shunga e'tibor berish kerakki tekshirish tsikl tanasi bajarilgandan sung amalga oshirilgani uchun kichik eki teng sharti quyilgandir.
Shu masalani for operatori yordamida tuzilgan dasturi:
#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);
}
Leksik analiz. Kiritilgan ifoda haqiqiy sonligini tekshiruvchi dastur:
#include
void Main()
{
int k=1; m=0;

while (c!=’\n’) {


if (c=’.’ && m=0) {m=1;continue};
if (c<’0’ || c>’9’) {k=0;break};
}
if (k) Cout<<“\n Hakikiy son”; else Cout<<“\n Hakikiy son emas”;
}
Keyingi dasturimizda kiritilaetgan ifoda identifikator yoki yuqligi tekshiriladi:
#include
void Main()
{
int k=0;

while (c!=’\n’)


{if (k==-1) break;
m=2;
if (c>=’0’ && c<=’9’) m=0;
if (c>=’a’ && c<=’Z’) m=1;
if (c==’_’) m=1;
}
switch(m)
{
case 0: if (k==0) k=-1;break;
case 1: k=1;beak;
default k=-1;break;
}
}

if (k=-1) Cout<<(“\n Identifikator emas”); else Cout<<(“\n Identifikatoras”);


}



Download 4,47 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   89




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish