Skip to main content

শর্তাবলী সহ প্রোগ্রামিং - পাইথন

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - এই কার্যকলাপের উদ্দেশ্য

এই কার্যকলাপটি শিক্ষার্থীদের এবং এবং 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, এবং ডানদিকে সহায়তা তথ্য খোলা । সহায়তা কমান্ডের একটি সংজ্ঞা এবং এটি কীভাবে ব্যবহার করা হয় সে সম্পর্কে তথ্য দেখায় ।

আপনার প্রয়োজনীয় হার্ডওয়্যার, আপনার ইঞ্জিনিয়ারিং নোটবুক এবং VEXcode V5 প্রস্তুত আছে তা নিশ্চিত করুন ।

প্রয়োজনীয় উপকরণ:
পরিমাণ প্রয়োজনীয় উপকরণ
1

VEX V5 ক্লাসরুম স্টার্টার কিট (আপ-টু-ডেট ফার্মওয়্যার সহ)

1

VEXcode V5 (সর্বশেষ সংস্করণ, উইন্ডোজ, ম্যাকওএস)

1

ইঞ্জিনিয়ারিং নোটবুক

1

ক্লবট (ড্রাইভট্রেন 2-মোটর, কোন গিরো) টেমপ্লেট

শিক্ষক টিপস আইকন শিক্ষকদের টিপস

যদি শিক্ষার্থীরা প্রথমবারের মতো VEXcode V5 ব্যবহার করে, তাহলে তারা এই অন্বেষণের সময় যেকোনো সময় টিউটোরিয়ালগুলি উল্লেখ করতে পারে। টিউটোরিয়ালগুলি টুলবারে অবস্থিত।

লাল বাক্সে হাইলাইট করা টিউটোরিয়াল সহ VEXcode V5 টুলবার। টুলবারটি বাম থেকে ডানে V5 লোগো, একটি গ্লোব আইকন, ফাইল এবং টিউটোরিয়াল দেখায়। টিউটোরিয়ালের ডানদিকে অতিরিক্ত আইকন এবং কার্যকারিতা রয়েছে।

ধাপ ১: শর্তসাপেক্ষ বিবৃতি বোঝার মাধ্যমে শুরু করা যাক 

কন্ডিশনাল দিয়ে প্রোগ্রামিং শুরু করার আগে,if-elseস্টেটমেন্ট ব্যাখ্যা করে নিবন্ধটি পড়ুন। নিবন্ধটি এখানে পাওয়া যাবে (Google Doc / .docx / .pdf)।
Screenshot of the linked article titled Using If else statements in VEXcode V5 Python.
-elseবিবৃতিতে ব্যবহারযোগ্য অপারেটরগুলির তালিকার জন্য, বুলিয়ান ব্যাখ্যাকারী নিবন্ধটি পড়ুন। এই নিবন্ধটি এখানে পাওয়া যাবে (Google Doc/.docx/.pdf) ।

VEXcode V5 পাইথনে Booleans ব্যবহার করে লিঙ্ক করা নিবন্ধের স্ক্রিনশট ।

ধাপ ২: চলুন শর্তসাপেক্ষ বিবৃতি দিয়ে প্রোগ্রামিং শুরু করি।

  • Clawbot (Drivetrain 2-motor, No Gyro) টেম্পলেট উদাহরণ প্রকল্প খুলুন ।

    টেমপ্লেট ফিল্টার সহ VEXcode V5 এর উদাহরণ প্রকল্প এবং Clawbot Drivetrain 2 মোটর কোন জিরো আইকনটি একটি লাল বাক্স দিয়ে হাইলাইট করা হয়েছে যা কোন প্রকল্প খুলতে হবে তা নির্দেশ করে ।

     

  • নিচের প্রকল্পটি তৈরি করুন ।
# প্রজেক্ট কোড শুরু করুন
যখন True:
    drivetrain.drive (ফরোয়ার্ড)
    if brain.screen.pressing (): drivetrain.stop (
        )
        যখন brain.screen.pressing ():
            wait (5, msec) wait(5, MSEC)
    wait(5, MSEC)

আপনার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিতগুলি করুন:

  • ক্লবোট প্রকল্পটি কী করেছে তা ব্যাখ্যা করুন । এটি একটি স্টপ বোতাম তৈরি করে তা আপনাকে আরও ব্যাখ্যা করতে হবে । ক্লবট কী কী নির্দেশ দেয় তা ব্যাখ্যা করুন ।
  • একটি বাক্য সারাংশ লিখুন যা প্রকল্পটি কী করে তা ক্যাপচার করে ।
  • ক্লবট প্রকল্পে আপনার ভবিষ্যদ্বাণীটি সঠিক কিনা তা পরীক্ষা করে দেখুন ।
  • প্রকল্পটির নাম দিনCreatingAStopButton। Clawbot-এ প্রকল্পটি ডাউনলোড করে
    VEXcode V5 টুলবারে প্রকল্পের নাম ডায়ালগ বক্সে একটি স্টপ বোতাম তৈরি করা হয়েছে এবং দেখায় যে স্লট 1 নির্বাচন করা হয়েছে ।
  • প্রকল্পের আপনার ব্যাখ্যাগুলি পরীক্ষা করুন এবং প্রয়োজন অনুসারে সেগুলি সংশোধন করতে নোট যোগ করুন ।

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - উত্তর

এই প্রকল্পে রোবটটি ক্রমাগত এগিয়ে যাবে কিন্তু স্ক্রিনে চাপ দিলে থেমে যাবে। এটি "চিরকালের" বিবৃতি (while True)ব্যবহার করে ক্রমাগত ড্রাইভ এবং চেক করে এটি করে। যদি স্ক্রিনটি চাপা থাকে (সত্য), তাহলে ক্লবটটি গাড়ি চালানো বন্ধ করে দেয়।স্টপ অথবা ড্রাইভ প্রজেক্টে কমান্ডের ফাংশন লেবেলযুক্ত। if স্টেটমেন্টটি "Checks if the condition is True" হিসেবে লেবেল করা হয়েছে - স্ক্রিনটি চাপা আছে কিনা তা পরীক্ষা করে। এর নীচে ইন্ডেন্ট করা ব্লকগুলিকে "যদি শর্তটি সত্য হয়" লেবেল করা হয়, তাহলে কোডগুলির ব্লকটি চালায়। while brain screen pressing কমান্ডটি লেবেলযুক্ত, প্রক্রিয়াকরণের গতি নিয়ন্ত্রণ করে।

শিক্ষার্থীদের কাছ থেকে আশা করা হয় না যে তারা বুঝতে পারবে কেন 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সংরক্ষণ করে শুরু করুন।VEXcode V5 টুলবারে প্রকল্পের নাম ডায়ালগ বক্সে স্টপ বা ড্রাইভ পড়ে এবং দেখায় যে স্লট 1 নির্বাচন করা হয়েছে ।
  • যদি আপনার কোন প্রকল্প সংরক্ষণে সাহায্যের প্রয়োজন হয়, এই নিবন্ধগুলি দেখুন
  • তারপর নিচে দেখানোStopOrDriveপ্রকল্পটি তৈরি করুন।
# প্রজেক্ট কোড শুরু করুন
যখন সত্য:
    যদি brain.screen.pressing ()
        : drivetrain.stop ()
        যখন brain.screen.pressing ():
            wait(5, MSEC)
    else:
        drivetrain.drive (FORWARD)
    wait(5, MSEC)
  • আপনার Clawbot-এ স্লট ২-এStopOrDriveডাউনলোড করুন।

স্লট নির্বাচন উইন্ডোটি VEXcode V5 টুলবারে খোলা থাকে এবং স্লট 2 একটি লাল বাক্স দিয়ে নির্বাচিত এবং হাইলাইট করা হয় ।

  • একটি প্রকল্প ডাউনলোড এবং পরিচালনার জন্য সাহায্যের জন্য, এই নিবন্ধটি দেখুন
  • পরীক্ষাCreatingAStopButton(স্লট 1) এবং তারপরStopOrDrive(স্লট 2) পরীক্ষা করুন এবং রোবটের আচরণে কোনও পার্থক্য আছে কিনা তা দেখতে তাদের তুলনা করুন। আপনার ইঞ্জিনিয়ারিং নোটবুকে যে কোনও পার্থক্য নোট করুন

