মডিউল ১৭-৩ঃ Print From 1 to n Using Recursion
Code:
যদি n=3 হয়, তাহলে প্রোগ্রাম যেভাবে কাজ করবে তা নিচে দেখানো হলো:
scanf("%d",&n);
দ্বারা প্রোগ্রাম n এর মান প্রাপ্ত করে। এখানে n=3 হলে, এটি একেবারে নিচের মতো হবে:fun(1,n);
কল হবে এবং সাথে দুটি আর্গুমেন্ট পাঠানো হবে i=1 এবং n=3।fun()
ফাংশনের মধ্যে,i=1
এবংn=3
হিসেবে প্যারামিটার পাস হয়েছে।শুরুতে ফাংশনের ভেতরে যাওয়া হবে,
if(i==n+1) return;
শর্ত চেক করে, যে যদিi
এর মান n+1 এর সমান হয়, তাহলে ফাংশন থেকে বের হয়ে যাওয়া হবে। এখানে i=1 এবং n=3, সুতরাং এই শর্ত পূরণ হবে না।পরবর্তী লাইনে,
printf("%d\n",i);
দ্বারা i এর মান 1 প্রিন্ট করা হবে এবং নতুন লাইনে চলে আসবে। এই সময় আউটপুট হবে:পরবর্তী লাইনে,
fun(i+1,n);
দ্বারা ফাংশনকে নিজেকে নিজের মধ্যে কল করা হবে প্যারামিটার i এর মান এক বাড়িয়ে এবং এই সময় i=2 হবে।আবার ফাংশনে প্রবেশ হবে, এবং এইবার প্রথম লাইনের শর্ত চেক হবে। যে প্রথম আগের প্রোগ্রামে এই শর্ত পূরণ হবে না।
এখন
printf("%d\n",i);
লাইনে i এর মান 2 প্রিন্ট হবে এবং নতুন লাইনে চলে আসবে। আউটপুট হবে:আবার ফাংশনকে কল করে i এর মান 3 প্রিন্ট হবে এবং ফাংশন থেকে বের হয়ে আসা হবে কারণ i এর মান এখন n+1 এর সমান হয়েছে। আউটপুট হবে:
সবশেষে, মেইন ফাংশনে রিটার্ন ০ করে প্রোগ্রাম শেষ হবে।
Last updated