Skip to main content

পাঠ ২: একটি ফর লুপ সহ একটি প্রকল্পের প্রবাহ

যখন একটি প্রকল্প লুপের জন্য ব্যবহার করে, তখনও এটি কমান্ডগুলি কার্যকর করার সময় একই যুক্তি অনুসরণ করে। উদাহরণস্বরূপ, এই দুটি কোড নমুনা VR রোবটকে একইভাবে চলতে সাহায্য করবে। যাইহোক,forলুপ সহ প্রকল্পটি, এটি করার জন্য দুটি ড্রাইভট্রেন কমান্ড চারবার পুনরাবৃত্তি করে।

for লুপ ব্যবহার এবং not লুপের মধ্যে পার্থক্য বোঝাতে পাশাপাশি দেখানো একটি বর্গক্ষেত্রে ড্রাইভ করার জন্য দুটি কোড স্নিপেট। বাম দিকেরটিতে কোনও for লুপ নেই, এবং drive for এবং turn for কমান্ডগুলি চারবার করে পুনরাবৃত্তি করা হয়েছে। ডানদিকেরটিতে একটি for লুপ রয়েছে, এবং লাল তীরচিহ্নগুলি একটি বৃত্তাকার প্যাটার্নে রয়েছে যার ভিতরে 4 বার শব্দ রয়েছে, যা নির্দেশ করে যে for লুপের ফলে for এবং turn for কমান্ডগুলি চারবার পুনরাবৃত্তি হয়।

একটি for লুপ নির্দিষ্ট সংখ্যক বার কমান্ডের একটি সিরিজ পুনরাবৃত্তি করতে ব্যবহৃত হয়। for লুপটি এর ভিতরে থাকা কমান্ডের ক্রম অনুসারে পুনরাবৃত্তি করে (যাকে iteratesও বলা হয়)। লুপের জন্য একটি Python এ, বর্তমান পুনরাবৃত্তি ট্র্যাক করতে 'মান' ভেরিয়েবল ব্যবহার করা হয় এবং 'in' কীওয়ার্ডটি পুনরাবৃত্তির সংখ্যা নির্দিষ্ট করতে রেঞ্জফাংশন ব্যবহার করে। কমান্ডের প্রতিটি শব্দের উপরে লেখা সহ একটি for লুপের সিনট্যাক্সের ভাঙ্গন দেখানো হয়েছে যার কার্যকারিতা সনাক্ত করা যায়। প্রথম শব্দ, for, এর উপরে "লুপটি সনাক্ত করে" লেখা আছে। দ্বিতীয় শব্দ, মান, এর লেখাটি হল: "ভেরিয়েবলটি সনাক্ত করে (এটি লুপের মাধ্যমে কতবার পুনরাবৃত্তি হয়েছে?)।" তৃতীয় শব্দ, "in"-এ লেখা আছে "ভেরিয়েবলটিকে তালিকার (পরিসর) সাথে সংযুক্ত করে।" শেষ শব্দটি হল range, যেখানে প্যারামিটার 10 বন্ধনীতে থাকবে। উপরের লেখাটিতে লেখা আছে, "তালিকাটি সনাক্ত করে (এটি লুপের মাধ্যমে কতবার পুনরাবৃত্তি করবে?)।"

রেঞ্জ ফাংশনটি লুপটি কতবার পুনরাবৃত্তি (অথবা পুনরাবৃত্তি) করা উচিত তা চিহ্নিত করে। পছন্দসই সংখ্যক বার আচরণগুলি পুনরাবৃত্তি করতে, পরিসর ফাংশনের প্যারামিটার সেট করুন।

রেঞ্জ ফাংশনটি মূলত একটি অস্থায়ী তালিকা তৈরি করে যা লুপটি সম্পূর্ণ করার জন্য কোন কোন মাধ্যমে পুনরাবৃত্তি করা উচিত তা নির্দিষ্ট করে। বর্গক্ষেত্রের চারটি বাহু আঁকার মতো পুনরাবৃত্তিমূলক আচরণের ক্ষেত্রে, রেঞ্জ ফাংশনটি (0, 1, 2, 3) এর একটি অস্থায়ী তালিকা ব্যবহার করে VR রোবটকে চারবার সেই কমান্ডগুলি কার্যকর করতে সক্ষম করে। এখানে দেখানো হয়েছে, রেঞ্জ ফাংশনের প্যারামিটারের উপর নির্ভর করে VR রোবটের গতিবিধি পরিবর্তিত হবে। 

রেঞ্জ ফাংশনটি চিত্রিত করে VEXcode প্রকল্প। এটিতে def লেখা আছে, main open parenthesis, close parenthesis, colon, next line যা ইন্ডেন্ট করা আছে, reads pen dot, move, open parenthesis, down, close parenthesis, next line for value in range, open parenthesis, 0, close parenthesis, colon, next line যা ইন্ডেন্ট করা আছে, reads drivetrain, dot drive underscore for open parenthesis, forward, 600, MM, close parenthesis, next line drivetrain, dot turn, underscore for open parenthesis, right, 90, degree close parenthesis, next line wait, open parenthesis, five comma MSEC). কেন্দ্রে রোবট সহ আর্ট ক্যানভাস খেলার মাঠ। ড্রাইভট্রেন কমান্ড 0 বার কার্যকর করা হয়েছে।
উপরের মতো একই প্রকল্প, কিন্তু পরিসর ফাংশনের প্যারামিটারে 1 সহ। আর্ট ক্যানভাস খেলার মাঠ, যেখানে একটি বর্গক্ষেত্রের একপাশ আঁকার প্রকল্প সম্পূর্ণ। ড্রাইভট্রেন কমান্ড ১ বার কার্যকর করা হয়েছে।
উপরের মতো একই প্রকল্প, কিন্তু পরিসর ফাংশনের প্যারামিটারে 2 সহ। আর্ট ক্যানভাস খেলার মাঠ যেখানে দেখানো হচ্ছে যে রোবটটি বর্গক্ষেত্রের প্রথম দুটি দিক আঁকছে। ড্রাইভট্রেন কমান্ডগুলি ২ বার কার্যকর করা হয়েছে।
উপরের মতো একই প্রকল্প, কিন্তু পরিসর ফাংশনের প্যারামিটারে 3 সহ। আর্ট ক্যানভাস খেলার মাঠ যেখানে দেখানো হচ্ছে যে রোবটটি বর্গক্ষেত্রের তিনটি দিক আঁকছে। ড্রাইভট্রেন কমান্ডগুলি ৩ বার কার্যকর করা হয়েছে।
উপরের মতো একই প্রকল্প, কিন্তু পরিসর ফাংশনের প্যারামিটারে 4 সহ। আর্ট ক্যানভাস খেলার মাঠ যেখানে দেখানো হচ্ছে যে রোবটটি বর্গক্ষেত্রের চারটি দিকই আঁকছে। ড্রাইভট্রেন কমান্ডগুলি 4 বার কার্যকর করা হয়েছে, বর্গক্ষেত্রের 4 টি দিক সম্পূর্ণ করে।

 

উপরের মতো একই প্রকল্প, কিন্তু পরিসর ফাংশনের প্যারামিটারে 5 সহ।

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

লক্ষ্য করুন যেরেঞ্জফাংশনটি চার থেকে পাঁচে পরিবর্তিত হলে বর্গক্ষেত্রের আঁকা আকৃতি পরিবর্তিত হয়নি; তবে VR রোবটের চূড়ান্ত অবস্থান পরিবর্তিত হয়েছে। অতএব, ডিফল্টরেঞ্জফাংশন দশের সাথেলুপের জন্যব্যবহার করলে একই বর্গাকার আকৃতি আঁকা হবে, কিন্তু VR রোবট অতিরিক্ত ছয়বার আচরণগুলি পুনরাবৃত্তি করতে থাকবে। 

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

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

