ডিজিটাল প্রযুক্তি ৭ম শ্রেণি শিখন অভিজ্ঞতা ৫ সেশন ৬ : আগের সেশনে আমরা নিজেদের সমস্যার সমাধান নিয়ে প্রবাহচিত্র তৈরি করেছি। তবে কোনো যন্ত্রকে সরাসরি আসলে প্রবাহচিত্র ধরিয়ে দেওয়া হয় না। যন্ত্রকে নির্দিষ্ট কোনো প্রোগ্রাম অথবা কোড লিখে দিতে হয় যেখানে কাজের ধাপগুলো যন্ত্রের বোঝার উপযোগী করে লেখা থাকে।
এই যে নির্দিষ্ট প্রোগ্রাম বা কোড আমরা তৈরি করব, যন্ত্রের বোঝার জন্য, সেটি প্রবাহচিত্র অনুসরণ করেই করব। তবে চাইলে সরাসরি আ্যালগরিদম থেকেও কোড তৈরি করা সম্ভব। কিন্তু যন্ত্র আসলে আমাদের নির্দেশ বোঝে কীভাবে?
ডিজিটাল প্রযুক্তি ৭ম শ্রেণি শিখন অভিজ্ঞতা ৫ সেশন ৬
প্রথমতো একটি যন্ত্র কম্পিউটার, রোবট ইত্যাদি) আসলে সরাসরি আমাদের মুখের ভাষা বুঝতে পারে না। সেটি ইতরেজি, বাংলা ইত্যাদি যে ভাষায়ই হোক না কেন! যন্ত্র আসলে বোবে শুধু দুটি সংখ্যা- ০ আর ১। এই দুটিকে বলা হয় বাইনারি ডিজিট।
এই ০ ও ১ বাইনারি সংখ্যার মাধ্যমেই ঘন্ত্র সব নির্দেশনা বোঝে। যেমন আমাদের বাংলা ভাষায় ৫০টি বর্ণ, সেই ৫০টি বর্ণ দিয়ে আমাদের বোঝার উপযোগী অগণিত শব্দ ও বাক্য তৈরি হয়। তেমনি যন্ত্রের বোঝার মতো সকল নির্দেশনা তৈরি হয় ১ ও ০ দিয়ে শুধু! ০ আর ১ এর সমন্বয়ে গঠিত এসব নির্দেশ বা কোডকে বলা হয় মেশিন কোড। কিন্ত আমরা তো মেশিন কোড বুঝি না। অনেকগুলো ০ আর ১ কে একসঙ্গে দেখলে আমাদের কাছে শুধু হিজিবিজি মনে হবে! তাহলে আমরা কীভাবে যন্ত্রের সঙ্গে যোগাযোগ করব? সেটার জন্য আছে বিভিন্ন প্রোগ্রামিং ভাষা, যেমন- সি, পাইথন, পার্ল, জাভা, স্ক্র্যাচ ইত্যাদি।
সাধারণত একটা প্রোগ্রামিং ভাষায় কিছু নির্দিষ্ট নিয়ম অনুসরণ করে মানুষের বোঝার উপযোগী (যেমন ইংরেজি বা বাংলা ইত্যাদি) ভাষায় করে যন্ত্র বুঝতে পারে এমন করে নির্দেশনা লেখা হয়। এরপর সেই নির্দেশ যন্ত্রের কাছে পাঠানো হলে যন্ত্র সেটিকে খুব সহজে মেশিন কোডে রূপান্তর করে নেয় ও নির্দেশ অনুসরণ করে কাজ করে। প্রশ্ন আসতে পারে কোনো প্রোগ্রামিং ভাষাটি শিখব?
আসলে যেকোনো একটি প্রোগ্রামিং ভাষা শিখে যন্ত্রকে নির্দেশ দেওয়া শুরু করা যেতে পারে। একটি শেখা গেলে তারপর অন্যগুলো শেখা অনেক সহজ হয়ে যাবে আমাদের জন্য। আমরা এখনই সরাসরি নির্দিষ্ট কোনো প্রোগ্রামিং ভাষা শিখতে যাচ্ছি না। তার পরিবর্তে যেকোনো প্রোগ্রামিং ভাষায় সহজে রূপান্তর করা যাবে এমন সুডো কোড (pseudo code)) আমরা তৈরি করা শিখব।
সুডো কোড জিনিসটা কী? সুডো মানে হলো অনুরূপ বা ছদ্ম। মূলত সুডো কোড হচ্ছে অ্যালগরিদমকে মানুষের বোঝার উপযোগী ভাষায় এমনভাবে সংকেত বা কোড আকারে প্রকাশ করা, যেটি থেকে সহজেই যেকোনো প্রোগ্রামিং ভাষায় পুরো নির্দেশমালাকে রূপান্তর করা যাবে।
তবে খেয়াল রাখতে হবে সুভো কোড কিন্তু সত্যিকারের একটি প্রোগ্রাম নয়। তাই কোনো প্রোগ্রামিং ভাষায় না লিখে শুধু সুডো কোড লিখে দিলে যন্ত্র সেটি বুঝতে পারবে না। সুডো কোড যেকোনো সময়ে যেকোনো প্রোগ্রামিং ভাষায় রূপান্তর করা যায়, এটাই সবচেয়ে বড় সুবিধা ।
আমরা যদি আমাদের রোবট দিয়ে আগুন নিভানোর প্রবাহচিত্রকে সুডো কোডে রূপান্তর করতে যাই, তাহলে কিছু জিনিস ভেবে নিতে হবে। প্রথমতো, সকল ইনপুট বা আউটপুটকে নির্দিষ্ট চলক (ক, খ, গ ইত্যাদি) দিয়ে প্রকাশ করতে হবে। আবার কোনো সিদ্ধান্ত নেবার সময় “ঘদি’ ও “অন্যথায়” দিয়ে প্রকাশ করব। আর কোনো কাজ সম্পন্ন করার সময় (যেমন আগুন নিভাচ্ছি) সেটাকে একটা ফাংশন হিসেবে () চিহ্ন দিয়ে
ফাংশন মানে হলো নির্দিষ্ট কিছু ধাপ অনুসরণ করে নির্ধারিত একটি কাজ শেষ করা। যেমন আগুন নিভানোর ফাংশন হতে পারে আগুন নিভাই() সুডো কোডটি দেখতে এমন হবে:
শুরু
ক – ক্যামেরা
যদি ক – হ্যাঁ হয়, আগুন নিভাই () এরপর শেষ
অন্যথায় শেষ
তাহলে কত সহজে একটি সুডো কোড দিয়ে আমরা পুরো কাজটি দেখিয়ে দিলাম!
এবারে আমরা একইভাবে নিজেদের দলের তৈরি করা প্রবাহচিত্রকে সুডো কোডে রূপান্তর করে ফেলি- (মূল বইয়ের ৮৯ নম্বর পৃষ্ঠা)
আমার দলের নির্বাচন করা সমস্যা: নদীতে একটি যাত্রীবাহি লঞ্চ ডুবে গেছে। উক্ত লঞ্চে থাকা যাত্রীদের উদ্ধারে রোবট ব্যবহার করতে হবে। এর পূর্বের সেশনে আমরা রোবটি ব্যবহার করতে অ্যালগরিদমের প্রবাহচিত্র তৈরি করেছেলিাম। এবার সেই প্রবাহচিত্রকে সুডো কোডে রূপান্ত করা হল।
শুরু
ক = কোনো মানুষ শনাক্ত হয়েছে কিনা
যদি ক = হ্যাঁ হয়, উদ্ধার করি () এরপর শেষ
অন্যথায় শেষ।
আরো দেখো: ডিজিটাল প্রযুক্তি সবগুলো অধ্যায়ের উত্তর
সপ্তম শ্রেণির শিক্ষার্থীরা, ওপরে দেওয়া Answer Sheet অপশনে ক্লিক করে তোমার ডিজিটাল প্রযুক্তি ৭ম শ্রেণি শিখন অভিজ্ঞতা ৫ সেশন ৬ উত্তর সংগ্রহ করে নাও। ডাউনলোড করতে অসুবিধা হলে আমাদের ফেসবুক পেজে ইনবক্স করো। শিক্ষার্থীরা অন্যান্য বিষয়ের নোট ও সাজেশান্স পেতে আমাদের YouTube চ্যানেলটি SUBSCRIBE করতে পারো এই লিংক থেকে।
Discussion about this post