এই প্রবন্ধে, আমরা বুঝব কিভাবে পুনরাবৃত্তি ব্যবহার করে একটি বাক্যকে বিপরীত করতে হয়। একটি পুনরাবৃত্ত ফাংশন এমন একটি ফাংশন যা একটি নির্দিষ্ট শর্ত সন্তুষ্ট না হওয়া পর্যন্ত নিজেকে একাধিকবার কল করে৷
একটি পুনরাবৃত্ত ফাংশন এমন একটি ফাংশন যা একটি নির্দিষ্ট শর্ত সন্তুষ্ট না হওয়া পর্যন্ত নিজেকে একাধিকবার কল করে৷
Recursion হল একটি স্ব-অনুরূপ উপায়ে আইটেম পুনরাবৃত্তি করার প্রক্রিয়া। প্রোগ্রামিং ভাষায়, যদি একটি প্রোগ্রাম আপনাকে একই ফাংশনের ভিতরে একটি ফাংশন কল করার অনুমতি দেয়, তাহলে তাকে ফাংশনের একটি পুনরাবৃত্ত কল বলা হয়।
অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ স্ট্যাকের মাধ্যমে পুনরাবৃত্তি বাস্তবায়ন করে। সাধারণত, যখনই একটি ফাংশন (কলার) অন্য একটি ফাংশন (ক্যালি) বা নিজেকে কলী হিসাবে কল করে, কলারের ফাংশনটি এক্সিকিউশন কন্ট্রোল ক্যালিতে স্থানান্তর করে। এই স্থানান্তর প্রক্রিয়াটিতে কলকারী থেকে কলকারীর কাছে পাঠানোর জন্য কিছু ডেটাও জড়িত থাকতে পারে।
নীচে একই -
এর একটি প্রদর্শন রয়েছে৷ইনপুট
ধরুন আমাদের ইনপুট হল −
বাক্যটি লিখুন:একটি সুন্দর সন্ধ্যা কাটুক
আউটপুট
কাঙ্খিত আউটপুট হবে −
বিপরীত ইনপুট হল:gnineve ecin a evaH
অ্যালগরিদম
ধাপ 1 - STARTধাপ 2 - দুটি স্ট্রিং মান ঘোষণা করুন যথা my_input এবং my_result ধাপ 3 - ব্যবহারকারীর কাছ থেকে প্রয়োজনীয় মানগুলি পড়ুন/ মানগুলিকে সংজ্ঞায়িত করুন ধাপ 4 - একটি পুনরাবৃত্ত ফাংশন 'রিভার্সস্ট্রিং সংজ্ঞায়িত করা হয়েছে যা একটি স্ট্রিংকে ইনপুট হিসাবে নেয় এবং অক্ষরটি ফেরত দেয় শেষ অবস্থান। ধাপ 5 - 'my_input'-এর মান একটি খালি স্ট্রিং না হওয়া পর্যন্ত ফাংশনটিকে পুনরাবৃত্তভাবে বলা হয়। ধাপ 6 - পুনরাবৃত্ত ফাংশনটিকে বলা হয় এবং মান 'my_input' এতে পাস করা হয়। রিটার্ন মান সংরক্ষণ করুন ধাপ 7 - ফলাফল প্রদর্শন করুন ধাপ 8 - থামুন
উদাহরণ 1
এখানে, একটি প্রম্পটের উপর ভিত্তি করে ব্যবহারকারী দ্বারা ইনপুট প্রবেশ করানো হচ্ছে। আপনি আমাদের কোডিং গ্রাউন্ড টুলে এই উদাহরণ লাইভ চেষ্টা করতে পারেন ।
java.util.Scanner; পাবলিক ক্লাস রিভার্স { public static void main(String[] args) { স্ট্রিং my_input, my_result; System.out.println("প্রয়োজনীয় প্যাকেজ আমদানি করা হয়েছে"); স্ক্যানার my_scanner =নতুন স্ক্যানার(System.in); System.out.println("একটি পাঠক বস্তু সংজ্ঞায়িত করা হয়েছে"); System.out.print("বাক্যটি লিখুন :"); my_input =my_scanner.nextLine(); my_result =reverseString(my_input); System.out.println("বিপরীত ইনপুট হল:" + my_result); } পাবলিক স্ট্যাটিক স্ট্রিং reverseString(স্ট্রিং my_input) { যদি (my_input.isEmpty()) my_input ফেরত দেয়; রিভার্সস্ট্রিং(my_input.substring(1)) + my_input.charAt(0); }}
আউটপুট
প্রয়োজনীয় প্যাকেজগুলি আমদানি করা হয়েছে একটি পাঠক বস্তুকে সংজ্ঞায়িত করা হয়েছে বাক্যটি লিখুন:একটি সুন্দর সন্ধ্যা কাটাও বিপরীত ইনপুট হল:gnineve ecin a evaHউদাহরণ 2
এখানে, পূর্ণসংখ্যা পূর্বে সংজ্ঞায়িত করা হয়েছে, এবং এর মান অ্যাক্সেস করা হয়েছে এবং কনসোলে প্রদর্শিত হয়েছে।
<প্রে>পাবলিক ক্লাস রিভার্স { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { স্ট্রিং মাই_ইনপুট, আমার_ফলাফল; my_input ="সন্ধ্যা সুন্দর কাটুক"; System.out.println("স্ট্রিংটিকে সংজ্ঞায়িত করা হয়েছে :" +my_input); my_result =reverseString(my_input); System.out.println("বিপরীত ইনপুট হল:" + my_result); } পাবলিক স্ট্যাটিক স্ট্রিং reverseString(স্ট্রিং my_input) { যদি (my_input.isEmpty()) my_input ফেরত দেয়; রিভার্সস্ট্রিং(my_input.substring(1)) + my_input.charAt(0); }}
আউটপুট
স্ট্রিংটিকে এভাবে সংজ্ঞায়িত করা হয়েছে:একটি সুন্দর সন্ধ্যা কাটুক, বিপরীত করা ইনপুট হল:gnineve ecin a evaH