VEXcode VR-তে,forলুপের সাথে সর্বদা একটিwaitকমান্ড যোগ করা হয়। waitকমান্ডের উদ্দেশ্য হল VEXcode VR যাতে প্রকল্পটি যথাযথভাবে পরিচালনা করতে পারে তা নিশ্চিত করা, কারণ VEXcode VR প্ল্যাটফর্মটি ওয়েব-ভিত্তিক। forলুপ ব্যবহার করার সময়waitকমান্ডটি কখনই মুছে ফেলা উচিত নয়, অন্যথায় আপনার প্রকল্পটি ইচ্ছাকৃতভাবে নাও চলতে পারে।

অপেক্ষা কমান্ড সহ For লুপ।

for লুপটি যতবার কার্যকর করার জন্য সেট করা হয়েছে, তা প্রয়োজনীয় পুনরাবৃত্তি সম্পন্ন করার পরে প্রকল্পটিকেforলুপের মধ্য দিয়ে প্রবাহিত করতে সক্ষম করে। প্রকল্পটি লুপের বাইরে পরবর্তী কমান্ডে যাওয়ার আগে for লুপে rangeফাংশনের প্যারামিটারে পৌঁছাতে হবে। নিচের কোড নমুনায়,forলুপে Drivetrain কমান্ডগুলি চারবার কার্যকর করার পরে, প্রকল্পটিforলুপ থেকে বেরিয়ে আসবে, কলমের রঙ লাল করবে এবং বিপরীত দিকে ড্রাইভ করবে। উপরে থেকে VEXcode প্রকল্পটি, যেখানে রেঞ্জ প্যারামিটারে 4 দেখানো হয়েছে, যেখানে for লুপের চারপাশে লাল তীরচিহ্ন রয়েছে এবং 4x স্বরলিপিটি দেখায় যে প্রকল্পটি লুপের মধ্য দিয়ে চারবার পুনরাবৃত্তি করবে। নীচে আরও ২টি লাইন কোড যোগ করা হয়েছে। তীরচিহ্নগুলি দেখায় যে চারটি পুনরাবৃত্তি সম্পন্ন হওয়ার পরে সেই দুটি লাইন কার্যকর হবে। ঐ লাইনগুলো পড়ে, পেন ডট সেট রঙ খোলা বন্ধনী লাল বন্ধনী এবং ড্রাইভট্রেন ডট ড্রাইভ খোলা বন্ধনীর জন্য আন্ডারস্কোর বিপরীত কমা 600 কমা মিমি বন্ধ বন্ধনী। খেলার মাঠে প্রকল্পটি চালানোর পর ডানদিকে একটি ছবি রয়েছে যেখানে একটি কালো বর্গক্ষেত্র দেখানো হয়েছে যার ভিআর রোবট দ্বারা আঁকা একটি লাল রেখা বেরিয়ে আসছে।

মিনি চ্যালেঞ্জ

এই প্রকল্পে, VR রোবটটিকে আর্ট ক্যানভাস খেলার মাঠ, এ একটি নীল বর্গক্ষেত্র আঁকতে হবে কিন্তু প্রকল্পে ত্রুটি রয়েছে৷ মিনি চ্যালেঞ্জ সমাধান প্রকল্প সম্পাদনা করুন!

ভিআর রোবট দ্বারা আঁকা নীল বর্গক্ষেত্র সহ আর্ট ক্যানভাস খেলার মাঠ।

নিচের ভিডিওটিতে মিনি চ্যালেঞ্জটি সম্পন্ন করার জন্য কী করতে হবে তা দেখানো হয়েছে। রোবটটি খেলার মাঠের মাঝখান থেকে শুরু করে এবং একটি বৃহৎ নীল বর্গক্ষেত্রের চার দিক আঁকে। 

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

অভিনন্দন! আপনি মিনি চ্যালেঞ্জ সমাধান করেছেন!

প্রশ্ন

পাঠ কুইজ অ্যাক্সেস করতে নীচের একটি লিঙ্ক নির্বাচন করুন.

গুগল ডক / .ডকএক্স / .পিডিএফ