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

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

কোড পড়তে, প্রকল্পের শুরু থেকেই শুরু করুন। প্রথম ব্লকটি দেখে, আপনার ইঞ্জিনিয়ারিং নোটবুকে প্রকল্পের পাশে, সেই ব্লকের সাথে সম্পর্কিত আচরণটি লিখুন।
এখানে, প্রথম ব্লকগুলিকে এভাবে বর্ণনা করা যেতে পারে: 1. এন্ড ইফেক্টরকে পেনতে সেট করুন।

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

আপনার ইঞ্জিনিয়ারিং নোটবুকে ব্লকের সাথে সম্পর্কিত আচরণ লিপিবদ্ধ করুন। এই মন্তব্য এবং পজিশন ব্লকে স্থানান্তরকে এভাবে বর্ণনা করা যেতে পারে: ২. স্থানাঙ্কে (75, 125, 0) যেতে পরম গতিবিধি ব্যবহার করুন।

প্রকল্পের পরবর্তী মুভমেন্ট ব্লকটি দেখুন। এটি কি পরম নাকি আপেক্ষিক গতি?
এটি একটিইনক্রিমেন্ট পজিশনব্লক, তাই এটি 6-অক্ষ বাহুর আপেক্ষিক গতিবিধি নির্দেশ করে।

ব্লকের প্যারামিটারে প্রদত্ত ইনক্রিমেন্ট ব্যবহার করে ৬-অক্ষ আর্মটি যখন এই ব্লকটি কার্যকর করা হবে তখন কোথায় অবস্থান করবে তা নির্ধারণ করুন। পরম গতি ব্লক থেকে ম্যাচিং স্থানাঙ্ক (x) এর আপেক্ষিক গতির (50 মিমি) মান যোগ করে এটি করুন।
তোমার ইঞ্জিনিয়ারিং নোটবুকে এটি লিখে রাখো। এটিকে এভাবে বর্ণনা করা যেতে পারে: ৩. x-স্থানাঙ্কে ৫০ যোগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (125, 125, 0)।

প্রকল্পের অবশিষ্ট ব্লকগুলির জন্য এই প্রক্রিয়াটি চালিয়ে যান। প্রকল্পটি চালানোর সময় প্রতিটি ব্লক কী করবে তা নথিভুক্ত করুন।
প্রকল্পটি পড়ার সময় রেফারেন্সের জন্য মন্তব্য ব্লক এবং নোট পড়তে ভুলবেন না।
বাকি তিনটি দিক আঁকার এই প্রকল্পের বাকি ধাপগুলি নিম্নরূপ বর্ণনা করা যেতে পারে:
৪. y-স্থানাঙ্কে 50 যোগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (125, 175, 0)।
৫। x-স্থানাঙ্ক থেকে 50 বিয়োগ করে আপেক্ষিক পদক্ষেপ। নতুন স্থানাঙ্কগুলি হল (75, 175, 0)।
৬। y-স্থানাঙ্ক থেকে 50 বিয়োগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (75, 125, 0)।

প্রকল্পটি চালানোর সময় 6-অক্ষ বাহুর পথটি স্কেচ করুন।
প্রকল্পের চূড়ান্ত পণ্যটি কল্পনা করতে সাহায্য করার জন্য, আপনার ইঞ্জিনিয়ারিং নোটবুকে পথটি স্কেচ করার জন্য নির্ধারিত স্থানাঙ্কগুলি ব্যবহার করুন।

