Skip to main content

পাঠ ২: পুনরাবৃত্তিমূলক ক্রিয়া

এখন যেহেতু VR রোবটটি পেন ব্যবহার করে আর্ট ক্যানভাস প্লেগ্রাউন্ড এ একটি বর্গক্ষেত্র আঁকছে, আপনিলুপের জন্য ব্যবহার করতে শিখবেন এবং আপনার প্রকল্পটি সহজ করবেন। এই পাঠে আপনাকে আর্ট ক্যানভাস প্লেগ্রাউন্ডফর লুপ ব্যবহার করে একটি বর্গক্ষেত্র আঁকার ধাপগুলি দেখানো হবে।

আর্ট ক্যানভাস খেলার মাঠ যার উপর একটি কালো বর্গক্ষেত্র আঁকা। ভিআর রোবটটি খেলার মাঠের মাঝখানে, বর্গক্ষেত্রের নীচের বাম কোণে অবস্থিত।

শেখার ফলাফল

  • এর জন্য লুপের ভিতরের কমান্ডগুলিকে নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি করতে কীভাবে ব্যবহার করবেন তা শনাক্ত করুন।
  • লুপের জন্য এ একটি 'মান' চলক এবং পুনরাবৃত্তির সংখ্যা সনাক্ত করার জন্য একটিপরিসরফাংশন রয়েছে তা চিহ্নিত করুন। 
  • লুপের জন্যএররেঞ্জফাংশনটি লুপটি কতবার পুনরাবৃত্তি করা উচিত তা চিহ্নিত করে তা চিহ্নিত করুন।
  • লুপের জন্যএররেঞ্জফাংশনটি পূর্ণসংখ্যাকে প্যারামিটার হিসেবে গ্রহণ করতে পারে কিনা তা চিহ্নিত করুন।
  • একটি প্রকল্পে এর জন্য লুপ কেন ব্যবহার করা হবে তা বর্ণনা করো।
  • লুপের জন্য ধারণকারী একটি প্রকল্পের প্রবাহ বর্ণনা করো।

প্রকল্পের নাম পরিবর্তন করুন

  • যদি পূর্ববর্তী পাঠের প্রকল্পটি ইতিমধ্যে লোড না হয়, তাহলে Unit3Lesson1 প্রকল্পটি লোড করুন।
  • প্রকল্পের নাম বক্স নির্বাচন করে প্রকল্পের নাম পরিবর্তন করুন।
    প্রকল্পের নামের বাক্সটি হাইলাইট করা VR টুলবার। বাক্সের নাম হল ইউনিট ৩ পাঠ ১।
  • নতুন প্রকল্পের নাম Unit3Lesson2লিখুন এবং "সংরক্ষণ করুন" নির্বাচন করুন।
    প্রকল্পের নাম ডায়ালগ খোলা সহ VR টুলবার। প্রকল্পটির নাম পরিবর্তন করে ইউনিট ৩ পাঠ ২ রাখা হয়েছে, এবং সংরক্ষণ বোতামটি একটি লাল বাক্স দিয়ে হাইলাইট করা হয়েছে।

পুনরাবৃত্তি কর্ম

for লুপটি এর মধ্যে থাকা কমান্ডগুলিকে নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি করার জন্য ব্যবহৃত হয়। for লুপ এমন প্রকল্প তৈরি করার সময় সময় এবং শ্রম সাশ্রয় করে যেখানে কমান্ড পুনরাবৃত্তি হয়। কর্মক্ষেত্রে অতিরিক্ত কমান্ড টেনে আনা বা টাইপ করা বা বিদ্যমান কমান্ডগুলির নকল করার জন্য সময় নেওয়ার পরিবর্তে, স্থান এবং সময় বাঁচাতে forলুপ ব্যবহার করা যেতে পারে।

এই প্রকল্পেforলুপ ব্যবহার করে VR রোবটকে একটি বর্গক্ষেত্রের চারটি দিক আঁকতে সাহায্য করবে, যেখানে এক দিক আঁকার কমান্ডগুলি চারবার পুনরাবৃত্তি করা হবে।

  • পূর্ববর্তী প্রকল্পটি পরিবর্তন করে, নীচের প্রকল্পটি অনুলিপি করে শুরু করুন, অথবা এই বেস প্রকল্পের সাথে মেলে একটি নতুন প্রকল্প তৈরি করুন। 
