প্রোগ্রামিং লুপ - C++
শিক্ষক টুলবক্স
-
কার্যকলাপের রূপরেখা
-
এই অন্বেষণ পুনরাবৃত্তি বা চিরতরে লুপ ব্যবহার করে শিক্ষার্থীদের পুনরাবৃত্তিমূলক আচরণ প্রোগ্রামিংয়ের সাথে পরিচয় করিয়ে দেবে।
-
রিপিট এবং ফরএভার লুপ ব্যবহার করে প্রোগ্রাম শেখার মাধ্যমে শিক্ষার্থীরা একই পুনরাবৃত্তিমূলক ক্রিয়া ব্যবহার করে এমন একটি প্রকল্প তৈরি করার সময় সময় বাঁচাতে পারে। টেক্সট প্রজেক্টে ব্যবহৃত নির্দেশাবলী সম্পর্কে আরও তথ্যের জন্য,সাহায্যতথ্য দেখুন।
Clawbot V5 সরানোর জন্য প্রস্তুত!
এই অন্বেষণ আপনাকে লুপ ব্যবহার করে এমন কিছু দুর্দান্ত প্রকল্প তৈরি শুরু করতে সক্ষম হওয়ার সরঞ্জাম দেবে ।
-
VEXcode V5 নির্দেশাবলী যা এই অন্বেষণে ব্যবহার করা হবে:
-
Drivetrain.driveFor(ফরোয়ার্ড, 300, মিমি);
-
Drivetrain.turnFor(ডান, 90, ডিগ্রি);
-
ClawMotor.spinFor(বিপরীত, 70, ডিগ্রী);
-
ArmMotor.spinFor(ফরোয়ার্ড, 360, ডিগ্রী);
-
যখন (সত্য) {}
-
পুনরাবৃত্তি (4) {}
-
অপেক্ষা করুন(5, সেকেন্ড);
-
অতিরিক্ত তথ্য অ্যাক্সেস করতে, আপনার কর্মক্ষেত্রে একটি কমান্ডের নামের উপর ডান ক্লিক করুন যাতে সেই কমান্ডের জন্যসাহায্যদেখতে পাওয়া যায়।
শিক্ষকদের টিপস
যদি শিক্ষার্থীরা প্রথমবারের মতো VEXcode V5 ব্যবহার করে, তাহলে তারাVEX লাইব্রেরিতে বিভিন্ন ধরণের নিবন্ধ পড়তে পারবে।

শিক্ষক টিপস
-
স্বয়ংসম্পূর্ণ ব্যবহার
VEXcode V5-এর একটি বৈশিষ্ট্য হল Autocomplete যা আপনার টাইপ করা বাকি কমান্ডের পূর্বাভাস দেয়। যেহেতু শিক্ষার্থীরা VEXcode V5 তে কাজ করছে, তাই তাদেরসিনট্যাক্সএর সাথে সাহায্য করার জন্য Autocomplete বৈশিষ্ট্যটি ব্যবহার করতে উৎসাহিত করুন।

অটোকমপ্লিট - টিউটোরিয়ালপ্রবন্ধে অটোকমপ্লিট বৈশিষ্ট্যটি কীভাবে ব্যবহার করতে হয় তা আলোচনা করা হয়েছে। আরও তথ্যের জন্য, VEXcode V5 এর মধ্যে টিউটোরিয়াল ভিডিওগুলি ঘুরে দেখুন।

স্বয়ংক্রিয় সম্পূর্ণ টিউটোরিয়ালটি নির্বাচন করুন।
আপনার প্রয়োজনীয় হার্ডওয়্যার, আপনার ইঞ্জিনিয়ারিং নোটবুক এবং VEXcode V5 ডাউনলোড এবং প্রস্তুত রয়েছে তা নিশ্চিত করুন ।
| পরিমাণ | প্রয়োজনীয় উপকরণ |
|---|---|
| 1 |
VEX V5 ক্লাসরুম স্টার্টার কিট (আপ-টু-ডেট ফার্মওয়্যার সহ) |
| 1 |
VEXcode V5 (সর্বশেষ সংস্করণ, উইন্ডোজ, ম্যাকওএস) |
| 1 |
ইঞ্জিনিয়ারিং নোটবুক |
| 1 |
ক্লবট টেমপ্লেট (ড্রাইভট্রেন 2-মোটর, কোন গিরো) উদাহরণ প্রকল্প |
ধাপ ১: লুপ দিয়ে প্রোগ্রামিং শুরু করা যাক
-
আপনি আপনার প্রকল্প শুরু করার আগে, সঠিক টেম্পলেট প্রকল্প নির্বাচন করুন । ক্লবট টেম্পলেট (ড্রাইভট্রেন 2-মোটর, নো গিরো) উদাহরণ প্রকল্পে ক্লবটের মোটর কনফিগারেশন রয়েছে । যদি টেমপ্লেটটি ব্যবহার না করা হয়, তাহলে আপনার রোবট প্রকল্পটি সঠিকভাবে চালাবে না ।

- ফাইলএবংনির্বাচন করুন উদাহরণ খুলুন।
-
বিভিন্নউদাহরণপ্রকল্প স্ক্রোল করুন। এই প্রকল্পগুলি আপনার Clawbot করতে পারে এমন বিভিন্ন ক্রিয়া প্রদর্শন করে । Clawbot Template (Drivetrain 2-motor, No Gyro)উদাহরণ প্রকল্পটি নির্বাচন করুন এবং খুলুন।

-
RepeatingActions প্রকল্পের নাম দিন ।
-
নিম্নলিখিত কোডটি টাইপ করুন:
int main() { //রোবট কনফিগারেশন শুরু করা । মুছে ফেলবেন না! vexcodeInit (); // ড্রাইভ এগিয়ে যায় এবং 4 পুনরাবৃত্তির জন্য 90 ডিগ্রি ঘুরে (4){ Drivetrain.driveFor (ফরোয়ার্ড, 300, মিমি); Drivetrain.turnFor (ডান, 90, ডিগ্রী); অপেক্ষা করুন(5, সেকেন্ড); } }
প্রকল্পটি দেখুন এবং তারপরে আপনার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিতটি করুন ।
-
ভবিষ্যদ্বাণী করুন যে এই প্রকল্পে ক্লবোট কী করবে । প্রকল্পটি পুনরাবৃত্তি হওয়ার চেয়ে আরও ব্যাখ্যা করুন ।
এটি কী পুনরাবৃত্তি করছে? Clawbot কী করছে?
- আপনার ভবিষ্যদ্বাণী লিখুন, তবে সংক্ষিপ্ত প্রকল্পটি দুটি অংশের বেশি ভাঙ্গবেন না ।
শিক্ষক টুলবক্স
-
উত্তর
-
এই প্রকল্পে রোবটটি থাকবে: ৩০০ মিলিমিটার এগিয়ে যান, ৯০ ডিগ্রি ডানদিকে ঘুরুন এবং তারপর একটি বর্গক্ষেত্র সম্পূর্ণ করার জন্য ৫ সেকেন্ড ৪ বার অপেক্ষা করুন। একই ৩টি নির্দেশ ৪ বার ব্যবহার করার পরিবর্তে, পুনরাবৃত্তি নির্দেশের পরিমাণ কমিয়ে মাত্র ১ বার করা হয়। পুনরাবৃত্তি নির্দেশটি সামনের দিকে গাড়ি চালানো এবং তারপর বাঁক নেওয়ার ক্রিয়াগুলির পুনরাবৃত্তি করে।
-
ভবিষ্যদ্বাণীটি কেবল "দ্য ক্লবট একটি বর্গক্ষেত্রে চলাচল করে" হতে পারে। কোনও প্রেক্ষাপট ছাড়াই ক্লবটের বারবার নড়াচড়া ধরার এটি একটি সংক্ষিপ্ত উপায় হবে।
শিক্ষার্থীদের ইঞ্জিনিয়ারিং নোটবুকগুলি রক্ষণাবেক্ষণ করা যেতে পারে এবং পৃথকভাবেস্কোর করা যেতে পারেঅথবাটিম হিসাবে। পূর্ববর্তী লিঙ্কগুলিতে প্রতিটি পদ্ধতির জন্য আলাদা আলাদা রুব্রিক দেওয়া আছে। যখনই শিক্ষা পরিকল্পনায় কোন রুব্রিক অন্তর্ভুক্ত করা হয়, তখন কার্যকলাপ শুরুর আগে রুব্রিকটি ব্যাখ্যা করা অথবা অন্তত শিক্ষার্থীদের কপি দেওয়া ভালো অভ্যাস।
-
রিপিটিং অ্যাকশন প্রকল্পটি সংরক্ষণ, ডাউনলোড এবং চালান
- আপনার ইঞ্জিনিয়ারিং নোটবুকে প্রকল্পের আপনার ব্যাখ্যাগুলি পরীক্ষা করুন এবং প্রয়োজন অনুসারে সেগুলি সংশোধন করতে নোট যোগ করুন ।
ধাপ 2: প্রকল্পটি চালান এবং রোবটটি পর্যবেক্ষণ করুন

পুনরাবৃত্তিমূলক ক্রিয়া প্রকল্প (ডানদিকে) আবার দেখুন । এই প্রকল্পটি সামনে পুনরাবৃত্তি করবে এবং তারপরে চারবার আচরণ চালু করবে । যখন আপনি নির্দিষ্ট সংখ্যক আচরণের একটি সেট নির্দিষ্ট সংখ্যক বার ব্যবহার করতে চান তখন একটি "পুনরাবৃত্তি" লুপ কাঠামো ব্যবহার করা হয়।
যদি পুনরাবৃত্তি কাঠামোটি "while" লুপ কাঠামো দিয়ে প্রতিস্থাপিত হয়, তাহলে রোবটটি সামনের দিকে পুনরাবৃত্তি করবে এবং তারপর "while" আচরণগুলিকে ঘুরিয়ে দেবে, শর্তটি সত্য। "while" লুপটি চিরতরে চলতে রাখার জন্য আপনি শর্তটিকে "true" তেও সেট করতে পারেন।
বাম দিকের প্রকল্পে, কখন ঘুরতে শুরু করবেন তা নির্ধারণ করতে একটি সেন্সরের ইনপুট ব্যবহার করা হয়। ডানদিকের প্রকল্পটি কখন বাঁক শুরু করতে হবে তা নির্ধারণ করার জন্য একটি নির্দিষ্ট ড্রাইভট্রেন দূরত্ব ব্যবহার করে।
সেন্সরের ইনপুট ক্রমাগত পরীক্ষা করার জন্য, একটি "যদি/অন্যথায়" বিবৃতি এবং "যখন" লুপ ব্যবহার করা হয়। বাম দিকের প্রকল্পে, "BumperB" সেন্সরটি চাপলে রোবটটি ডানদিকে ঘুরবে, অন্যথায় "BumperB" সেন্সরটি চাপ না দিলে রোবটটি চিরতরে এগিয়ে যাবে । BumperB সেন্সরের মান ক্রমাগত পরীক্ষা করার জন্য, "if" স্টেটমেন্টটি একটি "while true" লুপের মধ্যে থাকে।
বাম দিকের উপরের প্রকল্পটি এমন একটি কাঠামোর ব্যবহারিক ব্যবহারের ক্ষেত্রে যা চিরকাল পুনরাবৃত্তি করে - while loops এবং if স্টেটমেন্ট একসাথে ব্যবহার করে। এমন একটি স্ব-ড্রাইভিং সুইপার কল্পনা করুন যা কোনও প্রাচীর বা বস্তুতে না যাওয়া পর্যন্ত চালিয়ে যায়, তারপরে গাড়ি চালিয়ে যাওয়ার আগে ঘুরে যায় ।
তোমার শেখার পরিধি বাড়াও
কন্ডিশনাল সহ লুপগুলি কীভাবে ব্যবহার করা যায় তা আরও অন্বেষণ করতে, শিক্ষার্থীদের VEXcode V5 এ একটি ফ্লোর সুইপার প্রকল্প তৈরি করতে বলুন।
- শিক্ষার্থীদেরমাউন্ট করে বাম্পারের সুইচগুলি তারের সাথে লাগাতে দিয়ে শুরু করুন।
-
শিক্ষার্থীদেরClawbot টেমপ্লেট (ড্রাইভট্রেন 2-মোটর, কোন গাইরো নেই)উদাহরণ প্রকল্পটি খুলতে বলুন।

-
শিক্ষার্থীদের প্রকল্পটির নাম দিতে বলুন "ফ্লোর সুইপার"।
-
শিক্ষার্থীদের নিম্নলিখিত প্রকল্পটি তৈরি করতে বলুন।
// V5 লাইব্রেরি অন্তর্ভুক্ত করুন #include "vex.h" // নেমস্পেস vex ব্যবহার করে VEX লাইব্রেরি এর সহজ ব্যবহারের অনুমতি দেয়; // pickRandom ফাংশনটি সর্বনিম্ন এবং মধ্যে একটি র্যান্ডম পূর্ণসংখ্যা প্রদান করে // প্যারামিটার হিসাবে পাস করা সর্বোচ্চ মান। int pickRandom(int min, int max) { return min + rand() / (RAND_MAX / (max - min + 1)); } int main() { // রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না! vexcodeInit(); // র্যান্ডম নম্বর জেনারেটরটি প্রাথমিক করুন। srand(randomSeed); while (true) { while (!BumperB.pressing()) { Drivetrain.drive(forward); wait(5, msec); } Drivetrain.stop(); Drivetrain.turnFor((90 + pickRandom(0, 90)), degrees); wait(5, msec); } }
যদি শিক্ষার্থীদের কোন নির্দেশাবলীর জন্য সাহায্যের প্রয়োজন হয়, তাহলে তাদেরসাহায্যতথ্য দেখুন।
শিক্ষার্থীদেররোবটটি কীভাবে চলে তা পর্যবেক্ষণ করার জন্য প্রকল্পডাউনলোড এবং চালাতে বলুন। তারপর, একটি ক্লাস আলোচনা শুরু করুন এবং শিক্ষার্থীদের ব্যাখ্যা করতে বলুন কেন পুনরাবৃত্তিমূলক কাঠামোর পরিবর্তে ফরএভার কাঠামো ব্যবহার করা হয়েছিল।
শিক্ষার্থীদের মনে রাখা উচিত যে ফরএভার কাঠামো ব্যবহার করা হয়েছে কারণ এই প্রকল্পটি ক্রমাগত পরীক্ষা করে যে বাম্পার সুইচটি চাপা হচ্ছে কিনা।
ধাপ ৩: স্কোয়ার্ড লুপ চ্যালেঞ্জ!

- আপনার ক্লবট ড্রাইভটি একটি স্কোয়ারে রাখুন ।
- প্রতিটি পালা আগে, নখ খোলা এবং বন্ধ করা আবশ্যক, এবং বাহু উত্থাপিত এবং নিচু করা আবশ্যক ।
- Clawbot স্কোয়ারের একপাশে একবারের বেশি গাড়ি চালাতে পারে না ।
- আপনি উপরে থেকে RepeatingActions প্রকল্পটি একটি শুরু বিন্দু হিসাবে ব্যবহার করতে পারেন তবে কোনও পরিবর্তন করার আগে এটিSquaredLoopsহিসাবে সংরক্ষণ করুন।
আপনার ইঞ্জিনিয়ারিং নোটবুকে, নিম্নলিখিত পরিকল্পনা করুন:
- আপনার সমাধানটি পরিকল্পনা করুন এবং আপনার প্রকল্পের প্রতিটি নির্দেশের ক্লবোট কী করবে তা ভবিষ্যদ্বাণী করুন ।
- আপনার প্রকল্পটি ডাউনলোড করেরান করুন এবং জমা দেওয়ার আগে এটি পরীক্ষা করুন।
- প্রয়োজন অনুসারে প্রকল্পে পরিবর্তন করুন এবং পরীক্ষার সময় কী পরিবর্তন করা হয়েছে সে সম্পর্কে নোট নিন ।
শিক্ষক টুলবক্স
-
সমাধান
স্কয়ার্ড লুপস চ্যালেঞ্জের সম্ভাব্য সমাধান নিম্নরূপ:
int main() {
// রোবট কনফিগারেশন শুরু করা হচ্ছে। সরাবেন না!
vexcodeInit();
repeat(4){
Drivetrain.driveFor(ফরোয়ার্ড, 300, মিমি);
ClawMotor.spinFor(বিপরীত, 70, ডিগ্রি);
ArmMotor.spinFor(ফরোয়ার্ড, 360, ডিগ্রি);
ClawMotor.spinFor(ফরোয়ার্ড, 70, ডিগ্রি);
ArmMotor.spinFor(বিপরীত, 360, ডিগ্রি);
Drivetrain.turnFor(ডান, 90, ডিগ্রি);
wait(5, msec);
}
}শিক্ষার্থীদের প্রকল্পে স্কোর করার জন্য আপনিপ্রোগ্রামিং রুব্রিকপ্রদান করতে পারেন।
শিক্ষার্থীদের ইঞ্জিনিয়ারিং নোটবুকগুলি রক্ষণাবেক্ষণ করা যেতে পারে এবংএককভাবেঅথবাদল হিসেবেস্কোর করা যেতে পারে।