পাঠ ৩: শর্তসাপেক্ষ বিবৃতি
আগের পাঠে, আপনি শিখেছেন কিভাবে অপটিক্যাল সেন্সর থেকে ডেটা ব্যবহার করে একটি প্রকল্পে রঙ অনুসারে একটি ডিস্ক সাজানো যায়। এই পাঠে, আপনি VEXcode-এ এমন বিকল্পগুলি অন্বেষণ করার জন্য যা শিখেছেন তার উপর ভিত্তি করে তৈরি করবেন যা অপটিক্যাল সেন্সর দ্বারা যে রঙই সনাক্ত করা হোক না কেন, প্রকল্পটিকে সিদ্ধান্ত নিতে সক্ষম করে। আপনি নিম্নলিখিত বিষয়গুলি সম্পর্কে শিখবেন:
- কেন একটি শিল্প পরিবেশে সিদ্ধান্ত গ্রহণের সর্বোত্তমকরণ গুরুত্বপূর্ণ?
- যদি তারপর,যদি তারপর অন্য, এবংযদি অন্যব্লকের মধ্যে পার্থক্য।
একাধিক শর্ত পরীক্ষা করা হচ্ছে
আগের পাঠে আপনি এমন একটি প্রকল্প তৈরি করেছিলেন যা একটি ডিস্ককে রঙ অনুসারে লাল প্যালেট বা সবুজ প্যালেটে সাজাতে পারে। যদিও এটি কার্যকর, প্রকল্পটি একবারে কেবল একটি ডিস্ক বাছাই করতে পারে। কারখানার পরিবেশে, অনেক জিনিসপত্র বারবার বাছাই এবং প্যালেটাইজ করতে হয়। এটি কার্যকরভাবে করার জন্য, 6-অক্ষ আর্মকে বারবার সিদ্ধান্ত নিতে সক্ষম হতে হবে যে কীভাবে বস্তুগুলি সরানো হবে, অথবা মানুষের হস্তক্ষেপের প্রয়োজন হবে কিনা। ৬-অক্ষ বাহুর ভূমিকা কোর্সে আপনি যে কিউবগুলি স্থানান্তর করেছিলেন তা বিবেচনা করুন।
যদি একটি নীল ঘনক লোডিং জোনে থাকত? আগের পাঠের প্রকল্পে কী হবে? একটি শিল্প পরিবেশে, সম্ভাব্য সমস্ত পরিস্থিতি বিবেচনা করা প্রয়োজন। যদি কোনও ভুল বস্তু বাছাই করা বস্তুর সাথে মিশে যায়, তাহলে ওয়ার্কসেল এবং এর আশেপাশের কর্মীরা যাতে নিরাপদে থাকে এবং কার্যকরভাবে কাজ করে তা নিশ্চিত করার জন্য মানুষের হস্তক্ষেপের প্রয়োজন হতে পারে।
ক্রমিকযদি তাহলেব্লক
আগের পাঠে, আপনি দুটিযদি তারপরব্লক ব্যবহার করে পরপর দুটি পৃথক শর্ত পরীক্ষা করেছিলেন, মূলত প্রকল্পের মধ্যে দুটি প্রশ্ন জিজ্ঞাসা করেছিলেন।

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

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

যদিশাখা অথবা অথবাশাখা চালানোর পর, প্রকল্পটি স্ট্যাকের পরবর্তী ব্লকে চলে যাবে। শাখাগুলিকে আরও দৃশ্যমান করার জন্যIf then elseব্লকের প্রকল্প প্রবাহও দেখানো যেতে পারে।

মনে রাখবেন যে এই উদাহরণগুলিতে, elseশাখাটি কোনও বস্তুর লাল বা সবুজ না হওয়ার অবস্থা পরিচালনা করতে ব্যবহৃত হয়। সেক্ষেত্রে, মানুষের হস্তক্ষেপের প্রয়োজন হবে। আগে আপনি জেনেছেন যে সিগন্যাল টাওয়ারের নীল আলো মানুষের হস্তক্ষেপের প্রয়োজনীয়তা নির্দেশ করতে ব্যবহৃত হয়। উপরন্তু, একটি নিয়ন্ত্রিত স্টপ 6-অ্যাক্সিস আর্মের গতি বন্ধ করবে যাতে মানুষ এবং যন্ত্রপাতি নিরাপদ থাকে। অন্যশাখায় একটি সেট সিগন্যাল টাওয়ারব্লক এবংসেট কন্ট্রোল স্টপব্লক যোগ করা যেতে পারে, যাতে লাল বা সবুজ নয় এমন কোনও বস্তু এই সুরক্ষা বৈশিষ্ট্যগুলিকে ট্রিগার করতে পারে।