def main():
	pen.move(DOWN)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(ডান, 90, ডিগ্রি)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(ডান, 90, ডিগ্রি)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(ডান, 90, ডিগ্রি)
	drivetrain.drive_for(FORWARD, 600, MM)
	drivetrain.turn_for(ডান, 90, ডিগ্রি)

 

  • এই প্রকল্পে বারবার ব্যবহৃত কমান্ডগুলি হলdrive_forএবংturn_forকমান্ড। প্রকল্পের নীচের ছয়টি কমান্ড মুছে ফেলুন, তাহলেmoveকমান্ডের নীচে কেবল একটিdrive_forএবং একটি turn_forকমান্ড অবশিষ্ট থাকবে, এবং প্রকল্পটি এইরকম দেখাবে: 

    def main():
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(ডান, 90, ডিগ্রি)
  • forলুপটিকে main functionএর শেষে টেনে আনুন, যাতে আপনার প্রজেক্টটি এরকম দেখায়। লক্ষ্য করুন যেforলুপটি স্বয়ংক্রিয়ভাবে ভিতরে একটিwaitকমান্ড তৈরি করবে। waitকমান্ডসরাবেন না, এটি নিশ্চিত করবে যে VR রোবট সঠিকভাবে আচরণ করছে।

    def main():
        pen.move(DOWN)
        drivetrain.drive_for(FORWARD, 600, MM)
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    
        repeat_count এর জন্য range(10):
            wait(5, MSEC)
  • forলুপ যাতে বর্গক্ষেত্রের একটি পাশ আঁকতে ড্রাইভট্রেন কমান্ডগুলি পুনরাবৃত্তি করতে পারে, সেই কমান্ডগুলি forলুপের মধ্যে থাকা প্রয়োজন, যা ইন্ডেন্টেশন দ্বারা নির্দেশিত। Drivetrain কমান্ডের জন্য জায়গা তৈরি করতেforলুপ এবংwaitকমান্ডের মধ্যে দুটি লাইন যোগ করুন। উপরের প্রকল্পের মতো একই প্রকল্প, for কমান্ড এবং wait কমান্ডের মধ্যে দুটি লাইন স্পেস যোগ করা হয়েছে।
  • এরপর, Drivetrain কমান্ডগুলিকে for লুপের ভিতরে সরাতে, for লুপ হেডারের নীচে কমান্ডগুলি কপি করে পেস্ট করুন, কমান্ডগুলি হাইলাইট করুন এবং drive_for এবং turn_for কমান্ডগুলিকে লুপ হেডার এবং waitকমান্ডের মধ্যে টেনে আনুন, অথবা নীচের প্রকল্প থেকে কপি করে পেস্ট করুন।
def main():
	pen.move(DOWN)
	
	রেঞ্জের মানের জন্য (10):
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait(5, MSEC)
  • নিশ্চিত করুন যে for লুপের ভিতরের কমান্ডগুলি সঠিকভাবে ইন্ডেন্ট করা আছে, বাম দিকের ধূসর লাইনটি একটি নির্দেশিকা হিসাবে ব্যবহার করুন যা for লুপের মধ্যে কোন কমান্ডগুলি রয়েছে তা নির্দেশ করে।

আপনার তথ্যের জন্য

পাইথনে ইন্ডেন্টেশনখুবইগুরুত্বপূর্ণ। কমান্ডের ইন্ডেন্টেশন নির্ধারণ করে কিভাবে একটি প্রকল্প সম্পাদিত হয়। লুপের জন্যএর ক্ষেত্রে, এর মধ্যে ইন্ডেন্ট করা কমান্ডগুলি লুপের অংশ হিসাবে চালানো হবে। আপনি কমান্ডের বাম দিকের লাইনগুলি ব্যবহার করতে পারেন, কিভাবে একটি লুপের মধ্যে কমান্ডগুলিকে গোষ্ঠীভুক্ত করা হচ্ছে তার ভিজ্যুয়াল গাইড হিসাবে। 

উপরে থেকে প্রকল্পটি, "গাইডিং লাইন" লেখা এবং তীর চিহ্নটি হালকা ধূসর লাইনের দিকে নির্দেশ করে যা একটি for লুপের মধ্যে কমান্ডের সঠিক ইন্ডেন্টেশন নির্দেশ করে। শেষ তিনটি কমান্ডের চারপাশে একটি লাল বন্ধনী দেখায় যে সেগুলি সমানভাবে ইন্ডেন্ট করা হয়েছে এবং for লুপের মধ্যে সারিবদ্ধ।