প্রকল্পটি বাস্তবায়িত হচ্ছে কিনা তা দেখুন। তোমার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিত প্রশ্নের উত্তর দাও।
- ৬-অ্যাক্সিস আর্মের পর্যবেক্ষণকৃত আচরণগুলি আপনার ইঞ্জিনিয়ারিং নোটবুকে থাকা আচরণের তালিকার সাথে কীভাবে তুলনা করা যায়?
- পাঠের শুরুতে আপনি যে ভবিষ্যদ্বাণী করেছিলেন তার সাথে আপনার আচরণের তালিকার তুলনা কেমন?
- পাঠের শুরুতে আপনি যে ভবিষ্যদ্বাণী করেছিলেন তা এই ভিডিওতে দেখানো আচরণের সাথে কীভাবে তুলনা করে?
- নিচের ভিডিওতে, 6-অক্ষ আর্মটি নিরাপদ অবস্থান থেকে সরে গিয়ে পেনটিকে অবস্থানে (75, 125, 0) স্থাপন করে। এরপর এটি বর্গক্ষেত্রের প্রথম দিকটি আঁকতে বেস থেকে দূরে সরে যায়, দ্বিতীয় দিকটি আঁকতে ডানদিকে, তৃতীয় দিকটি আঁকতে বেসের দিকে এবং বর্গক্ষেত্রটি সম্পূর্ণ করতে বাম দিকে সরে যায়।
অভিনন্দন! আপনি এখন কোড পড়েছেন এবং সেই জ্ঞান ব্যবহার করে একটি প্রকল্প চালানোর সময় কী ঘটে তা নির্ধারণ করেছেন। তুমি আরও দুটি উদাহরণ দিয়ে এটি অনুশীলন চালিয়ে যাবে।
প্রজেক্ট বি-তে কোড পড়া
এই উদাহরণে, আপনি একটি প্রকল্পে ভুল খুঁজে বের করার জন্য কোড পড়ার অনুশীলন করবেন। এই প্রকল্পের উদ্দেশ্য হল একটি বর্গক্ষেত্র আঁকা, ঠিক যেমনটি প্রকল্প A-তে ছিল। তবে, যদি প্রকল্প B চালানো হয়, তাহলে 6-অক্ষ বাহু উদ্দেশ্য অনুসারে একটি বর্গক্ষেত্র আঁকবে না। এই উদাহরণে কোডটি পড়ার জন্য আপনি Project A তে যে ধাপগুলি ব্যবহার করেছিলেন, সেই একই ধাপগুলি অনুসরণ করবেন যাতে ত্রুটিটি খুঁজে পাওয়া যায়। তারপর আপনি আমাদের কোড রিডিং থেকে প্রাপ্ত তথ্য ব্যবহার করে সমস্যাটি কীভাবে সমাধান করা যেতে পারে তা সনাক্ত করবেন।
আপনার ইঞ্জিনিয়ারিং নোটবুকে প্রকল্পটি নথিভুক্ত করুন। ধাপগুলো ক্রমানুসারে লিখে অথবা কোডের ছবি সরাসরি আপনার নোটবুকে যুক্ত করে এটি করা যেতে পারে।
প্রকল্পটি চালু হলে 6-অ্যাক্সিস আর্ম কী করবে সে সম্পর্কে একটি ভবিষ্যদ্বাণী করুন। এই কোড পড়ার প্রক্রিয়াটি সম্পন্ন করার পর আপনি এই ভবিষ্যদ্বাণীতে ফিরে আসবেন।

প্রকল্পের শুরু থেকেই শুরু করুন। আগের প্রজেক্টের মতোই প্রজেক্ট সেটআপ ব্লকগুলো ডকুমেন্ট করুন।
প্রথম মন্তব্য এবং সেট এন্ড ইফেক্টর ব্লককে এভাবে বর্ণনা করা যেতে পারে:
১. শেষ ইফেক্টরটি পেনে সেট করুন

প্রকল্পের প্রথম মুভমেন্ট ব্লকটি পড়ুন, মুভমেন্টটি পরম নাকি আপেক্ষিক তা মনোযোগ দিয়ে দেখুন। ব্লকটি 6-অক্ষ আর্মটি কীভাবে সম্পন্ন করবে? এই আচরণটি কল্পনা করুন।

এই ব্লকের জন্য আপনি যে আচরণটি কল্পনা করেছেন তা আপনার ইঞ্জিনিয়ারিং নোটবুকে লিপিবদ্ধ করুন।
এই আচরণকে এভাবে বর্ণনা করা যেতে পারে:
২. স্থানাঙ্কে (75, 125, 0) যেতে পরম গতি ব্যবহার করুন।

এবার দ্বিতীয় মুভমেন্ট ব্লকটি দেখুন। এটি কি পরম নাকি আপেক্ষিক গতি? এটি একটিইনক্রিমেন্ট পজিশন ব্লক, তাই এটি 6-অক্ষ বাহুর আপেক্ষিক গতিবিধি নির্দেশ করে।
এই ব্লকের ফলে 6-অক্ষ আর্মটি কীভাবে সম্পূর্ণ হবে তা কল্পনা করুন।

প্রজেক্ট A-এর মতো,ইনক্রিমেন্ট পজিশন ব্লক কার্যকর করার পরে 6-অক্ষ বাহুর অবস্থান কোথায় হবে তা নির্ধারণ করতে ব্লকের প্যারামিটারগুলি পড়ুন। তোমার ইঞ্জিনিয়ারিং নোটবুকে এটি লিখে রাখো।
এই মন্তব্য এবং ইনক্রিমেন্ট পজিশন ব্লককে এভাবে বর্ণনা করা যেতে পারে:
৩. x-স্থানাঙ্কে ৫০ যোগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (125, 125, 0)।

