Basic Programming Concpets

খুব শিগ্রই বাংলায় সহজ করে লেখা হবে

তখন ইমেইলে আপডেট পেতে রেজিস্ট্রেশন করো: এই খানে

আজকেও চা খেতে বসেছে রাশেদ। সাথে আছে অন্তু।যথারীতি চায়ের কাপে প্রথম চুমুক দিয়েই রাশেদ বলতে শুরু করলো। শুন- গত বছর লিটন ভাইয়ের চায়ের দোকানে চা খাইতে খাইতে যেসব কিছু নিয়ে আড্ডা দিছিলাম। আজকে থেকে আবার সেই রকমের গল্প আড্ডা দেয়া শুরু করবো। মজার মজার গল্পের ছলে প্রোগ্রামিং নিয়ে মাস্তি করবো। তবে ধারাবাহিক নাটক এর মতো নতুন পর্ব শুরু হওয়ার আগে, আগের পর্বের হাইলাইটস দেখায়। এখানেও আমি গত বছরের আড্ডার চুম্বক অংশগুলোর হাইলাইটস দেখিয়ে ফেলি। যারা হাবলুদের জন্য প্রোগ্রামিং বইটা পড়ছে তাদের এইসব কাহিনী ভাসা ভাসা হলেও মনে থাকার কথা। তাই এই হাইলাটাইস তাদের স্মৃতিগুলাকে রিফ্রেশ করে ফকফকা বানিয়ে দিবে। সখি, ভেরিয়েবল কারে কয়? একদিন তুই গেছিলি আধা কেজি চাল কিনতে। চাল কিনতে গিয়ে দেখস আধা কেজি চালের দাম হুট করে ২৫ টাকা থেকে ২৮ টাকা হয়ে গেছে। এই কথা শুনে তুই অজ্ঞান হয়ে গেছিলি। তখন দোকানদার মামা তোর মাথায় পানি ঢালতে ঢালতে বলছিলো- ভাগনা, আধা কেজি চালের দামতো আজীবন একই থাকবে না। বরং মাসে মাসে চেইঞ্জ হবে। আজকে যদি আধা কেজি চালের দাম ২৮ টাকা হয়। এক মাস পরে কিন্তু ২৮ টাকা থাকবে না। এক মাস পরে হয়ে যাবে ২৯ টাকা। ছয় মাস পরে ৩৪ টাকা। আর এক বছর পরে কত হবে, আল্লাহই মালুম। হয়তো ৩৯ নয় ৪১ হবে। এই যে চালের দাম এটা নিদৃষ্ট থাকতেছে না। ভেরি করতেছে। আর কোন একটা জিনিস ভেরি করলে সেটাকে প্রোগ্রামিং এর ভাষায় ভেরিয়েবল বলে। প্রোগ্রামিং করার সময় কোন ভেরিয়েবলের নামের আগে তুই var লিখতি। তারপর ভেরিয়েবলের নাম লিখে সমান চিহ্ন দিয়ে ভেরিয়েবলের মান বসায় ফেলতি।

var chalerDam = 28;
আর প্রোগ্রামিং করার সময় কোন কিছু আউটপুট হিসেবে দেখার জন্য সেটাকে console.log করে দিতি। অনেক সময় তো, মোবাইলে বা ল্যাপটপ দিয়ে প্রোগ্রামিং প্রাকটিস করার জন্য www.jhankarmahbub.com/console এ চলে যাইতি। সেখানে নিচের মতো কোড লিখে run লেখা বাটনে দিয়ে আউটপুট দেখতি।

var chalerDam = 28;
console.log(chalerDam);
string এর তালে নাচবে গরু গোয়ালে একবার ভেরিয়েবলের মান হিসেবে রিক্সাওয়ালার নাম লিখতে গিয়ে ফ্যাসাদে পড়ে গেছিলি। শেষমেশ আমি বলে দিছিলাম। যখন কোন ভেরিয়েবলের মান এক বা একাধিক বর্ন বা বর্ণের সমষ্টি দিয়ে প্রকাশ করতে হয়। তখন ভেরিয়েবলের মানের শুরুতে একটা ডাবল কোটেশন (") এবং শেষে আরেকটা ডাবল কোটেশন (") দিবি। তারপর থেকে কোন জায়গার নাম বা শব্দ কোন ভেরিয়েবলের মান হিসেবে ব্যবহার করার সময় ডাবল কোটেশন ব্যবহার করতি। নিচের মতো করে।