এখন পর্যন্ত যেসব ছবি দেখা গেছে, তাতে কেবল লাল রঙের বস্তুটি কীভাবে সামলাতে হয় তা দেখানো হয়েছে। বস্তুটির সবুজ অবস্থা পরীক্ষা করার জন্য আরও একটি If then elseপ্রয়োজন।

এই কাঠামোর সাথে প্রকল্প প্রবাহ সম্পর্কে চিন্তা করা যাক। প্রতিবার প্রকল্পটি চালানোর সময়, একাধিক শাখা চালানো হবে, অপটিক্যাল সেন্সর দ্বারা যে রঙই সনাক্ত করা হোক না কেন।

আসুন একটি লাল ডিস্কের উদাহরণ দিয়ে এটি সম্পর্কে চিন্তা করি। যদি অপটিক্যাল সেন্সর লাল শনাক্ত করে, তাহলে প্রথমIf then elseব্লকের অবস্থা সত্য হিসাবে রিপোর্ট করবে। যদিশাখার ভেতরের ব্লকটি চলবে, ৬-অক্ষ বাহুটিকে লাল প্যালেটের উপর দিয়ে সরাবরাহ করবে। তবে, দ্বিতীয়If then elseব্লকের ভিতরের অবস্থা মিথ্যা হিসাবে রিপোর্ট করবে। এর অর্থ হল এরঅথবাশাখার ভেতরের ব্লকটি চলবে, ৬-অ্যাক্সিস আর্মকে একটি নিয়ন্ত্রিত স্টপে রাখবে এবং সিগন্যাল টাওয়ারে নীল আলো জ্বলবে। যেহেতু 6-অ্যাক্সিস আর্মটি একটি নিয়ন্ত্রিত স্টপ অবস্থায় থাকবে, তাই প্রকল্পের অন্য কোনও ব্লক চলতে পারবে না এবং এটি সমাধান না হওয়া পর্যন্ত সমস্ত কার্যক্রম বন্ধ করে দেবে।

যদিও আমরা এখন একটি অপ্রত্যাশিত বস্তুর (যেমন একটি নীল ঘনক) হিসাব করতে পারি, কিন্তু 6-অক্ষ আর্ম কখনই প্যালেটে ডিস্কটি ছেড়ে দেওয়ার প্রকল্পের বিন্দুতে পৌঁছাবে না। লাল এবং সবুজ অবস্থা একের পর এক পরীক্ষা করার পরিবর্তে, কোনও বস্তু সবুজ কিনা তা পরীক্ষা করার একটি উপায় আছেশুধুমাত্রযদি বস্তুটি লাল না হয়।
নেস্টেডযদি অন্যথায়ব্লক
If then elseব্লকের প্রতিটি শাখা তাদের মধ্যে অন্যান্য C ব্লক গ্রহণ করতে পারে। একে 'বাসা বাঁধা' বলা হয়। এর মানে হল যে দ্বিতীয়If then elseব্লকটি প্রথমটিরelseশাখার মধ্যে নেস্ট করা যেতে পারে, এভাবে।
এখন সবুজ শনাক্তকারী অপটিক্যাল সেন্সরের অবস্থা কেবল তখনই পরীক্ষা করা হবে যখন পূর্ববর্তী অবস্থা (অপটিক্যাল সেন্সর লাল শনাক্ত করে) মিথ্যা বলে রিপোর্ট করবে। তাই যখন অপটিক্যাল সেন্সর লাল শনাক্ত করে, তখন শুধুমাত্র প্রথমযদিশাখা থাকে তবে তা চলবে, যা ডিস্কটিকে লাল প্যালেটের উপরে সরিয়ে দেবে।

