শর্তাবলী সহ প্রোগ্রামিং - পাইথন
শিক্ষক টুলবক্স
-
এই কার্যকলাপের উদ্দেশ্য
এই কার্যকলাপটি শিক্ষার্থীদের এবং এবং if বিবৃতি ব্যবহার করার সাথে পরিচয় করিয়ে দেবে যাতে স্ক্রিনটি চাপা না থাকলে রোবটটি সামনের দিকে এগিয়ে যায়।
- এই কার্যকলাপটি শিক্ষার্থীদের শর্তাবলী এবং স্ক্রিনটি চাপা না থাকলে রোবটকে এগিয়ে নিয়ে যাওয়ার নির্দেশাবলীর সাথে পরিচয় করিয়ে দেবে।
- এই কার্যকলাপে ব্যবহৃত if এবং if-else বিবৃতি বা অন্যান্য সম্পর্কে আরও তথ্যের জন্য, VEXcode V5 এর মধ্যে সহায়তা তথ্য দেখুন। এই বিল্ট-ইন হেল্প টুল সম্পর্কে আরও তথ্যের জন্য, Pythonএ সাহায্য সম্পর্কে নিবন্ধটি দেখুন।
Clawbot সিদ্ধান্ত নিতে প্রস্তুত!
এই অন্বেষণ আপনাকেif-elseস্টেটমেন্ট ব্যবহার করে কিছু দুর্দান্ত প্রকল্প তৈরি করতে সক্ষম হওয়ার সরঞ্জাম দেবে।
- এই অনুসন্ধানে ব্যবহৃত VEXcode V5 Python কমান্ডগুলি:
- drivetrain.drive_for(ফরওয়ার্ড)
- brain.screen.pressing()
- drivetrain.stop()
- যদি শর্ত থাকে:
- অন্যান্য:
- সত্য হলেও:
- অপেক্ষা করুন(5, সেকেন্ড)
পাইথন কমান্ড সম্পর্কে জানতে আপনি VEXcode V5 এর ভিতরে থাকা সহায়তা তথ্য ব্যবহার করতে পারেন।

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

ধাপ ১: শর্তসাপেক্ষ বিবৃতি বোঝার মাধ্যমে শুরু করা যাক
কন্ডিশনাল দিয়ে প্রোগ্রামিং শুরু করার আগে,if-elseস্টেটমেন্ট ব্যাখ্যা করে নিবন্ধটি পড়ুন। নিবন্ধটি এখানে পাওয়া যাবে (Google Doc / .docx / .pdf)।
-elseবিবৃতিতে ব্যবহারযোগ্য অপারেটরগুলির তালিকার জন্য, বুলিয়ান ব্যাখ্যাকারী নিবন্ধটি পড়ুন। এই নিবন্ধটি এখানে পাওয়া যাবে (Google Doc/.docx/.pdf) ।
ধাপ ২: চলুন শর্তসাপেক্ষ বিবৃতি দিয়ে প্রোগ্রামিং শুরু করি।
-
Clawbot (Drivetrain 2-motor, No Gyro) টেম্পলেট উদাহরণ প্রকল্প খুলুন ।

- নিচের প্রকল্পটি তৈরি করুন ।
# প্রজেক্ট কোড শুরু করুন
যখন True:
drivetrain.drive (ফরোয়ার্ড)
if brain.screen.pressing (): drivetrain.stop (
)
যখন brain.screen.pressing ():
wait (5, msec) wait(5, MSEC)
wait(5, MSEC)আপনার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিতগুলি করুন:
- ক্লবোট প্রকল্পটি কী করেছে তা ব্যাখ্যা করুন । এটি একটি স্টপ বোতাম তৈরি করে তা আপনাকে আরও ব্যাখ্যা করতে হবে । ক্লবট কী কী নির্দেশ দেয় তা ব্যাখ্যা করুন ।
- একটি বাক্য সারাংশ লিখুন যা প্রকল্পটি কী করে তা ক্যাপচার করে ।
- ক্লবট প্রকল্পে আপনার ভবিষ্যদ্বাণীটি সঠিক কিনা তা পরীক্ষা করে দেখুন ।
- প্রকল্পটির নাম দিনCreatingAStopButton। Clawbot-এ প্রকল্পটি ডাউনলোড করে।
- প্রকল্পের আপনার ব্যাখ্যাগুলি পরীক্ষা করুন এবং প্রয়োজন অনুসারে সেগুলি সংশোধন করতে নোট যোগ করুন ।
শিক্ষক টুলবক্স
-
উত্তর
এই প্রকল্পে রোবটটি ক্রমাগত এগিয়ে যাবে কিন্তু স্ক্রিনে চাপ দিলে থেমে যাবে। এটি "চিরকালের" বিবৃতি (while True)ব্যবহার করে ক্রমাগত ড্রাইভ এবং চেক করে এটি করে। যদি স্ক্রিনটি চাপা থাকে (সত্য), তাহলে ক্লবটটি গাড়ি চালানো বন্ধ করে দেয়।
শিক্ষার্থীদের কাছ থেকে আশা করা হয় না যে তারা বুঝতে পারবে কেন while brain.screen.pressing():এবং wait(5, MSEC) কমান্ড ব্যবহার করা হয়। রোবটের প্রোগ্রাম প্রবাহের গতির কারণে এই কমান্ডগুলি প্রয়োজনীয় তা ব্যাখ্যা করো। যদি এটি না থাকত, তাহলে Clawbot-এর মোটরগুলি এমন আচরণ করত যেন ব্যবহারকারী প্রকল্পের মধ্য দিয়ে যাওয়ার সময় বারবার স্ক্রিন টিপছে। পরিবর্তে, এই নির্দেশাবলী প্রোগ্রাম প্রবাহ বন্ধ করে দেয় এবং ব্যবহারকারী স্ক্রিন টিপে না দেওয়া পর্যন্ত প্রকল্পটিকে আবার লুপ শুরু করতে দেয় না।
সিউডোকোডের লাইনটি এত সহজ হতে পারে: স্ক্রিনটি চাপা না হওয়া পর্যন্ত এগিয়ে যান।
শিক্ষার্থীদের ইঞ্জিনিয়ারিং নোটবুকগুলি পৃথকভাবে (Google Doc / .docx / .pdf) অথবা একটি দল হিসেবে (Google Doc / .docx / .pdf) রক্ষণাবেক্ষণ এবং স্কোর করা যেতে পারে। পূর্ববর্তী লিঙ্কগুলিতে প্রতিটি পদ্ধতির জন্য আলাদা আলাদা রুব্রিক দেওয়া আছে। যখনই শিক্ষা পরিকল্পনায় কোন রুব্রিক অন্তর্ভুক্ত করা হয়, তখন কার্যকলাপ শুরুর আগে রুব্রিকটি ব্যাখ্যা করা বা অন্ততপক্ষে শিক্ষার্থীদের কপি দেওয়া ভালো অভ্যাস।
ধাপ ৩:whileএবংwait()বিবৃতিগুলি বোঝা।
লক্ষ্য করুন যে যদি ব্রেনের স্ক্রিনটি চাপা থাকে, তাহলে প্রকল্পের প্রবাহ দ্রুত গতিতে চলে যাবে এবং প্রকল্পটি পরবর্তী নির্দেশে চলে যাবে, যা হল drivetrain.stop()কমান্ড।
সুতরাং, প্রকল্পের জন্য সময় এবং অপেক্ষা কমান্ডের প্রয়োজন যা রোবটকে মস্তিষ্কের স্ক্রিন মুক্তি না হওয়া পর্যন্ত থামতে বলে । অন্যথায়, foreverবিবৃতিটি প্রকল্পটি আবার শুরু করতে বাধ্য করবে।
যখন brain.screen.pressing():
অপেক্ষা করুন(5, MSEC)প্রকল্পের প্রবাহের গতির কারণেwhile এবং waitকমান্ডগুলি প্রয়োজনীয়। যদি তারা সেখানে না থাকত, তাহলে রোবটটির প্রতিক্রিয়া জানানোর সময় না পাওয়া পর্যন্ত প্রকল্পটি পরবর্তী নির্দেশে চলে যেত ।
ধাপ ৪: প্রকল্পটি পরিবর্তন করুন।
আমাদের পরবর্তী ধাপ হলifস্টেটমেন্টকেif-else স্টেটমেন্টে পরিবর্তন করা।
- নতুন প্রকল্প,StopOrDrive হিসেবেCreatingAStopButtonসংরক্ষণ করে শুরু করুন।
- যদি আপনার কোন প্রকল্প সংরক্ষণে সাহায্যের প্রয়োজন হয়, এই নিবন্ধগুলি দেখুন।
- তারপর নিচে দেখানোStopOrDriveপ্রকল্পটি তৈরি করুন।
# প্রজেক্ট কোড শুরু করুন
যখন সত্য:
যদি brain.screen.pressing ()
: drivetrain.stop ()
যখন brain.screen.pressing ():
wait(5, MSEC)
else:
drivetrain.drive (FORWARD)
wait(5, MSEC)- আপনার Clawbot-এ স্লট ২-এStopOrDriveডাউনলোড করুন।
- একটি প্রকল্প ডাউনলোড এবং পরিচালনার জন্য সাহায্যের জন্য, এই নিবন্ধটি দেখুন।
- পরীক্ষাCreatingAStopButton(স্লট 1) এবং তারপরStopOrDrive(স্লট 2) পরীক্ষা করুন এবং রোবটের আচরণে কোনও পার্থক্য আছে কিনা তা দেখতে তাদের তুলনা করুন। আপনার ইঞ্জিনিয়ারিং নোটবুকে যে কোনও পার্থক্য নোট করুন
শিক্ষক টুলবক্স
-
উত্তর
রোবটের আচরণের ক্ষেত্রে,CreatingAStopButtonএবংStopOrDriveপ্রকল্পের মধ্যেনয়পার্থক্য থাকা উচিত।
যদি শিক্ষার্থীদেরif-elseবিবৃতি বোঝার জন্য আরও সহায়তার প্রয়োজন হয়, তাহলে এই নিবন্ধটি দেখুন (Google Doc / .docx / .pdf)।
দুটি প্রকল্পে Clawbot একই ভাবে আচরণ করে । একমাত্র পার্থক্য হল StopOrDrive প্রকল্পে if-else স্টেটমেন্ট ব্যবহার করা হয়েছে।
if-else স্টেটমেন্ট ব্যবহার করলে আপনি আসন্ন কার্যকলাপে স্ক্রিনে অতিরিক্ত বোতাম যুক্ত করতে পারবেন।
তোমার শেখার পরিধি বাড়াও
এই STEM ল্যাবটি এগিয়ে যাওয়ার সাথে সাথে, শিক্ষার্থীরা এমন প্রকল্প তৈরি করবে যা Clawbot-এর স্ক্রিনকে একটি ব্যবহারকারী ইন্টারফেস হিসেবে কাজ করার সুযোগ দেবে। এর প্রস্তুতি হিসেবে, শিক্ষার্থীদের চ্যালেঞ্জ করুন যে তারা পর্দায় একটি রঙিন আয়তক্ষেত্র আঁকতে পারে যা একটি বোতামের মতো কাজ করে। যেহেতু স্ক্রিনের যেকোনো জায়গায় চাপ দেওয়া বর্তমানে শর্ত, তাই বোতামটি পুরো স্ক্রিন দখল করবে। শিক্ষার্থীদের প্রকল্পটি শুরু হওয়ার সাথে সাথে বোতামটি আঁকার জন্য একটি ইভেন্ট সম্প্রচার করা উচিত।
শিক্ষার্থীদের প্রথমে মস্তিষ্কের পর্দা কীভাবে একটি স্থানাঙ্ক ব্যবস্থায় সংগঠিত হয় তা শিখতে নির্দেশ দিন। তারা যে কমান্ডগুলি ব্যবহার করবে তার মধ্যে প্যারামিটার সেট করার জন্য তাদের এটি বুঝতে হবে। ব্যবহৃত স্থানাঙ্কগুলি পিক্সেলের সংখ্যার সাথে মিলে যায়, কলাম বা সারির সংখ্যার সাথে নয়। স্ক্রিনের লেআউটটি এখানে:
শিক্ষার্থীদের তাদের ইঞ্জিনিয়ারিং নোটবুকের মধ্যে প্রকল্পের এই পরিবর্তনগুলি পরিকল্পনা, পরীক্ষা এবং পরিমার্জন করা উচিত। পৃথক ইঞ্জিনিয়ারিং নোটবুক রুব্রিকের জন্য, নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf), অথবা টিম নোটবুকের জন্য নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (Google Doc / .docx / .pdf)।
এখানে একটি উদাহরণ সমাধান দেওয়া হল:
# প্রকল্প শুরু করার কোড
draw = Event()
def draw_button():
brain.screen.set_fill_color(Color.RED)
brain.screen.draw_rectangle(0, 0, 480, 240)
wait(1, SECONDS)
draw(draw_button)
while True:
draw.broadcast()
drivetrain.drive(FORWARD)
if brain.screen.pressing():
drivetrain.stop()
while brain.screen.pressing():
wait(5, MSEC)
else:
drivetrain.drive(FORWARD)
wait(5, MSEC)আপনি দেখতে পাচ্ছেন, বোতামটি (0, 0) উৎস থেকে শুরু করে সম্পূর্ণ স্ক্রিনটি দখল করার জন্য টানা হয়েছে এবং সমস্ত 480 অনুভূমিক (x-অক্ষ) পিক্সেল এবং 240 উল্লম্ব (y-অক্ষ) পিক্সেল পূরণ করে।