var name = “Gorib Ullah”;
নানীর if-else দেখে লাফায় নানা তুই বেশিরভাগ সময় কনফিউশনে পড়ে যাইতি। ঠিকমতো ডিসিশন নিতে পারতি না। একবার তো হোটেলে গিয়ে দুই ঘন্টা বসে ছিলি। ঠিক করতে পারতেছিলি না- তুই, ভাত খাবি, না পরোটা খাবি। তারপর আমি তোকে বলে দিছিলাম- ভাতের দাম 50 টাকার কম হইলে ভাত খাবি, না হইলে পরোটা খাবি। তখন ভাত খাওয়াটা ছিলো তোর প্রাথমিক চিন্তা বা অরিজিনাল প্ল্যান। আর ভাতের দাম কম না হলে, পরোটা খাওয়াটা তোর ব্যাকআপ প্ল্যান বা বিকল্প চিন্তা। এইরকম শর্ত ওয়ালা কোন প্রোগাম করতে গেলে, অরিজিনাল প্ল্যান (ভাত খাওয়া) যাবে if এর ভিতরে। আর ব্যাকআপ প্ল্যান (পরোটা খাওয়া) যাবে else এর ভিতরে। আর ভাত না পরোটা খাওয়ার প্রোগ্রামটা নিচের মতো করে লিখে ফেলতি।

if (bhaterPrice < 50){
      console.log("bhat khabo");
}
else{
     console.log("porota khabo");
}
উপরের প্রোগ্রামটা if দিয়ে শুরু হইছে। if এর পরে ব্র্যাকেটের ভিতরে একটা শর্ত আছে। এই শর্ত সত্য হলে শর্তের পরে সেকেন্ড ব্র্যাকেটের ভিতরের কাজ করবে। আর শর্ত মিথ্যা হলে if এর পরের অংশ কাজ না করে else এর পরে সেকেন্ড ব্র্যাকেটের ভিতরের কাজ করবে। বিস্কুটের array খায় বিড়াল ছানা এমন অনেক রাত ছিলো বুয়া আসতো না। বাসায় খাওয়ার কিছু থাকতো না। তখন তুই আর আমি বিস্কুট খেয়ে রাত পার করে দিতাম। সেরকম এক রাতে বিস্কুটের প্যাকেট হাতে নিয়ে তোকে বলছিলাম- একটা বিস্কুটের প্যাকেট মানে অনেকগুলা বিস্কুটের সমষ্টি। আর প্রোগ্রামিং এর ভাষায় অনেকগুলা জিনিসের সমষ্টিকে collection, list বা array বলে। যেমন একটা দেয়াশলাই এর বাক্সে অনেকগুলা দেয়াশলাই কাঠি থাকে। তাই দেয়াশলাই বাক্স অনেকগুলা দেয়াশলাই কাঠির array। তুই তোর বন্ধুদের নাম দিয়ে friends নামক একটা array ও লিখে ফেলছিলি। আর array এর উপাদানগুলো যেহেতু এক একটা নাম ছিলো, তাই প্রত্যেকের নামের আগে এবং পরে ডাবল কোটেশন দিয়ে দিছিলি।

var friends = [ “olil”, “kholil”, “molil”, “jolil” ];
while লুপকে করলে মালিশ তবে সবচেয়ে বেশি মজা হইছিলো তোর স্কুলে যেদিন তোরে দশবার কানে ধরে উঠবস করার শাস্তি দিছিলো। সেদিন তোকে কানে ধরে উঠবস করার কাজটা দশবার করা লাগছিলো। এই কথাটাকে ঘুরিয়ে বললে বলা যায়- তুই ততক্ষন পর্যন্ত কানে ধরে উঠবস করছিলি, যতক্ষণ পর্যন্ত তোর কানে ধরে উঠবস করার সংখ্যা ১০ না হয়। আর তোর কানে ধরে উঠবস শুরু করার আগে, কতবার(kotoBar) উঠবস করা হইসে সেটার মান ছিলো ০। তারপর প্রত্যেকবার কানে ধরে উঠবস করা শেষ হলে, কতবার(kotoBar) কানে ধরে উঠবস করার করার সংখ্যা এক এক করে বাড়াতি। আর পুরা while লুপটা নিচের মতো করে লিখে ফেলছিলি।

var kotoBar = 0;

while ( kotoBar < 10 ) {
  console.log( “ek bar kane dhore uthbos korsi”);
  kotoBar++;
}
for লুপ ডাকবে সালিশ একবার দাওয়াত ছাড়া অপরিচিত মানুষের বিয়ে খাইতে গেছিলি। মনে আছে? সেখানে তোকে শেষমেশ বিভিন্ন টেবিলে খাবার দেয়ার কাজ ধরায় দিছিলো। আচ্ছা ,এই কাহিনী হয়তো সবাই জানে না। তাই ডিটেইলে না যাই। বরং একটা টেবিলে ১২ জন বসা ছিলো। সেই বারো জনের এক একজনকে করে মোট ১২ জনের প্লেটে খাবার দিছিলি। অর্থাৎ খাবার দেয়ার কাজটা ১২ বার করছিলি। আর কোন একটা কাজ বারবার করলে সেটার জন্য লুপ লিখতে হয়। তুই যেহেতু আগে থেকেই while লুপ জানতি। তাই এইবার for লুপ লিখে পন্ডিতি ঝাড়তে গেছিলি। for লুপ লেখার জন্য লুপের কাজটা কতবার করা হইছে সেটা হিসেব রাখার জন্য for এর পরে ব্র্যাকেটের ভিতরে পুচকা একটা ভেরিয়েবল ডিক্লেয়ার করছিলি। এই পুচকা ভেরিয়েবলের নাম দিছিলি i তারপর সেমিকোলন দিয়ে একটা শর্ত লিখছিলি। শর্তের পরে সেমিকোলন লিখে i++ লিখছিলি। যাতে i এর মান এক এক করে বাড়ে। তারপর সেকেন্ড ব্র্যাকেট এর ভিতরে যে কাজটা বারবার করা লাগছিলো সেটা লিখছিলি। যেমন, এক এক জনকে খাবার দেয়ার কাজটা বারবার করতেছিলি