ইন্ডেন্টেশনে ত্রুটিগুলি আপনার প্রকল্পের প্রবাহকে প্রভাবিত করতে পারে এবং আপনার প্রকল্পকে উদ্দেশ্য অনুযায়ী চালাতে না পারে। ইন্ডেন্টেশনের অভাব, বা অসম ইন্ডেন্টেশন, যেমনটি এখানে দেখানো হয়েছে, আপনার কোড ফাংশনকে উদ্দেশ্য করে রাখার জন্য এড়ানো উচিত।

একটি for লুপে পাশাপাশি ভুল ইন্ডেন্টেশনের দুটি সাধারণ উদাহরণ, যার উপরে বড় লাল x চিহ্ন রয়েছে যাতে জোর দেওয়া যায় যে সেগুলি ভুল। বাম দিকের প্রকল্পটি এই পাঠের প্রকল্প, কিন্তু for লুপের মধ্যে কোনও ইন্ডেন্টেশন নেই। ডানদিকের প্রকল্পটি এই পাঠের প্রকল্প, কিন্তু নীচের তিনটি কমান্ডের সাথে, সবগুলোই বিভিন্ন ডিগ্রীতে ইন্ডেন্ট করা হয়েছে।

VEXcode VR আপনার প্রজেক্ট চালাতে সক্ষম হওয়ার আগে আপনাকে ইন্ডেন্টেশন ত্রুটিগুলি সমাধান করার জন্য অনুরোধ করতে পারে। এই ত্রুটিগুলি প্রিন্ট কনসোলে চিহ্নিত করা যেতে পারে, যাতে আপনি সহজেই সমস্যার সমাধান করতে পারেন এবং আপনার প্রকল্প চালাতে পারেন।এই পাঠের প্রকল্পটি বাম দিকে দেখানো হয়েছে। VEXcode VR-এর প্রিন্ট কনসোলটি ডানদিকে দেখানো হয়েছে, ডানদিকে দেখানো একটি অপ্রত্যাশিত ইন্ডেন্টের ইঙ্গিত করে একটি লাল ত্রুটি বার্তা সহ। একটি বড় লাল তীর ত্রুটি বার্তা থেকে ত্রুটিযুক্ত প্রকল্পের লাইন পর্যন্ত প্রসারিত।

 

 

  • এখন যেহেতু বর্গক্ষেত্রের একপাশ আঁকার জন্য ড্রাইভট্রেন কমান্ডগুলি লুপের মধ্যে রয়েছে, তাই রেঞ্জফাংশনের প্যারামিটার সেট করা যেতে পারে। একটি বর্গক্ষেত্র আঁকতে হলে চারটি দিক আঁকতে হবে। কমান্ডগুলো চারবার পুনরাবৃত্তি করার জন্য, for লুপ হেডারে range ফাংশনের প্যারামিটারটি "4" এ সেট করুন যাতে একটি VR রোবট একটি বর্গক্ষেত্রের চারটি দিক আঁকতে পারে।
    এই পাঠের প্রকল্প, for লুপে রেঞ্জ ফাংশনের প্যারামিটার 10 থেকে 4 এ পরিবর্তন করা হয়েছে।

আপনার তথ্যের জন্য

for লুপ হেডারের রেঞ্জ ফাংশনটি পূর্ণসংখ্যা গ্রহণ করতে পারে। দশমিক (অথবা ভাসমান) এর জন্য লুপের জন্য প্যারামিটার হিসেবে কাজ করবে না। রেঞ্জফাংশনের ডিফল্ট প্যারামিটার হল '10'। 

প্যারামিটারে পূর্ণসংখ্যা 10 সহ লুপ কমান্ডের জন্য।
  • আর্ট ক্যানভাস প্লেগ্রাউন্ড খুলতে "ওপেন প্লেগ্রাউন্ড" বোতামটি নির্বাচন করুন যদি এটি ইতিমধ্যে খোলা না থাকে এবং প্রকল্প শুরু করুন।
    VEXcode VR টুলবার যেখানে উপরের ডানদিকে "ওপেন প্লেগ্রাউন্ড" বোতামটি লাল বাক্স দিয়ে হাইলাইট করা আছে।
  • পেন দিয়ে একটি বর্গক্ষেত্র আঁকতে আর্ট ক্যানভাস খেলার মাঠ এ VR রোবটকে এগিয়ে নিয়ে যান এবং চারবার ডানদিকে ঘুরুন।

    আর্ট ক্যানভাস খেলার মাঠ যার উপর একটি কালো বর্গক্ষেত্র আঁকা। ভিআর রোবটটি খেলার মাঠের মাঝখানে, বর্গক্ষেত্রের নীচের বাম কোণে অবস্থিত।

এই পাঠের বাকি অংশটি চালিয়ে যেতে পরবর্তী বোতামটি নির্বাচন করুন।