প্রকল্পের অবশিষ্ট ব্লকগুলির জন্য এই প্রক্রিয়াটি চালিয়ে যান। প্রকল্পটি চালানোর সময় প্রতিটি ব্লক কী করবে তা ভিজ্যুয়ালাইজ করুন এবং ডকুমেন্ট করুন।
প্রকল্পের অবশিষ্ট ধাপগুলি নিম্নরূপ বর্ণনা করা যেতে পারে:
৪. y-স্থানাঙ্কে 50 যোগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (125, 175, 0)।
৫। x-স্থানাঙ্কে ৫০ যোগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (175, 175, 0)।
৬। y-স্থানাঙ্ক থেকে 50 বিয়োগ করে আপেক্ষিক স্থানান্তর। নতুন স্থানাঙ্কগুলি হল (175, 125, 0)।

প্রকল্পটি চালানোর সময় 6-অক্ষ বাহুর পথটি স্কেচ করুন।
প্রকল্পের চূড়ান্ত পণ্যটি কল্পনা এবং নথিভুক্ত করতে, আপনার ইঞ্জিনিয়ারিং নোটবুকে পথটি স্কেচ করার জন্য নির্ধারিত স্থানাঙ্কগুলি ব্যবহার করুন।

প্রকল্পটি বাস্তবায়িত হচ্ছে কিনা তা দেখুন। তোমার ইঞ্জিনিয়ারিং নোটবুকে নিম্নলিখিত প্রশ্নের উত্তর দাও।
- ৬-অ্যাক্সিস আর্মের পর্যবেক্ষণকৃত আচরণগুলি আপনার ইঞ্জিনিয়ারিং নোটবুকে থাকা আচরণের তালিকার সাথে কীভাবে তুলনা করা যায়?
- পাঠের শুরুতে আপনি যে ভবিষ্যদ্বাণী করেছিলেন তার সাথে আপনার আচরণের তালিকার তুলনা কেমন?
- পাঠের শুরুতে আপনি যে ভবিষ্যদ্বাণী করেছিলেন তা এই ভিডিওতে দেখানো আচরণের সাথে কীভাবে তুলনা করে?
- নিচের ভিডিও ক্লিপে, 6-অক্ষ বাহুটি নিরাপদ অবস্থান থেকে স্থানাঙ্কে (72, 125, 0) সরে যাচ্ছে। এরপর এটি প্রথম দিকটি আঁকতে বেস থেকে দূরে সরে যায়, দ্বিতীয় দিকটি আঁকতে ডানদিকে, তৃতীয় দিকটি আঁকতে বেস থেকে আরও দূরে এবং চতুর্থ দিকটি আঁকতে বাম দিকে।
এবার তোমার স্কেচে ফিরে যাও। প্রকল্পটি কোন ধাপে বর্গক্ষেত্র আঁকা বন্ধ করেছে তা চিহ্নিত করুন। ৬-অক্ষ আর্ম যখন প্রকল্পের প্রথম তিনটি মুভমেন্ট ব্লক কার্যকর করে, তখন মনে হয় যেন পেনটি একটি বর্গক্ষেত্র আঁকতে থাকবে।
তবে, চতুর্থ মুভমেন্ট ব্লকে, 6-অক্ষ বাহুটি প্রত্যাশার চেয়ে বিপরীত দিকে ভ্রমণ করে - ঋণাত্মক x-অক্ষের পরিবর্তে ধনাত্মক x-অক্ষ বরাবর। প্রকল্পের এই ধাপটি খুঁজে বের করুন এবং আপনার ইঞ্জিনিয়ারিং নোটবুকে এটি চিহ্নিত করুন।

এখন প্রকল্পের সেই ব্লকটি চিহ্নিত করুন যা ত্রুটিটি ঘটেছে এমন ধাপের সাথে সঙ্গতিপূর্ণ। তোমার ইঞ্জিনিয়ারিং নোটবুকে ব্লকটিও চিহ্নিত করো।
এই উদাহরণে, ধাপ ৫ হল "আপেক্ষিক গতিবিধি সহ পার্শ্ব সিডি আঁকুন" এর মন্তব্যের সাথে সারিবদ্ধ যা হাইলাইট করা হয়েছে।

এই ত্রুটির সমাধানের জন্য অক্ষ বরাবর নড়াচড়া সম্পর্কে আপনার যা জানা আছে তা প্রয়োগ করুন।
একটি বর্গক্ষেত্র আঁকতে, 6-অক্ষ বাহুটিকে x-অক্ষ বরাবর ঋণাত্মক দিকে সরাতে হবে। এর মানে হল এই ইনক্রিমেন্ট পজিশন ব্লকে x-প্যারামিটারটি 50 এর পরিবর্তে –50 তে সেট করা উচিত।

