৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ৪: আমরা সপ্তম শ্রেণিতে একটি বাস্তব সমস্যাকে সমাধানের জন্য সুডো কোড তৈরি করা শিখেছিলাম। সুডো কোড দেখে আমরা ধারণা পাব সমাধানের উপায়টি কেমন হবে। তবে কম্পিউটারকে সেই নির্দেশ বুঝিয়ে দিয়ে কম্পিউটারকে দিয়ে সমাধানটি করতে চাইলে আমাদের প্রয়োজন হবে একটি প্রোগ্রাম ডিজাইন করা।
তাই এই শিখন অভিজ্ঞতায় আমরা দেখব যন্ত্রের জন্য নির্দিষ্ট যুক্তি সাজিয়ে কীভাবে একটি প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রাম ডিজাইন করতে পারি। তারপরে একটি সমস্যাকে নির্বাচন করে আমরা সেটি সমাধান করব প্রোগ্রাম ডিজাইন করে। এই প্রোগ্রাম ডিজাইনের সময়ে কিছু ত্রুটি এবং ঝুঁকিও তৈরি হতে পারে। সেগুলোকে কীভাবে সমাধান করা যায় সেটাও খুঁজে বের করার চেষ্টা করব আমরা এই অভিজ্ঞতায়।
সমস্যার সমাধান চাই প্রোগ্রামিংয়ের জুড়ি নাই
সেশন-১ ও ২: যন্ত্রের মধ্যে বিভিন্ন ইনপুটে লজিকের সমন্বয়
সপ্তম শ্রেণিতে আমরা জেনেছিলাম কম্পিউটার বাইনারি সংখ্যা অর্থাৎ ০ আর ১ ছাড়া আর কোনো ডিজিট বা অংঙ্ক বুঝতে পারে না। আচ্ছা আমরা যখন সংখ্যা গণনা করি, প্রাথমিকভাবে মোট কয়টি ডিজিট গুণতে পারি বল তো? আমরা কিন্তু ০ থেকে ৯ পর্যন্ত মোট ১০টি ডিজিট গুণতে পারি। বাকিসব সংখ্যাকে ০ থেকে ৯ এর মাধ্যমেই প্রকাশ করা হয়। এই ১০ টি ডিজিট দিয়ে সব সংখ্যা আমরা কেন প্রকাশ করি? কারণ মানুষ যখন গণনা করা শুরু করেছিল, হাতের ১০ আঙ্গুলের কারণে যেকোনো কিছু ১০ সংখ্যা বিশিষ্ট তথা ডেসিম্যাল (Decimal) পদ্ধতি দিয়ে গণনা শুরু করেছিল।
তার মানে আমাদের দুই হাতে ১০টি আঙুলের পরিবর্তে যদি আরও কম বেশি আঙুল থাকত, তাহলে আমাদের ডিজিট সংখ্যাও কিন্তু পাল্টে যেত। এবারে একটু কম্পিউটারের কথা ভাবা যাক। কম্পিউটার তো ০ আর ১ অর্থাৎ দুই সংখ্যা বিশিষ্ট বাইনারি (Binary) সংখ্যা পদ্ধতি ব্যবহার করে।
সেশন-৩: প্রোগ্রাম ডিজাইনের সূচনা
কম্পিউটারকে যেকোনো নির্দেশ দিতে গেলে কম্পিউটার বুঝতে পারে এমন ভাষায় নির্দেশ লিখতে হয়। সপ্তম শ্রেণিতে সুডো কোড লেখা শিখেছিলাম আমরা। সুডো কোডের মাধ্যমে আমরা একটি নির্দেশমালা তৈরি করেছিলাম যা অনুসরণ করে একটি রোবট আগুন নিভাতে পারবে।
কিন্তু সুডো কোড় সরাসরি কম্পিউটার বা রোবটের কাছে দিলে সেটি আমাদের কম্পিউটার কিংবা রোবট বুঝতে পারবে না। আমরা তো আগেই জেনেছি কম্পিউটারসহ যেকোনো ইলেক্ট্রনিক ডিভাইস শুধুমাত্র ০ আর ১ কে বুঝতে পারে। এদিকে শুধু ০ আর ১ দিয়ে নিজেদের নির্দেশগুলো লিখে ফেলাও আমাদের জন্য কঠিন।
তাহলে কম্পিউটারের সাথে কীভাবে আমরা যোগাযোগ করব? এমন কিছু ভাষা আছে, যেখানে ওই ভাষার রীতিনীতি অনুসরণ করে নির্দেশ লিখলে কম্পিউটার সেই ভাষাকে সহজেই বাইনারিতে অথবা : ‘ডেসিম্যালে রূপান্তর করে নিয়ে নির্দেশগুলো বুঝতে পারে। এই ভাষাগুলোকে বলা হয় প্রোগ্রামিং ভাষা। মানুষ নিজেদের মধ্যে কথা বলার জন্য বাংলা,ইংরেজি, ফ্রেঞ্চ, ল্যাটিন, স্প্যানিশ ইত্যাদি কতরকমের ভাষা ব্যবহার করে! ঠিক তেমনই অনেক রকম প্রোগ্রামিং ভাষা আছে। যেমন – সি, সি++, পাইথন, জাভা ইত্যাদি।
৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ৪
প্রশ্ন ০১: কম্পিউটারে থাকা প্রোগ্রামিং ভাষার রূপান্তর ব্যবস্থা কয় রকমের ও কি কি?
উত্তর: কম্পিউটারে থাকা প্রোগ্রামিং ভাষার রূপান্তর ব্যবস্থা কয় ২ রকমের। নিচে আলোচনা করা হলো।
ক) কিছু রূপান্তর ব্যবস্থায় আমরা যতগুলো নির্দেশ দিব, যদি নির্দেশগুলো নির্ভুল হয় তাহলে সবগুলো নির্দেশ একসাথে মেশিন কোডে রূপান্তর হবে। এই রূপান্তর ব্যবস্থাকে বলা হয় কম্পাইল (Compile) করা। আর যে সফটওয়্যার রূপান্তর করল, সেই রুপান্তরকারী হচ্ছে একটি কম্পাইলার (Compiler)। তবে কম্পাইলার যদি পুরো নির্দেশের কোথাও ভুল পায়, তাহলে রূপান্তর করতে পারে না। সবগুলো নির্দেশ নির্ভুল দিলে তখনই রুপান্তরের কাজটি করতে পারে।
খ) কিছু রূপান্তর ব্যবস্থায় আমরা যত নির্দেশই দেই না কেন, সব একসাথে রূপান্তর হবে না। একটি একটি করে – নির্দেশ ধারাবাহিকভাবে রূপান্তর হতে থাকবে। এই রূপান্তর ব্যবস্থাকে বলা হয় ইন্টারপ্রেট (Interprete) করা। আর যে রূপান্তর কাজটি করছে তাকে বলা হয় ইন্টারপ্রেটার (Interpreter)। ইন্টারপ্রেটার একটি একটি করে নির্দেশ রূপান্তর করতে থাকবে। কোনো নির্দেশে ভুল পেলে সেই নির্দেশে আসার পর থেমে যাবে।
প্রশ্ন ০২: পাইথন ভাষায় নির্দেশ লেখার জন্য কি করতে হবে?
উত্তর: ১। সবার আগে আমাদের পাইথন অ্যাপ্লিকেশন ডাউনলোড করে কম্পিউটারে ইন্সটল করতে হবে। এই লিংকে চলে যাই – https://www.python.org/downloads/ এরপর সেখান থেকে সবচেয়ে সাম্প্রতিক ভার্সন নামিয়ে নেই।
২। অ্যাপ্লিকেশন নামানো হয়ে গেলে এটি ইন্সটল করে ফেলি। আমরা ইন্সটল উইন্ডোর নিচে থাকা অপশনগুলো ক্লিক করে টিক চিহ্ন দিয়ে দিব। তারপর Install Now অপশনে ক্লিক করব। এসময় ইন্সটল হবার অনুমতি চাইলে সেটাও অনুমতি দিয়ে দিব।
৩। এরপর আমাদের মেসেজ দেখাবে যে আমাদের সেটআপ সফল হয়েছে।
৪। পাইথন আমাদের কম্পিউটারে যুক্ত হলো। কিন্তু আমাদের আরেকটি সফটওয়্যার এপ্লিকেশন লাগবে যেখানে আমরা আমাদের নির্দেশ লিখে কম্পিউটারকে বুঝিয়ে দিব। সেজন্য এই লিংকে যাই – https://thonny.org/ এই লিংক থেকে thonny সফটওয়ারটি নামিয়ে নেই ও ইন্সটল করে ফেলি।
৫। thonny সফটওয়্যার এরপর চালু করি।এরপর ets go-তে ক্লিক করবো।
৭। এবারে একটা কাজ করি। আমরা একটা প্রোগ্রাম লিখি, যার কাজ হবে আউটপুট হিসেবে Hello World! প্রিন্ট করা। আউটপুট হিসেবে কোনো কিছু প্রিন্ট করতে হলে print () ব্যবহার করতে হয়। আমরা যেই টেক্সট প্রিন্ট করতে চাই, সেটা print () এর ভিতরে Single Quotation (”) দিয়ে তারমধ্যে -লিখব। তাহলে Hello World! প্রিন্ট করতে লেখি- print(‘Hello World!’) এরপর রান বাটনে ক্লিক করলে নিচে আউটপুট হিসেবে Hello World! লেখা উঠবে।
৮। এবারে সেভ বাটনে ক্লিক করে প্রোগ্রামের একটি নাম দিয়ে ফাইলটি সেভ করি। তখন আমাদের ফাইলের নামও প্রদর্শন করবে প্রোগ্রামের উপরে।
সেশন-৪ ও ৫: ভ্যারিয়েবল ভারি মজার
আগের সেশনে আমরা দেখলাম যেকোনো টেক্সট কত সহজে প্রিন্ট করা যায়। আমাদের প্রোগ্রামে যেকোনো সময় print () ফাংশন ব্যবহার করে এই কাজটি করা সম্ভব।
আবার কোনো তথ্য যদি প্রোগ্রামের ভিতর সঞ্চয় করতে হয় তাহলে আমরা ব্যবহার করতে পারব একটি ভ্যারিয়েবল (Variable)। ভ্যারিয়েবল হলো একটি বাক্সের মত, যার ভিতরে নির্দিষ্ট একটি তথ্য জমা রাখা যায়। আবার ভ্যারিয়েবল শব্দটির অর্থ পরিবর্তনশীল। মানে আমরা চাইলে প্রোগ্রামে একটি লাইনে ভ্যারিয়েবলের মধ্যে একটি তথ্য জমা রাখার পর অন্য লাইনে সেই তথ্য পরিবর্তন করে ভিন্ন আরেকটি তথ্য জমা রাখতে পারি।
আমাদের সবার তো একটা নির্দিষ্ট নাম আছে তাই না? এই নাম দিয়ে সবাই আমাদের চিনতে পারে। একইভাবে প্রতিটি ভ্যারিয়েবলের একটি নির্দিষ্ট নাম দিতে হয়, যেই নাম দিয়ে পুরো প্রোগ্রামে আমরা ভ্যারিয়েবলটি চিনতে পারব ও ব্যবহার করতে হবে।
সেশন-৬: ইনপুট নেওয়া শুরু করি
আগের সেশনে আমরা ভ্যারিয়েবলে তথ্য অ্যাসাইন করা শুরু করেছি। আমরা যদি প্রোগ্রামের ব্যবহারকারীর থেকে একটি তথ্য ইনপুট নিতে চাই তাহলে কি করব? কাজটি করা খুবই সহজ input () ব্যবহার করে।
আমরা যদি নিচের মতো লেখি-
my_input= input ()
তাহলে my_input ভ্যারিয়েবলটি আমাদের থেকে একটি ইনপুট গ্রহণ করবে। তবে, input ) প্রোগ্রামের ভিতরে ইনপুট হিসেবে কোনো সংখ্যা, অক্ষর ইত্যাদি যেটাই গ্রহণ করুক না কেন, সেটিকে str ডেটাটাইপে গ্রহণ করবে।
সেশন-৭: দুটি সংখ্যার ইনপুট নিয়ে করি যোগ, বিয়োগ, গুণ, ভাগ এবং মডুলাস
আগের সেশনে আমরা ইনপুট নেওয়া শিখেছি input() ফাংশন ব্যবহার করে। আমরা চাইলে দুটি সংখ্যা- ইনপুট নিয়ে তাদের মধ্যে গাণিতিক অপারেশন (Arithmetic Operation) করতে পারি।
এক্ষেত্রে নিচের অপারেটরগুলো ব্যবহার করতে পারি আমরা সহজেই-
অপারেটর (+) কাজ: এটি যোগ (Addition) অপারেটর। এই অপারেটর ব্যবহার করে অপারেটরটির দুপাশে থাকা দুটি ভ্যারিয়েবলের যোগফল বের করা যাবে।
অপারেটর (-) কাজ: এটি বিয়োগ (Subtraction) অপারেটর। এই অপারেটর ব্যবহার করে অপারেটরটির দুপাশে থাকা দুটি ভ্যারিয়েবলের বিয়োগফল বের করা যাবে।
অপারেটর (*) কাজ: এটি গুণ (Multiplication) অপারেটর। এই অপারেটর ব্যবহার করে অপারেটরটির দুপাশে থাকা দুটি ভ্যারিয়েবলের গুণফল বের করা যাবে।
অপারেটর (/) কাজ: এটি ভাগ (Division) অপারেটর। এই অপারেটর ব্যবহার করে অপারেটরটির বামপাশে থাকা ভ্যারিয়েবলকে ডানপাশে থাকা ভ্যারিয়েবল দিয়ে ভাগ করে ভাগফল বের করা যাবে।
অপারেটর (℅) কাজ: এটি মডুলো (Modulo) অপারেটর। এই অপারেটর ব্যবহার করে অপারেটরটির বামপাশে থাকা ভ্যারিয়েবলকে ডানপাশে থাকা ভ্যারিয়েবল দিয়ে ভাগ করে ভাগশেষ বের করা যাবে।
সেশন-৮ ও ৯: সমস্যা সমাধানের জন্য প্রোগ্রাম ডিজাইন
এবারে আমাদের শিক্ষক আমাদের কয়েকটি দলে ভাগ করে দিবেন। প্রতিটি দলে সর্বোচ্চ ৫-৬ জন শিক্ষার্থীকে নির্ধারণ করবেন শিক্ষক। আমরা প্রত্যেকে যে ৩টি করে সমস্যা বের করেছি, দলের বাকিদের সাথে সমস্যাগুলো নিয়ে আলোচনা করি। এর আগে আমরা দেখেছি কীভাবে একটি প্রোগ্রাম ডিজাইন করা যায় ও বিভিন্ন ইনপুট নিয়ে যোগ, বিয়োগ, গুণ, ভাগ ইত্যাদি প্রয়োগ করে সেখান থেকে আউটপুট বের করা যায়।
আরও দেখুন: তথ্য যাচাই অভিযান – ৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ১
আরও দেখুন: ডিজিটাল প্ল্যাটফর্মে ব্যক্তিগত তথ্যের নিরাপত্তাজনিত ঝুঁকি – ৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ২
আরও দেখুন: নাগরিক সেবা ও ই-কমার্সের সুযাগ গ্রহণ করি – ৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ৩
আশাকরি “সমস্যার সমাধান চাই প্রোগ্রামিংয়ের জুড়ি নাই – ৮ম শ্রেণির ডিজিটাল প্রযুক্তি শিখন অভিজ্ঞতা ৪” আর্টিকেল টি আপনাদের ভালো লেগেছে। আমাদের কোন আপডেট মিস না করতে ফলো করতে পারেন আমাদের ফেসবুক পেজ ও সাবক্রাইব করতে পারেন আমাদের ইউটিউব চ্যানেল।