Computer Programming এ, loop বলতে এক বা একাধিক instrucation বা নির্দেশনা কে একটা নির্দিষ্ট শর্তে না পৌছানো না পর্যন্ত বারবার exicute করানোকে বুজায়।
লুপ কেন ব্যাবহার করা হই?
প্রোগ্রাম লিখার সময় আমাদেরকে অনেক সময় ই এক ই কাজ একাধিকবার করার প্রয়োজন হই বা হতে পারে। ধরা যাক, আমাদেরকে প্রোগ্রাম এর মাধ্যমে আমাদের institute এর নাম ১০ বার প্রিন্ট করতে হবে। যা খুব একটা কষ্টকর হবে না। আমরা যে কোনো প্রিন্ট করার জন্য যে কোনো একটি method বা function ব্যাবহার করে সহজেই করতে পারি। কিন্তু যদি এই কাজটা ১০০০ বার বা তার চেয়ে বেশি লিখতে হই তখন তা করাটা অনেকটা কষ্টকর/বিরক্তিকর হয়ে যাবে। বারবার একই জিনিস লিখা অনেকটা বিরক্তিকর ও বটে। এই কাজটাই আমরা loop এর সাহায্যে খুব সহজে করতে পারি।
লুপ কখন ব্যাবহার করবো?
আমাদের যখন কোন কাজ একাদিকবার করার প্রয়োজন হবে তখন আমরা লুপ ব্যাবহার করতে পারি।লুপ কীভাবে কাজ করে?
এতক্ষন ত আমরা লুপ নিয়ে অনেক কথাই বললাম। এইবার আসি মূল কথাই।
একটা লুপ ঠিক ততক্ষণ পর্যন্ত চলতে থাকে যতক্ষন পর্যন্ত না loop এর condition false return করে। যদি loop এর শর্ত false return না করে তাহলে এইটা অগনিতবার চলতেই থাকবে যাকে infinite loop বলে।
প্রোগ্রামিং এ কয়েক ধরনের লুপ রয়েছে। যেমনঃ
- for loop
- while loop
- do-while loop
for loop:
for loop declare করার জন্য for keyword ব্যাবহার করা হয়। for loop এর structure:
for(varible_initialization, condition, increment or decrement) {
//statements
}
for loop 3 টা parameter receive করে।
- variable_initialization: এটি দ্বারা লুপ এর মাঝে variable করা হয়। এখান থেকেই loop এর exicute শুরু হয়
- condition: এখানে loop এর condition check করা হয়। condition যদি true হয় তাহলে loop exicute হবে। নাহলে loop exicute হবে না
- increment or decrement: এখানে আমাদের declare করা initial variable কে increment or decrement করা হয়।এবার চলুন ফর লুপ ব্যাবহার করে একটা প্রোগ্রাম লিখিঃ
ধরা যাক আমাদের কে আমাদের institute এর নাম ৫ বার প্রিন্ট করতে হবে। চলুন ফর লুপ ব্যাবহার করে প্রোগ্রাম টি লিখি।
for(i = 0; i < 5; i++) {
console.log('Dhaka polytechnic Institute');
}
ব্যাখাঃ
- এখানে for loop এর ভিতরে (;) সেমিকোলন ব্যাবহার করে expression তিনটিকে আলাদা করা হয়েছে।প্রথমে expression এ initial value হিসেবে একটি variable i declare করেছি এবং i এর initial value 0 assign করেছি।
- পরবর্তীতে expression এ আমারা check দিচ্ছি যে i < 5 কিনা। যদি হয় তাহলে এটি true return করবে এবং আমাদের loop এর body তে প্রবেশ করবে। যদি ফালসে হয় তাহলে লুপ থেকে বের হয়ে যাবে
- পরবর্তীতে expression এ i++ দ্বারা i এর value কে 1 করে increase করছি। আপনারা চাইলে আপনাদের ইচ্ছা মতো increment করতে পারবেন। যেমন i+2 বা i+8 ইত্যাদি।
এবার চলুন লুপ কিভাবে কাজ করছে
- প্রথমে loop i = 0; পাবে। পরবর্তীতে check দিবে যে i এর মান 5 এর চেয়ে ছোট কিনা? এখানে i এর মান 0 যা অবশ্যই 5 এর চেয়ে ছোট। তারপর i এর মান 1 increase করবে। এর পর loop এর body তে প্রবেশ করবে এবং "Dhaka polytechnic Institute" এর নাম প্রিন্ট করবে। এখানে console.log() হচ্ছে Javascript এর একটা মেথড যার মাধ্যমে কোন কিছুকে প্রিন্ট করা হয়। loop এর body এর কাজ শেষ হলে এটি আবার for loop এর প্রথম লাইন এ যাবে।
- এইবার i এর মান হচ্ছে 1। কারণ লুপ এর body তে প্রবেশ করার আগে i এর মান 1 increase হয়েছিল। এখন আবার condition check দিবে যে i এর মান 5 এর চেয়ে ছোট কিনা? এখানে i এর মান 1 যা অবশ্যই 5 এর চেয়ে ছোট। তাহলে আবার i এর মান 1 বাড়বে এবং লুপ এর body তে প্রবেশ করবে এবং "Dhaka polytechnic Institute" এর নাম প্রিন্ট করবে। লুপ এর body এর কাজ শেষ হওয়ার পর আবার লুপ এর প্রথম লাইন এ চলে আসবে।
- এইবার i এর মান হচ্ছে 2। কারণ লুপ এর body তে প্রবেশ করার আগে i এর মান 1 increase হয়েছিল। এখন আবার condition check দিবে যে i এর মান 5 এর চেয়ে ছোট কিনা? এখানে i এর মান 2 যা অবশ্যই 5 এর চেয়ে ছোট। তাহলে আবার i এর মান 1 বাড়বে এবং লুপ এর body তে প্রবেশ করবে এবং "Dhaka polytechnic Institute" এর নাম প্রিন্ট করবে। লুপ এর body এর কাজ শেষ হওয়ার পর আবার লুপ এর প্রথম লাইন এ চলে আসবে।
- এইবার i এর মান হচ্ছে 3। কারণ লুপ এর body তে প্রবেশ করার আগে i এর মান 1 increase হয়েছিল। এখন আবার condition check দিবে যে i এর মান 5 এর চেয়ে ছোট কিনা? এখানে i এর মান 3 যা অবশ্যই 5 এর চেয়ে ছোট। তাহলে আবার i এর মান 1 বাড়বে এবং লুপ এর body তে প্রবেশ করবে এবং "Dhaka polytechnic Institute" এর নাম প্রিন্ট করবে। লুপ এর body এর কাজ শেষ হওয়ার পর আবার লুপ এর প্রথম লাইন এ চলে আসবে।
- এইবার i এর মান হচ্ছে 4। কারণ লুপ এর body তে প্রবেশ করার আগে i এর মান 1 increase হয়েছিল। এখন আবার condition check দিবে যে i এর মান 5 এর চেয়ে ছোট কিনা? এখানে i এর মান 4 যা অবশ্যই 5 এর চেয়ে ছোট। তাহলে আবার i এর মান 1 বাড়বে এবং লুপ এর body তে প্রবেশ করবে এবং "Dhaka polytechnic Institute" এর নাম প্রিন্ট করবে। লুপ এর body এর কাজ শেষ হওয়ার পর আবার লুপ এর প্রথম লাইন এ চলে আসবে।
- এই ধাপে এসে i এর মান হচ্ছে 5। আমরা loop এ condition দিয়েছিলাম যে ই এর মান 5 এর চেয়ে ছোট হতে হবে। তাহলে এইবার আমাদের condition false return করবে। তাহলে loop এর ই এর মান র increase হবে না এবং লুপ এর body তে প্রবেশ করবে না। অর্থাৎ loop থেকে বের হয়ে যাবে।
For loop মূলত এইভাবে কাজ করে।
আজকের এই ব্লগ এই পর্যন্তই। পরবর্তী ব্লগ এ while-loop এবং do-while loop নিয়ে কথা বলব।
নিচে কিছু প্র্যাকটিস প্রবলেম দেয়া আছে যেগুলো সমাধান করলে লুপ সম্পর্কে আরেকটু ধারণা তৈরি হবে।
- Write a program to print numbers from 1 to 10
- Write a program to print only even numbers from 1-20
- Write a program to print only odd numbers from 1-10
- Write a program to print only those numbers from 1 to 20 which can be divided by 3