Rekursiv funksiyalar


Download 121.05 Kb.
bet1/4
Sana01.04.2023
Hajmi121.05 Kb.
#1318771
  1   2   3   4
Bog'liq
Rekursiv funksiyalar

Rekursiv funksiyalar

Saidova F.M

Masalaning qo‘yilishi: Tinglovchi variant bo‘yicha berilgan masalani C++ dasturlash tilida ishlashi va kerakli natija olishi lozim.


Ishdan maqsad: C++ dasturlash tilida rekursiv funksiyalar bilan ishlash, ulardan foydalanish ko‘nikmalariga ega bo‘lish. Dasturda turli ko‘rinishdagi va qiyinchilikdagi rekursiv funksiyalardan foydalana olish.
  • Masalaning qo‘yilishi: Tinglovchi variant bo‘yicha berilgan masalani C++ dasturlash tilida ishlashi va kerakli natija olishi lozim.

Rekursiya deb funksiya tanasida shu funksiyaning o‘zini chaqirishiga aytiladi. Rekursiya uchun quyidagi aniqlanishlar o‘rinli:
1. Har bir rekursiv formula kamida bitta asos ifodaga ega bo‘lishi kerak.
2. Umumiy ifoda doim asos ifodaga yo‘naltirilgan bo‘lishi kerak.
3. Asos ifoda rekursiyani to‘xtatishi kerak.
Rekursiv funksiyalarni to‘g‘ri amal qilishi uchun rekursiv
chaqirishlarning to‘xtash sharti bo‘lishi kerak. Aks holda rekursiya
to‘xtamasligi va o‘z navbatida funksiya ishi tugamasligi mumkin. Faktorial
hisoblashida rekursiv tushishlarning to‘xtash sharti funksiya parametri n=0
bo‘lishidir (shart operatorining rost shoxi).

Rekursiya 2 xil bo’ladi.


1. oddiy - agar funksiya o‘z tanasida o‘zini chaqirsa;
2. vositali - agar birinchi funksiya ikkinchi funksiyani chaqirsa,ikkinchisi esa o‘z navbatida birinchi funksiyani chaqirsa.

Testlar

  • 1. Quyidagi programma qismi ishlashi natijasida ekranga qanday qiymat chiqadi?
  • int F(int n, int k=9, int t=13)
  • {
  • int i=5;
  • for (i=0; i!=0; )
  • i--;
  • return n+i-k+t;
  • }
  • void main()
  • {
  • int a[]={2,7,6,3,7}, n=a[0], k=a[1], t=a[3];
  • for (int i=0;i<3;i++)
  • if (2*F(a[i], a[i])) t=t+F(a[i],t,a[0]);
  • cout << t; }
  • a) 8
  • b) 9
  • c) 6
  • d) 1

Download 121.05 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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