মডিউল ১৭-৪ঃ Print From 5 to 1 using Recursion
কোডঃ
এই প্রোগ্রামটি একটি সিম্পল রিকার্সিভ ফাংশন ব্যবহার করে একটি নির্দিষ্ট সংখ্যার পর্যন্ত পূর্ণসংখ্যাগুলি প্রিন্ট করে। এটির প্রোগ্রামের কাজ নিম্নলিখিত:
fun()
ফাংশনটি নেওয়া হলো একটি পূর্ণসংখ্যা i এর মান নিয়ে।যদি i এর মান 0 হয়, অর্থাৎ যদি i এর মান নিকটতম বেস কেস হয়, তবে ফাংশন থেকে বাহির হতে হবে। এই ধরণের কেস হলো বেস কেস বা মৌলিক কেস।
যদি i এর মান 0 না হয়, তবে একটি লাইন প্রিন্ট করা হবে
printf("%d\n",i);
এবং একটি রিকার্সিভ কল করা হবেfun(i-1);
যেখানে i-1 হচ্ছে এই ফাংশনের আর্গুমেন্ট এবং এই রিকার্সিভ কল মাধ্যমে আমরা সংখ্যাগুলি ক্রমিকভাবে কমাতে থাকব।প্রথমে ফাংশন কল হওয়ার সময়, সংখ্যা 5 প্রিন্ট করা হবে, এবং তারপরে সিস্টেম একটি রিকার্সিভ কল করে i-1=4 এর সাথে ফাংশনটি কল করবে।
পরের ধাপে, ফাংশন আবার কল হবে এবং সংখ্যা 4 প্রিন্ট করা হবে, এবং পরের সংখ্যা 3 এর জন্য আবার একটি রিকার্সিভ কল করা হবে।
এই পদক্ষেপ প্রক্রিয়া চলবে যতক্ষণ না i এর মান 0 হয়ে যায়। এই রিকার্সিভ কলের প্রতিটি সময় i এর মান 0 না হয়ে গেলে, তার আগের সংখ্যা প্রিন্ট হবে এবং সে সংখ্যার জন্য আবার একটি রিকার্সিভ কল করা হবে যার মান এক কম।
সবশেষে, যখন i এর মান 0 হয়ে যাবে, ফাংশন থেকে বের হতে হবে এবং মেইন ফাংশনে রিটার্ন ০ করে প্রোগ্রাম শেষ হবে।
এই রিকার্সিভ ফাংশনটি ব্যবহার করে আমরা একে একে সংখ্যাগুলি প্রিন্ট করে একে একে কমিয়ে যাচ্ছি। তার ফলে আমরা প্রথমে 5 থেকে শুরু করে 1 পর্যন্ত সংখ্যা প্রিন্ট করতে পারব।
Last updated