শিক্ষক টুলবক্স আইকন শিক্ষক টুলবক্স - উত্তর

রোবটের আচরণের ক্ষেত্রে,CreatingAStopButtonএবংStopOrDriveপ্রকল্পের মধ্যেনয়পার্থক্য থাকা উচিত।

যদি শিক্ষার্থীদেরif-elseবিবৃতি বোঝার জন্য আরও সহায়তার প্রয়োজন হয়, তাহলে এই নিবন্ধটি দেখুন (Google Doc / .docx / .pdf)।

দুটি প্রকল্পে Clawbot একই ভাবে আচরণ করে । একমাত্র পার্থক্য হল StopOrDrive প্রকল্পে if-else স্টেটমেন্ট ব্যবহার করা হয়েছে।
if-else স্টেটমেন্ট ব্যবহার করলে আপনি আসন্ন কার্যকলাপে স্ক্রিনে অতিরিক্ত বোতাম যুক্ত করতে পারবেন।

আপনার শিক্ষার আইকন প্রসারিত করুন তোমার শেখার পরিধি বাড়াও

এই STEM ল্যাবটি এগিয়ে যাওয়ার সাথে সাথে, শিক্ষার্থীরা এমন প্রকল্প তৈরি করবে যা Clawbot-এর স্ক্রিনকে একটি ব্যবহারকারী ইন্টারফেস হিসেবে কাজ করার সুযোগ দেবে। এর প্রস্তুতি হিসেবে, শিক্ষার্থীদের চ্যালেঞ্জ করুন যে তারা পর্দায় একটি রঙিন আয়তক্ষেত্র আঁকতে পারে যা একটি বোতামের মতো কাজ করে। যেহেতু স্ক্রিনের যেকোনো জায়গায় চাপ দেওয়া বর্তমানে শর্ত, তাই বোতামটি পুরো স্ক্রিন দখল করবে। শিক্ষার্থীদের প্রকল্পটি শুরু হওয়ার সাথে সাথে বোতামটি আঁকার জন্য একটি ইভেন্ট সম্প্রচার করা উচিত।

শিক্ষার্থীদের প্রথমে মস্তিষ্কের পর্দা কীভাবে একটি স্থানাঙ্ক ব্যবস্থায় সংগঠিত হয় তা শিখতে নির্দেশ দিন। তারা যে কমান্ডগুলি ব্যবহার করবে তার মধ্যে প্যারামিটার সেট করার জন্য তাদের এটি বুঝতে হবে। ব্যবহৃত স্থানাঙ্কগুলি পিক্সেলের সংখ্যার সাথে মিলে যায়, কলাম বা সারির সংখ্যার সাথে নয়। স্ক্রিনের লেআউটটি এখানে:V5 ব্রেইন স্ক্রিনের পিক্সেল গ্রিডে বাম দিকে ১২টি সংখ্যাযুক্ত সারি দেখানো হয়েছে, যার উপরের সারিটিতে সারি ১ লেবেল করা হয়েছে এবং নীচে সারি ১২ লেবেল করা হয়েছে। উপরের দিকে ৪৮টি সংখ্যাযুক্ত কলাম রয়েছে, যার মধ্যে কলাম ১ একেবারে বাম দিকে লেবেলযুক্ত এবং কলাম ৪৮ একেবারে ডান দিকে লেবেলযুক্ত। মোট পিক্সেলের পরিমাপ ৪৮০ পিক্সেল প্রস্থ এবং ২৪০ পিক্সেল লম্বা।

শিক্ষার্থীদের তাদের ইঞ্জিনিয়ারিং নোটবুকের মধ্যে প্রকল্পের এই পরিবর্তনগুলি পরিকল্পনা, পরীক্ষা এবং পরিমার্জন করা উচিত। পৃথক ইঞ্জিনিয়ারিং নোটবুক রুব্রিকের জন্য, নিম্নলিখিত লিঙ্কগুলির মধ্যে একটিতে ক্লিক করুন (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-অক্ষ) পিক্সেল পূরণ করে।