Nizomov abbosbek 7-labaratoriya ishi. Mavzu: Rekursiya va ularni dasturlashda ishlatish


Download 101.1 Kb.
bet2/7
Sana09.04.2023
Hajmi101.1 Kb.
#1344617
1   2   3   4   5   6   7
Bog'liq
Abbosbek

8-LABARATO’RYA ISHI
Mavzu: Rekursiv va Iterativ algoritmlarni ishlatishga misollar
Ishdan maqsad: Ushbu laboratoriya ishining maqsadi talabalar rekursiv
funksiyalar mavjudligini va ularning samaradorliklarini baholashni o‘rganishlari
kerak. Shu asosda saralash usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida
fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirishlari kerak
Matematikada rekursiyaga yana bir misol sifatida rekurrent formula bilan
berilgan sonli qatorlarni olish mumkin. Bunday qatorlarning har bir keyingi hadi
o’zidan oldingi n ta hadga bog’liq funksiya natijasi bilan aniqlanadi.
Shunday qilib, cheklangan ifoda yordamida cheksiz qator aniqlanishi mumkin
(bu ketma-ketlikning birinchi n hadlari uchun takrorlanadigan (rekurrent) formula va
qiymatlar to'plamining kombinatsiyasi bo’ladi).
Matematik induksiya rekursiya bilan chambarchas bog'liq: bu natural sonlar
bo'yicha o’zining kichik qiymatlari orqali berilgan rekursiv funksiya xususiyatlarini
isbotlashning tabiiy usuli hisoblanadi.
Matematikada rekursiyaga misollar:
- chiziqli algebraik tenglamalar sistemasini yechish uchun Gaus-Jordan usuli
rekursiv hisoblanadi.
- manfiy bo’lmagan butun sonning faktorialini hisoblash.
- Fibonachchi soni rekurrent munosabat yordamida aniqlanadi, ya’ni
Fibonachchi sonining birinchi va ikkinchi hadlari 1 ga teng. n>2 uchun n Fibonachchi soni (n-1)- va (n-2)-Fibonachchi sonlarining yig’indisiga teng.
- Amaliyotda barcha geometrik fraktallar cheksiz rekursiya orqali beriladi
(masalan, Serpin uchburchagi).
- primitiv rekursiv bo’lmagan rekursiv hisoblanuvchi funksiyaga standart misol
– Akkerman funksiyasi bo’ladi, bu funksiya manfiy bo’lmagan m va n butun sonlar
uchun quyidagi ko’rinishda bo’ladi:
MASALA:
Kod.
#include
#include
#include
using namespace std;
int main()
{ long long int a[60];

for(int i=1;i<50;i++)


{
a[1] = 1,a[2] = 1;
a[i+2] = a[i] + a[i+1];
}
for(int i=1;i<51;i++)
{
cout<}
return 0; }

Xulosa.
Men ushbu laboratoriya ishida rekursiv funksiyalar mavjudligini va ularning samaradorliklarini baholashni o‘rgandim. Shu asosda saralash usullarini qiyosiy tahlil qilishlari, C++ dasturlash tilida
fayllar bilan ishlashni va ularga oid dasturlar tuzishni o‘zlashtirdim.


Download 101.1 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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