for( var i = 0; i < 12 ; i++ ) {
   console.log(“ek ek jon er plate e khabar dewa”);
}
function বুঝবে না- কোনটা বউ কোনটা শালি একদিনতো ঝালমুড়ি খাইতে খাইতে, ঝালমুড়ি ওয়ালার প্রেমে দিওয়ানা হয়ে গেছিলি। তারপর ঝালমুড়ি বানানোর সময় খুচরা-খাচড়া যত কাজ করা লাগে সবগুলাকে ফাংশন বানানো শুরু করে দিছিলি। কিছু দিন পরে মুদি দোকানে যখনি কেউ একসাথে দুইটা জিনিস কিনতো, তখনি দুইটা সংখ্যা যোগ করার ফাংশন ব্যবহার করে মোট কত টাকা হইছে সেটা বলে দিতি। যোগ করার ফাংশন লিখার সময় প্রথমেই function লিখতি। তারপর তোর ফাংশানটার কাজ যেহেতু ছিলো দুইটা সংখ্যার যোগ করা, তাই এইটার নাম দিছিলি যোগকর(joogKor)। নামের পরে দুইটা প্রথম ব্র্যাকেট দিয়ে যে যে ইনপুট নেওয়া দরকার সেগুলার নাম লিখতি। তারপর সেকেন্ড ব্র্যাকেটের ভিতরে যে দুইটা সংখ্যা ইনপুট হিসেবে নিছস সে দুইটা যোগ করে যোগফল (joogFol) নামক ভেরিয়েবল রাখতি। সবশেষে return লিখে joogFol ভেরিয়েবলটা রিটার্ন করে দিতি।

function joogFol (first, second) {
    var joogFol = first + second;
   return joogFol;
}
উপরের joogKor ফাংশন দিয়ে ২৮ আর ২০ যোগ করার দরকার হলে, নিচের মতো করে কল করে ফেলতি।

joogFol(28, 20);
তুই চাইলে দুইটা সংখ্যার পরিবর্তে দুইটা ভেরিয়েলবের মান যোগ করতে চাইলে ফাংশনের নাম লিখার পর প্রথম ব্র্যাকেট দিয়ে ভেরিয়েবল দুইটার নাম লিখে দিতে পারতি। যেমন ধর, চালের দাম (chalerDam) আর ডালের দাম (dalerDam) ভেরিয়েবল দুইটা joogKor ফাংশন দিয়ে যোগ করতে চাস। প্রথমেই ভেরিয়েবল দুইটা ডিক্লেয়ার করে ফেলতি। তারপর joogKor ফাংশনকে কল করার সময় প্রথম ব্রাকেটের ভিতরে এই ভেরিয়েবল দুইটা লিখে ফেলতি। আর তুই চাইলে, joogKor ফাংশনের আউটপুট টোটাল (total) নামে আরেকটা ভেরিয়েবল ডিক্লেয়ার করে রেখে দিতে পারতি।

var chalerDam = 28;
var dalerDam = 20;
var total = joogKor(chalerDam, dalerDam);
গত এক বছরের গল্প, আড্ডা, জীবন সংগ্রামে ছড়িয়ে ছিটিয়ে আছে- ভেরিয়েবল, if-else, array, লুপ ও ফাংশন। এই গুলাই আমাদের জীবনের গত এক বছরের হাইলাইটস। আবার এইগুলাই হচ্ছে প্রোগ্রামিং এর পঞ্চ রত্ন। প্রোগ্রামিং যে যেভাবেই শুরু করুক না কেনো, তাকে প্রোগ্রামিং এর পঞ্চ রত্ন সম্পর্কে জানতেই হবে। অন্যরা না জানলে আপসেট হওয়ার কিছু নাই। তারা হাবলুদের জন্য প্রোগামিং- বই পড়ে হাবলুদের লাইফ স্টোরি সম্পর্কে জেনে ফেলতে পারবে। আর যারা হাবলুদের সম্পর্কে জানে, তাদের পক্ষে হাবলুদের সাথে এগিয়ে চলাটা সহজ হবে।

আর খেয়ে দেয়ে কোন কাজ কাম না থাকলে www.JhankarMahbub.com দেখে আয়