যদি অপটিক্যাল সেন্সর সবুজ শনাক্ত করে, তাহলেশাখার প্রথম(অপটিক্যাল লাল শনাক্ত করে) অবস্থা মিথ্যা রিপোর্ট করবে, এবং তাই অন্যশাখাটি চলবে। নেস্টেড If then elseব্লকের অবস্থা পরীক্ষা করে দেখা হবে যে অপটিক্যাল সেন্সর সবুজ রঙ সনাক্ত করে কিনা। সেই অবস্থাটি সত্য হিসাবে রিপোর্ট করবে, তাই দ্বিতীয়যদিশাখার ভিতরের ব্লকটি চলবে, ডিস্কটিকে সবুজ প্যালেটের উপর দিয়ে সরানো হবে।
যদি অপটিক্যাল সেন্সর লাল বা সবুজ কোনটিই সনাক্ত না করে (যেমন নীল ঘনক তোলার ক্ষেত্রে), উভয় অবস্থাই মিথ্যা হিসাবে রিপোর্ট করবে, এবং তাই নেস্টেডIf then elseব্লকেরelseশাখাটি চলবে, একটি নিয়ন্ত্রিত স্টপ ট্রিগার করবে এবং কর্মীদের মানব হস্তক্ষেপের প্রয়োজনীয়তা সম্পর্কে সতর্ক করবে। এই প্রকল্প প্রবাহগুলিকে একটি প্রবাহ চার্ট হিসাবেও কল্পনা করা যেতে পারে, যেমনটি এখানে দেখানো হয়েছে।

নেস্টেডযদি অন্যথায়ব্লকপ্রশ্নের একটি ক্যাসকেডিং তালিকা হিসাবে দেখা যেতে পারে। এখানে প্রশ্নগুলি নিম্নরূপ:
- বস্তুটি কি লাল?
- হ্যাঁ? লাল প্যালেটের উপর দিয়ে সরে যাও এবং প্রশ্ন করা বন্ধ করো।
- না? আরেকটি প্রশ্ন জিজ্ঞাসা করুন।
- বস্তুটি কি সবুজ?
- হ্যাঁ? সবুজ প্যালেটের উপর দিয়ে সরে যাও এবং প্রশ্ন করা বন্ধ করো।
- না? তাহলে বস্তুটি লাল বা সবুজ নয়। সিগন্যাল টাওয়ারের রঙ পরিবর্তন করুন এবং একটি নিয়ন্ত্রিত স্টপ ট্রিগার করুন।
- বস্তুটি কি সবুজ?
লক্ষ্য করুন যে, পূর্ববর্তী প্রশ্নের উত্তর নেতিবাচক হলেই কেবল প্রশ্নগুলি করা হবে।
যদিও এটি আমাদের পরীক্ষা করতে চাওয়া সমস্ত শর্ত পরিচালনা করে, আরেকটি ব্লক আছে যা একইভাবে শর্তগুলি পরীক্ষা করবে, তবে নেস্টিং ব্লকের চেয়ে তৈরি করা সহজ।
অন্যথায় যদিব্লক
Else if ব্লক আপনাকে একই ব্লকের মধ্যে একাধিক শর্ত পরীক্ষা করতে সক্ষম করে। এই ব্লকের প্রতিটি শর্ত ক্রমানুসারে পরীক্ষা করা হবে, শুধুমাত্র যদি পূর্ববর্তী শর্তটি মিথ্যা বলে রিপোর্ট করে। যদি else if শাখার জন্য সমস্ত বুলিয়ান শর্ত মিথ্যা হয়, তাহলে else বিভাগের ভিতরের ব্লকগুলি চালানো হবে।

এই ব্লকটিতে নেস্টেডIf then elseব্লকের মতো একই প্রকল্প প্রবাহ রয়েছে, তবে এটি তৈরি করা সহজ কারণ নেস্ট ব্লকের প্রয়োজন নেই। আপনি পরবর্তী পাঠে Else ifব্লক দিয়ে কোডিং সম্পর্কে আরও শিখবেন।
তোমার বোধগম্যতা পরীক্ষা করো
পরবর্তী পাঠে যাওয়ার আগে, আপনার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিত প্রশ্নগুলির উত্তর দিয়ে নিশ্চিত করুন যে আপনি এই পাঠের ধারণাগুলি বুঝতে পেরেছেন।
আপনার বোঝার প্রশ্নগুলি পরীক্ষা করুন > (Google Doc/ .docx / .pdf)
একটি প্রকল্পে Else ifব্লক প্রয়োগ করতেNext >নির্বাচন করুন।