প্রোগ্রামিং করি, প্রেমিকা খুজি

Anyone can Program

হাবলুদের জন্য প্রোগ্রামিং

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

আজকে শিখবো : Array, for loop

বিশ্ব হতাশা দিবস::

আগামী ১৪ই ফেব্রুয়ারি, বিশ্ব হতাশা দিবস। এই দিবসে আপনার ভেতর শুধু হতাশাই না, নিরাশা, বেদিশা, বিদিশা সব এসে ভর করে। আজকের ভিডিও লেকচারে দেখব কিভাবে আপনার ভেতরের হতাশা দূর করে, এমন কেউ একজনকে খুঁজে পাওয়া যায়, যে আপনার হোয়াটস অ্যাপ বা ভাইবারে ১০টা মেসেজ দিলেও অন্তত একটা রিপ্লাই দিবে।

প্রেমিকা খুঁজে বের করার জন্য আপনাকে একটা জিনিস খেয়াল করতে হবে, সেটা হচ্ছে, ম্যাক্সিমাম ক্ষেত্রে প্রত্যেকটা মেয়ের একটা ফ্রেন্ড সার্কেল বা গ্রুপ থাকে। সেই গ্রুপে ৪-৫ জন করে মেয়ে থাকে। এই যে মেয়েদের একটা গ্রুপ বা একটা সমষ্টি, প্রোগ্রামিং এর ভাষায় এটাকে বলে array বা list বা collection বা বাংলায় বলতে পারেন সারি। array এর সুবিধা হচ্ছে, একই টাইপের অনেকগুলা জিনিসকে একসাথে রাখতে পারেন। যেমন ধরেন, স্কুলে ক্লাস শুরু হবার আগে আমরা যখন এসেম্বলিতে দাড়াই তখন অনেকগুলা স্টুডেন্ট একটা সারিতে দাড়ায়। এই এক একটা সারি, এক একটা array এবং প্রত্যেকটা স্টুডেন্ট এই array এর element বা উপাদান।

গ্রুপ অফ মেয়ে

আপনি যে মেয়েটাকে টার্গেট করেছেন, তার ফ্রেন্ড সার্কেলটাকে আপনি যদি কোন একটা array আকারে লিখতে চান, তাহলে আপনাকে দুইটা কাজ করতে হবে-

  1. array এর সকল element থার্ড ব্র্যাকেটের, [ ], মধ্যে থাকবে
  2. যে কোনো দুইটা element এর মধ্যে একটা করে কমা দিতে হবে

যেহেতু মেয়েদের একটা array লিখবেন, সেহেতু আপনি এর নাম দিলেন ‘girls’ এবং প্রথম কাজ হিসেবে দুইটা থার্ড ব্র্যাকেট দিলেন। তারপর, থার্ড ব্র্যাকেটের মধ্যে তাদের ফ্রেন্ড সার্কেলের প্রথম যে মেয়েটা আছে তার নাম আমিনা। তাই array এর মধ্যে লিখলেন amina । তারপরে ফ্রেন্ড সার্কেলে আছে জামিনা। তাই array এর মধ্যে amina এর পরে একটা কমা দিলেন। তারপর লিখলেন jamina যাতে কমা দিয়ে বুঝতে পারেন, আমিনা আর জামিনা দুইজন আলাদা মেয়ে। তারপর কামিনাকে যোগ করার জন্য জামিনা এর পর কমা দিয়ে লিখলেন, kamina। আর সবার লাস্টে আছে পাবিনা। পাবিনা কে যোগ করার জন্য কামিনা এর পর কমা দিয়ে লিখলেন pabina । পাবিনা এর পরে আর কেউ নাই, তাই pabina এর পর আর কমা ব্যবহার করা লাগবে না। এত্ত সহজেই আপনি একটা array লিখে ফেলতে পারেন। ব্যস, আপনি খুজতেছিলেন একটা মেয়ে , এখন একটা গ্রুপ অফ মেয়ে পেয়ে গেলেন। yay

পুশ এ ফ্রেন্ড ::

এখন এই girls নামক array মধ্যে কয়টা মেয়ে আছে, সেটা জানা খুবই সিম্পল। জাস্ট girls.length লিখলেই আপনি পেয়ে যাবেন 4 কারণ এই array এর মধ্যে চারজন মেয়ে আছে।

নতুন ফ্রেন্ড বা array এর মধ্যে নতুন এলিমেন্ট যোগ করাটা খুবই সিম্পল, জাস্ট array এর নামটা লিখে তারপর লিখবেন ".push( )", তার মানে আপনি কাউকে পুশ করে দিতে চাচ্ছেন। আপনি যদি girls নামক array এর মধ্যে লামিনাকে পুশ করে দিতে চান, আপনি লিখবেন, "girls.push( lamina )" তারপরে দেখবেন array এর মধ্যে লাস্ট এলিমেন্ট pabina এর পর একটা কমা হয়ে গেছে, তারপর লামিনার নাম যোগ হয়ে গেছে। এর পরে, আপনি যদি সামিনাকে যোগ করতে চান, আপনি জাস্ট লিখবেন girls.push(samina), তখন array এর মধ্যে lamina এর নামের পর একটা কমা পড়বে এবং samina এর নাম যোগ হয়ে যাবে।

কে কোথায় আছিস ::

আপনার এই girls নামক array এর মধ্যে প্রথমে কে আছে, দ্বিতীয়তে কে আছে, সেটা জানা খুবই সিম্পল। জাস্ট array এর নামটা দিবেন, তারপর থার্ড ব্র্যাকেটের মধ্যে কোন একটা সংখ্যা লিখবেন। এই যে সংখ্যাটা লিখলেন, সেটা হচ্ছে, array এর কোন পজিশন বা অবস্থানের এলিমেন্ট জানাতে চাচ্ছেন তার সংখ্যা। তবে, array এর ক্ষেত্রে একটা জিনিস খুব ভালভাবে খেয়াল রাখতে হবে, সেটা হল array এর ফার্স্ট পজিশন শুরু হয় শূন্য দিয়ে। তার মানে আপনি যদি লিখেন, girls[0], আপনি পাবেন আমিনা। কারণ array এর মধ্যে ফার্স্ট পজিশনে আছে আমিনা। তারপর, girls[1] লিখলে পাবেন জামিনা, girls[2] লিখলে কামিনা এবং girls[3] লিখলে পাবিনা।

আলাদা আলাদাভাবে প্রপোজ

সমস্যা হচ্ছে, আপনি তো নিশ্চিত না কে আপনার সাথে প্রেম করতে রাজি হবে। তাই এই girls নামক array এর প্রত্যেক মেয়েকে আলাদা আলাদাভাবে প্রপোজ করতে হবে। ভাগ্য যদি ভালো থাকে, তাদের মধ্য থেকে কেউ একজন রাজি হয়ে গেলেও হয়ে যেতে পারে। সেজন্য, প্রপোজ করার কাজটা আপনাকে বারবার করতে হবে। কোন একটা কাজ বার বার করা লাগলে সেটার জন্য কোড বা প্রোগ্রাম আমরা বারবার লিখি না। বরং একবার লিখে সেই কোড টাকে কোন একটা লুপের মধ্যে দিয়ে বারবার চালাই। আগের পর্বে আমরা while লুপ কিভাবে লিখতে হয় শিখেছিলাম। এইবারও একটা লুপ লিখবো তবে সেটা হবে for লুপ।

for লুপ লিখার উপায়

for লুপ লিখার জন্য আমরা for লিখে একটা ফার্স্ট ব্র্যাকেট দেই। এই ফার্স্ট ব্র্যাকেটের মধ্যে প্রথমে লিখলাম i = 0 , তারপর সেমিকোলন (;) দিলাম, তারপর লিখলাম i < 4 , তারপরে আরেকটা সেমিকোলন দিয়ে i++ পুরোটা একসাথে লিখলে দেখা যাবে, for( i = 0 ; i < 4 ; i++ ) এই যে ফার্স্ট ব্র্যাকেটের ভেতরে আমরা তিনটা পার্ট লিখলাম, প্রথম পার্টের পর একটা সেমিকোলন, তারপর দ্বিতীয় পার্ট, তারপর আরেকটা সেমিকোলন এবং সবশেষে তৃতীয় পার্ট। এই ফার্স্ট ব্র্যাকেটের পর আমরা আরেকটা সেকেন্ড ব্র্যাকেট দিবো, যদি এই ফার্স্ট ব্র্যাকেটের ভেতরের মাঝখানের অংশটা (i < 4 ) সত্যি হয় তাহলে এই সেকেন্ড ব্র্যাকেটের ভেতরের কাজটুকু চলবে, আর যদি মিথ্যা হয়, তাহলে চলবে না।

এখন সেকেন্ড ব্র্যাকেটের ভেতরে আমাদের ফার্স্ট কাজ হচ্ছে girls নামক array থেকে একজন মেয়েকে সিলেক্ট করা। সেটা সিলেক্ট করার উপায় হচ্ছে, girls লিখে তারপর থার্ড ব্র্যাকেটের মধ্যে আমরা লিখলাম i, অর্থাৎ, girls[ i ] কেন লিখলাম সেটা বোঝার দরকার নাই। এই, girls[ i ] জিনিসটা আমরা একটা ভ্যারিয়েবলে রাখলাম aGirl। যখন আমরা একজন গার্লকে (aGirl) পেয়ে যাবো, তাঁকে আমরা প্রপোজ করে দিব।

টেরাই করতে ক্ষতি কি?::

এখন আমরা দেখি, এই for লুপটা কিভাবে কাজ করবে। for লুপের ফার্স্ট ব্র্যাকেটের মধ্যে প্রথম অংশে আছে i = 0। এইটার মানে হচ্ছে i একটা ভ্যারিয়েবল এবং তার মান সেট করতেছি 0। এই প্রথম অংশটার কাছে শুধুমাত্র একবার আসবে। তার মানে, ভবিষ্যতে আর কখনোই আসবে না। তারপরে সেকেন্ড পার্টের কাছে গিয়ে দেখবে i < 4, কন্ডিশনটা সত্যি কারণ একটু আগে আমরা i এর মান সেট করেছি 0, যা অবশ্যই 4 এর চাইতে ছোট। আমরা জানি এই কন্ডিশনটা সত্য হইলে, for লুপের সেকেন্ড ব্যাকেটের ভিতরের কাজ করতে যাবে। সেখানে গিয়ে প্রথম লাইনের সমান সমান চিহ্নের পরে আছে, girls[ i ] এখন i এর ভ্যালু হচ্ছে 0। সেজন্য, ডানপাশের অংশ গিয়ে দাড়াইছে, girls[ 0 ] তারমানে সে girls নামক array এর ভিতরে 0 পজিশনে যে আছে তাঁকে খুঁজে বের করবে। আমাদের girls নামক array এর জিরো পজিশনে আছে আমিনা, আমরা আমিনাকে পাবো। আমিনাকে পাওয়ার পর aGirl ভ্যারিয়েবলের মান হবে আমিনা। প্রথম লাইনের কাজ শেষ। তারপর সেকেন্ড লাইনে যাবে। সেখানে গিয়ে, আমিনাকে প্রপোজ করবে। আমিনাকে প্রপোজ করা হয়ে গেলে, এই লুপ টা একবার চলার কাজ সম্পন্ন করে ফেললো।

লুপ একবার শেষ হয়ে গেলে, সে for লুপের থার্ড অংশের কাছে যাবে। সেখানে আছে i++ অর্থাৎ একটা ভ্যারিয়েবল এর পর দুইটা প্লাস প্লাস চিহ্ন। কোন একটা ভ্যারিয়েবলের নামের পর যদি ++ থাকে, তাহলে আমরা ভ্যারিয়েবলের মান ১ বাড়াই। i এর ভ্যালু আগে ছিল 0, আমরা ১ বাড়ালে সেটি হবে 1। এরপর for লুপের সেকেন্ড পার্টটার কাছে এসে দেখবে 1 হচ্ছে চারের চাইতে ছোট। এই শর্তটা সত্য হইছে,তাই for লুপের ভেতরে যাবে, girls নামক array এর 1 পজিশনে আছে জামিনা, জামিনাকে পাওয়ার পর জামিনাকে প্রপোজ করবে। তারপর আবার for লুপের থার্ড পার্টের কাছে এসে i এর ভ্যালু ১ বাড়ায় হইলো 2, সেটা চারের চাইতে ছোট। এরপর girls নামক array তে এসে কামিনাকে প্রপোজ করে আবার i এর ভ্যালু বাড়িয়ে 3 করলো। সেটা চেক করে দেখল চারের চাইতে ছোট। লুপের ভিতরে ডুকে girls নামক array থেকে পাবিনাকে খুঁজে পেয়ে, তাকে প্রপোজ করার পর আবার for লুপের থার্ড পার্টের কাছে আসে i এর ভ্যালু ১ বাড়াল। বাড়ানোর পর i এর ভ্যালু হল 4। এখন সে, for লুপের সেকেন্ড পার্টের কাছে চেক করতে গিয়ে দেখবে, i আর চারের চাইতে ছোট না। এটা সমান সমান হয়ে গেছে। তার মানে i<4 এই শর্তটা এখন মিথ্যা হয়ে গেছে। এটা যেহেতু মিথ্যা হয়ে গেছে, এখন সে আর for লুপের সেকেন্ড ব্র্যাকেটের ভিতরে যেতে পারবে না। লুপ আর চালাবে না। প্রপোজ করার কাজ শেষ।

ধার চাইলে বন্ধু চেনা যায় ::

প্রপোজ ট্রপোজ করতে গেলে কিছু খরচাপাতির বিষয় আছে, সো নিচে কমেন্টের মধ্যে আপনি আপনার ফ্রেন্ডদের একটা array লিখেন এবং সব ফ্রেন্ডদের কাছে টাকা ধার চাওয়ার জন্য একটা for লুপ লিখেন। সব কমেন্টের মধ্য থেকে এই পর্বের জন্য সেরা হাবলু নির্বাচন করা হবে।

সঙ্গেই থাকুন::

পরবর্তী লেকচারটা মার্চ মাসের প্রথম সপ্তাহে আসবে।




Question or Feedback:

যদি লোকসম্মুখে প্রশ্ন জিগ্গেস করতে বা উপদেশ, বকাঝকা, গালাগালি, হুমকি দিতে সংকোচ লাগে তাইলে ইমেইল করে দেন jhankar.mahbub@gmail.com