প্রকল্পটি সঠিকভাবে পরিচালনা করার জন্য প্রয়োজনীয় পরিবর্তনগুলো আপনার ইঞ্জিনিয়ারিং নোটবুকে লিপিবদ্ধ করুন।
এটি প্রকল্পের নীচে একটি নোট হিসাবে নথিভুক্ত করা যেতে পারে, যেমনটি বর্ণনা করা হয়েছে:
ধাপ ৫ কে তে পরিবর্তন করে x-স্থানাঙ্ক থেকে ৫০ বিয়োগ করতে হবে। একটি বর্গক্ষেত্র আঁকতে নতুন স্থানাঙ্কগুলি (75, 175, 0) হওয়া উচিত।
ধাপ ষষ্ঠটি তখন পরিবর্তিত হবে কারণ গতি আপেক্ষিক। ধাপ ৬ এর পর নতুন স্থানাঙ্ক হবে (৭৫, ১২৫, ০)।

ইনক্রিমেন্ট পজিশন ব্লকের x-প্যারামিটার 50 থেকে –50 এ পরিবর্তন করে প্রকল্পটি চালানো দেখুন। ৬-অক্ষ বাহু এখন নিরাপদ অবস্থান থেকে স্থানাঙ্ক (৭৫, ১২৫, ০_) এ সরে যায় এবং তারপর উদ্দেশ্য অনুসারে একটি বর্গক্ষেত্র আঁকতে সরে যায়।
এখন তুমি দুটি ভিন্ন প্রকল্পের কোড পড়া শেষ করেছো - একটি কোড পড়া এবং ডকুমেন্ট করার প্রক্রিয়া শিখতে সাহায্য করার জন্য, এবং অন্যটি একটি প্রকল্পে ত্রুটি সনাক্ত করার জন্য কোড পড়ার জন্য। প্রতিবার 6-অ্যাক্সিস আর্ম এবং ভেক্সকোডের সাথে কাজ করার সময় আপনি কোড পড়া, ভিজ্যুয়ালাইজ করা এবং প্রকল্পগুলি ডকুমেন্ট করার অনুশীলন চালিয়ে যাবেন। কোড পড়া এবং ডকুমেন্ট করার প্রক্রিয়া মনে রাখার জন্য আপনি যেকোনো সময় এই পাঠে ফিরে যেতে পারেন।
কার্যকলাপ
এখন যেহেতু আপনি দুটি ভিন্ন প্রকল্প ব্যবহার করে কোড রিডিং অনুশীলন করেছেন, আপনি আবার নিজে নিজে অনুশীলন করবেন।

কার্যকলাপ: উপরের প্রকল্পে কোডটি পড়তে আপনি যে পদ্ধতিটি শিখেছেন তা অনুসরণ করুন।
- উপরের প্রকল্পটি আপনার ইঞ্জিনিয়ারিং নোটবুকে লিপিবদ্ধ করুন।
- প্রকল্পটি চালানোর সময় 6-অ্যাক্সিস আর্ম কী করবে বলে আপনার মনে হয় তা ভবিষ্যদ্বাণী করুন। তোমার ভবিষ্যদ্বাণী তোমার ইঞ্জিনিয়ারিং নোটবুকে লিখে রাখো।
- প্রকল্পের প্রতিটি ব্লক পড়ুন, এবং ব্লকটি কার্যকর করার সময় 6-অ্যাক্সিস আর্ম কী আচরণ করবে তা কল্পনা করুন। আপনার ইঞ্জিনিয়ারিং নোটবুকে এই আচরণটি লিপিবদ্ধ করুন।
- প্রকল্পটি চালানোর সময় 6-অ্যাক্সিস আর্ম যে পথটি গ্রহণ করবে তা স্কেচ করুন।
- তোমার পড়া শেষ হলে তোমার শিক্ষকের সাথে যোগাযোগ করো। তুমি প্রকল্পটি একটি ক্লাস হিসেবে দেখবে। তারপর তুমি তোমার ভবিষ্যদ্বাণী এবং ডকুমেন্টেশন নিয়ে আলোচনা করবে।
তোমার বোধগম্যতা পরীক্ষা করো
পরবর্তী পাঠ শুরু করার আগে, আপনার ইঞ্জিনিয়ারিং নোটবুকে নীচের নথিতে থাকা প্রশ্নের উত্তর দিয়ে নিশ্চিত করুন যে আপনি এই পাঠের ধারণাগুলি বুঝতে পেরেছেন।
আপনার বোঝার প্রশ্নগুলি পরীক্ষা করুন > (Google Doc / .docx / .pdf)
আপনার মিড-ইউনিট প্রতিফলন শুরু করতেপরবর্তী >নির্বাচন করুন।