2-Amaliy mashg’ulot. Mavzu- rekursiya yordamida algoritmlarni qurish. Rekursiv funksiyalar



Download 245,45 Kb.
Pdf ko'rish
bet5/5
Sana29.12.2021
Hajmi245,45 Kb.
#79069
1   2   3   4   5
Bog'liq
2-amaliy mashg'ulot Mavzu- Rekursiya yordamida algoritmlarni qurish

double expo(double a, int n)  

{ if (n==0) return 1;  

if (a==0.0) return 0;  

int k=(n>0)?n:-n;  

for(double s=1.0,int i=0;i 

if (n>0) return s else return 1/s;  

 

Rekursiyaga misol sifatida sonni satr shaklida chiqarish masalasini ko’rib 

chiqamiz. Son raqamlari teskari tartibda hosil bo’ladi. Birinchi usulda raqamlarni 

massivda saqlab so’ngra teskari tartibda chiqarishdir.  

Rekursiv usulda funktsiya har bir chaqiriqda bosh raqamlardan nusxa olish 

uchun o’z o’ziga murojaat qiladi, so’ngra oxirgi raqamni bosib chikaradi.  



printd(n) 

int n;  

 

int i;  

if (n < 0)  

cout<<'-';  

n = -n;  

if ((i = n/10) != 0)  


printd(i);  

cout< 

 

printd(123) chaqirishda birinchi funktsiya printd N = 123 qiymatga ega. U 12 

qiymatni ikkinchi printd ga uzatadi, boshqarish o’ziga qaytganda 3 ni chikaradi.  



Na’muna misol:  

#include  

#include  

#include  

#include  

using namespace std;  

float f1(float z)  

{ float a=3.246;  

cout<<" formula 1 ";  

return z*z-a;  

 

float f2(float z)  

{ float b= 6.46;  

cout<<" formula 2 ";  

return z*z*z-b;  

 

float ffor(float xn,float xk,float h)  

{ float x,y;  

for(x=xn;x<=xk;x+=h)  

{ if (x<3.0) y=f1(x);else y=f2(x);  

cout<< x<<” “<< y<<"\n" ; }  

return 0;  

 

void fwhile(float xn,float xk,float h)  

{ float x,y;  

x=xn;  

while(x<=xk)  

{ if (x<3.0) y=f1(x);else y=f2(x);  

cout< 

x+=h;}  

 

void fdo(float xn,float xk,float h)  

{ float x,y;  

x=xn;  

do  

 

if (x<3.0) y=f1(x);else y=f2(x);  

cout<< x<<” “<< y<<"\n" ;  

x+=h;  

 

while(x<=xk);  

 

int main()  


{float xn,xk,h,y;  

int n;  

xn=1.7; xk=5.3; h=0.4;  

clrscr(); puts("vvedi--1,esli for");  

puts("vvedi--2,esli while");  

puts("vvedi--3,esli do");  

cin>>n;cout<<"\n";  

if (n== 1) ffor(xn,xk,h); //sikl s parametrom  

if (n== 2) fwhile(xn,xk,h); //sikl s predusloviem  

if (n== 3) fdo(xn,xk,h); //sikl s postusloviem  

getch();  

}        

 

Download 245,45 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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