শুক্রবার, ২৪ জুন, ২০১৬

Recursive Functions বাংলায় শিখুন ১

আমার এই ব্লগ লিখার উদ্দেশ্য হচ্ছে Recursive Functions সম্পরকে ভাল ভাবে জানা।আমি Recursive Functions সম্পরকে নিয়মিত লিখব এই ব্লগ এ ।

সবার আগে Recursive Functions তা কি তা জেনে নেই।
                                                       
                                                     Recursive Functions
Recursive Functionsঃ Recursive Functions এমন একটি Functions যা নিজেকে call করে।

যেমনঃ
#include<bits/stdc++.h>
using namespace std;
int a=1;
int main(){

    printf("%d ",a++);
      if(a>5)
        return 0;
     main();

}
Output:

এখানে main function বার বার main function কে call করছে।
এখন কথা হল কিভাবে program টা কাজ করছে তাই না ?

  1. আমরা জানি যে কোন program compile হয়ার সময় সবার আগে main function কে খুজে।
  2. main function কে পাওয়ার পর printf() function কে পেল ।
  3. printf()  এ গিয়ে দেখল যে a এর মান প্রিন্ট করতে নির্দেশ দেয়া হয়েছে।
  4. কিন্তু এর মান পূর্বেই globally declare করা হএছে ,যার মান ছিল 1.
  5. 1 print করার পর তা increase হয়েছে।
  6. তার পর if condition check করা হয়েছে।
  7. condition মিথ্যা বলে main() function এর মাধ্যমে পুনরায় main() কে call করছে ।
  8. এভাবে যতক্ষণ না a এর মান 5 এর বেশি না হএ ততক্ষণ চলতে থাকবে ।
  9. বেশি হলে return করবে ।


এখন আমরা দেকব কি ভাবে n তম পর্যন্ত print করা যায় ঃ

n তম পর্যন্ত print করা 

আগে উদারহন টা দেখে নেই
#include<bits/stdc++.h>
using namespace std;
int n=10;
int i=1;
int main()
{
    printf("%d\n",i++);
    if(i>n)
        return 0;
    main();

}

Output:


উদারহনে n এর মান 10 নেয়া হয়েছে।এবং output এ 1 থেকে 10 পর্যন্ত মান দেখান হয়েছে।
এর পরের post এ আমরা আর ভাল ভাবে দেকব কি ভাবে recursion কাজ করে।

আরও ভালো ভাবে বুঝার জন্য পরবর্তী post দেখতে পারেন


কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন