Recursive Procedures এবং Loops (লুপ) হল Logo ভাষায় প্রোগ্রামিংয়ের দুটি গুরুত্বপূর্ণ কৌশল। এই দুটি কৌশল ব্যবহার করে আমরা পুনরাবৃত্তি বা পুনরাবৃত্তিমূলক কাজ সহজে করতে পারি। নিচে Recursive Procedures এবং Loops সম্পর্কে বিস্তারিত আলোচনা করা হলো:
Recursive Procedures:
Recursion বা পুনরাবৃত্তি হল একটি পদ্ধতি যেখানে একটি ফাংশন নিজেই নিজেকে কল করে। Logo-তে আমরা একটি procedure বা ফাংশন তৈরি করে সেটি নিজেই কল করতে পারি। Recursive Procedures সাধারণত সমস্যাকে ছোট ছোট সাব-প্রব্লেমে ভাগ করে সমাধান করতে ব্যবহৃত হয়।
Recursive Example (Factorial Calculation):
ধরা যাক, আমরা একটি ফ্যাক্টোরিয়াল (n!) গণনা করতে চাই। ফ্যাক্টোরিয়াল হল একটি পজিটিভ পূর্ণসংখ্যার গুণফল, যেটি ঐ সংখ্যার চেয়ে ছোট সব পূর্ণসংখ্যার গুণফল।
ফ্যাক্টোরিয়াল গণনা করার জন্য একটি recursive procedure লিখতে পারি:
TO factorial :n
IF :n = 0 [OUTPUT 1] ; বেস কেস: ০ এর ফ্যাক্টোরিয়াল ১
OUTPUT :n * factorial :n - 1 ; রিকার্সিভ কল: n * (n-1)!
ENDএখানে:
- factorial ফাংশনটি নিজেকে কল করছে (recursive call) যতক্ষণ না :n = 0 হয়।
- OUTPUT কমান্ড ব্যবহার করে ফলাফল রিটার্ন করা হয়।
ব্যবহার:
factorial 5এটি 5! বা ৫ এর ফ্যাক্টোরিয়াল গণনা করবে, যা ১২০ (5 × 4 × 3 × 2 × 1)।
Loops (পুনরাবৃত্তি):
Logo-তে Loops একটি নির্দিষ্ট কাজ একাধিকবার পুনরাবৃত্তি করার জন্য ব্যবহৃত হয়। REPEAT কমান্ডটি সবচেয়ে সাধারণ লুপ কমান্ড, যা একটি নির্দিষ্ট সংখ্যক বার একটি কাজ সম্পাদন করতে ব্যবহার করা হয়।
Loop Example (Drawing a Square):
ধরা যাক, আমরা একটি বর্গ (square) আঁকতে চাই। আমরা REPEAT কমান্ড ব্যবহার করে একটি লুপের মধ্যে ৪ বার সোজা লাইন আঁকতে পারি।
TO square
REPEAT 4 [ ; ৪ বার সোজা লাইন আঁকবে
FORWARD 100
RIGHT 90
]
ENDএখানে:
- REPEAT 4: এটি নির্দেশ দেয় যে কোডটি ৪ বার চলবে।
- FORWARD 100: ১০০ পিক্সেল এগিয়ে যাবে।
- RIGHT 90: ৯০ ডিগ্রী ডান দিকে ঘুরবে।
ব্যবহার:
squareএটি একটি বর্গ আঁকবে।
Loop Example (Drawing a Circle):
একটি বৃত্ত আঁকতে, আমরা লুপ ব্যবহার করে ছোট ছোট সোজা লাইন আঁকতে পারি এবং সেগুলোকে প্রতিটি স্টেপে এক ডিগ্রি ঘুরিয়ে একটি বৃত্ত তৈরি করতে পারি।
TO circle
REPEAT 360 [ ; ৩৬০ বার লাইন আঁকবে
FORWARD 1
RIGHT 1
]
ENDএখানে:
- REPEAT 360: এটি ৩৬০ বার কোডটি পুনরাবৃত্তি করবে, যা একটি পূর্ণ বৃত্ত তৈরি করবে।
ব্যবহার:
circleএটি একটি বৃত্ত আঁকবে।
সারসংক্ষেপ:
- Recursive Procedures হল এমন ফাংশন যা নিজেকে কল করে। এটি সমস্যাকে ছোট ছোট অংশে বিভক্ত করে সমাধান করতে সাহায্য করে। Logo-তে রিকার্সন একটি শক্তিশালী কৌশল যা কমপ্লেক্স কাজকে সহজ করে তোলে, যেমন ফ্যাক্টোরিয়াল গণনা।
- Loops (পুনরাবৃত্তি) হল একটি প্রক্রিয়া যার মাধ্যমে একই কাজ বারবার পুনরাবৃত্তি করা হয়। REPEAT কমান্ড ব্যবহার করে আমরা নির্দিষ্ট সংখ্যক বার একটি কাজ করতে পারি। এটি সহজ এবং দ্রুত পুনরাবৃত্তিমূলক কাজ করতে সাহায্য করে, যেমন বর্গ বা বৃত্ত আঁকা।
উভয় কৌশলই Logo ভাষায় প্রোগ্রামিংকে আরও কার্যকর এবং নমনীয় করে তোলে।
Read more