আপনি কি সর্বদা একটি পুনরাবৃত্ত ফাংশনকে একটি পুনরাবৃত্তিতে রূপান্তর করতে পারেন? হ্যাঁ, একেবারে এবং চার্চ-টিউরিং থিসিস এটি প্রমাণ করে যদি স্মৃতিশক্তি কাজ করে। সাধারণ পরিভাষায়, এটি বলেছে যে পুনরাবৃত্ত ফাংশনগুলির দ্বারা যা গণ্যযোগ্য তা পুনরাবৃত্ত মডেল (যেমন টুরিং মেশিন) এবং বিপরীতক্রমে গণনাযোগ্য। থিসিস আপনাকে রূপান্তর কীভাবে করবেন তা সুনির্দিষ্টভাবে জানায় না, তবে এটি বলে যে এটি অবশ্যই সম্ভব possible
অনেক ক্ষেত্রে, একটি পুনরাবৃত্ত ফাংশন রূপান্তর করা সহজ। নথ "আর্ট অফ কম্পিউটার প্রোগ্রামিং" এ বেশ কয়েকটি কৌশল সরবরাহ করে। এবং প্রায়শই, পুনরাবৃত্তির সাথে গণনা করা কোনও জিনিস কম সময় এবং জায়গাতে সম্পূর্ণ ভিন্ন পদ্ধতির মাধ্যমে গণনা করা যায়। এর ক্লাসিক উদাহরণটি হ'ল ফিবোনাচি সংখ্যা বা ক্রম। আপনি অবশ্যই আপনার ডিগ্রি পরিকল্পনায় এই সমস্যাটি পূরণ করেছেন।
এই মুদ্রার উল্টোদিকে, আমরা অবশ্যই এমন একটি প্রোগ্রামিং সিস্টেমটি কল্পনা করতে পারি যে কোনও সূত্রের পুনরাবৃত্ত সংজ্ঞাটিকে পূর্বের ফলাফলগুলি স্মরণে রাখার আমন্ত্রণ হিসাবে বিবেচনা করতে পারে, এভাবে কম্পিউটারকে ঠিক কোন ধরণের পদক্ষেপ না বলার ঝামেলা ছাড়াই গতির সুবিধা দেয় পুনরাবৃত্ত সংজ্ঞা সহ একটি সূত্রের গণনা অনুসরণ করুন। ডিজকস্ট্র প্রায় অবশ্যই এ জাতীয় ব্যবস্থা কল্পনা করেছিলেন। তিনি একটি প্রোগ্রামিং ভাষার শব্দার্থবিদ্যা থেকে প্রয়োগটি পৃথক করার চেষ্টা করে দীর্ঘ সময় ব্যয় করেছিলেন। তারপরে আবার, তাঁর অ-সংজ্ঞাবাদী এবং মাল্টিপ্রসেসিং প্রোগ্রামিং ভাষা অনুশীলনকারী পেশাদার প্রোগ্রামারের উপরে একটি লীগে রয়েছে above
চূড়ান্ত বিশ্লেষণে, অনেকগুলি ফাংশন পুনরাবৃত্ত আকারে বোঝার, পড়ার এবং লেখার পক্ষে সহজ কাজ। বাধ্যতামূলক কারণ না থাকলে আপনার সম্ভবত (ম্যানুয়ালি) এই ফাংশনগুলিকে স্পষ্টত পুনরাবৃত্ত অ্যালগরিদমে রূপান্তর করা উচিত নয়। আপনার কম্পিউটার সেই কাজটি সঠিকভাবে পরিচালনা করবে।
আমি একটি বাধ্যতামূলক কারণ দেখতে পারেন। ধরুন আপনি একটি উচ্চ-স্তরের ভাষায় [ অ্যাসবেস্টস অন্তর্বাস দান করা ] প্রকল্প, লিস্প, হাস্কেল, ওক্যামেল, পার্ল বা পাস্কালের মতো একটি প্রোটোটাইপ সিস্টেম । ধরুন শর্তগুলি এমন যে আপনার সি বা জাভাতে একটি বাস্তবায়ন প্রয়োজন। (সম্ভবত এটি রাজনীতি।) তারপরে আপনি অবশ্যই কিছু ফাংশন পুনরাবৃত্তভাবে লিখে থাকতে পারেন তবে যা আক্ষরিক অনুবাদ করা আপনার রানটাইম সিস্টেমে বিস্ফোরিত হবে। উদাহরণস্বরূপ, স্কিমে অসীম লেজ পুনরাবৃত্তি সম্ভব, তবে একই আইডিয়ম বিদ্যমান সি পরিবেশের জন্য সমস্যা তৈরি করে। আরেকটি উদাহরণ হ'ল লেস্টালি নেস্টেড ফাংশন এবং স্ট্যাটিক স্কোপ ব্যবহার, যা পাস্কাল সমর্থন করে তবে সি তা করে না।
এই পরিস্থিতিতে, আপনি মূল ভাষার রাজনৈতিক প্রতিরোধকে কাটিয়ে উঠার চেষ্টা করতে পারেন। গ্রিসপুনের (জিহ্বা-ইন-গাল) দশম আইন অনুসারে আপনি নিজেকে লিস্পকে খারাপভাবে পুনরায় সংশোধন করতে পারেন। অথবা আপনি সমাধানের জন্য সম্পূর্ণ ভিন্ন পদ্ধতির সন্ধান করতে পারেন। তবে যে কোনও ইভেন্টে অবশ্যই একটি উপায় আছে।