for লুপ

যেভাবে লিখতে হয়ঃ [c] for(initialization; condition; increment or decrements) [/c] এখানে for হল কীওয়ার্ড। কীওয়ার্ড কে আপনি কোনরকম পরিবর্তন করে লিখতে পারবেন না। for কে For বা FOR লিখতে পারবেন না। for কীওয়ার্ড এর পর () এর ভেতরে তিনটি অংশ থাকেঃ
  1. initialization
  2. condition
  3. increment or decrements
initialization অংশে একটি ভেরিয়েবলে একটি মান দিয়ে দেওয়া হয়। condition অংশে ভেরিয়েবলে দেওয়া মানটির জন্য condition টা সত্য কিনা তা যাচাই করা হয়। condition টা সত্য হলে for লুপ এর ভেতরের স্টেটমেন্টটা এক্সিকিউট করে এবং একবার for লুপ এর ভেতরের স্টেটমেন্টটা এক্সিকিউট করে increment or decrements অংশে আসে এবং ভেরিয়েবলের মানটা আপডেট করে আবার condition অংশে এসে condition যাচাই করে। condition সত্য হলে আবার for লুপের ভেতরে যায়। এভাবে চলতে থাকে। for লুপের ভেতরে একবার ঘুরে আসাকে বলে একটি iteration সম্পন্ন হওয়া। বুঝতে কষ্ট হচ্ছে? আরও সহজ করে বলি, নিচের উদাহরনটা ব্যাখ্যা করা যাকঃ
১ম iteration: এখানে লুপের শুরতে int i=0; এই স্টেটমেন্টটা এক্সিকিউট হবে এবং i এর মান 0 সেট হবে। এখন condition অংশে এসে দেখবে i এর মান 0 এর জন্য i<3 শর্তটি সত্য। তাই for লুপের ভেতরের স্টেটমেন্ট টা এক্সিকিউট হবে। ২য় iteration: for লুপের ভেতরের স্টেটমেন্ট টা একবার এক্সিকিউট করার পর increment অংশে আসবে এবং i=i+1 পাবে, তাই i এর নতুন মান হবে 0+1 = 1. এখন i এর এই নতুন মান নিয়ে condition অংশে যাবে এবং i এর মান 1 এর জন্য i<3 শর্তটি সত্য, তাই আবার for লুপের ভেতরে ঢুকবে। ৩য় iteration: for লুপের ভেতরের স্টেটমেন্ট টা একবার এক্সিকিউট করার পর increment অংশে আসবে এবং i=i+1 পাবে, তাই i এর নতুন মান হবে 1+1 = 2. এখন i এর এই নতুন মান নিয়ে condition অংশে যাবে এবং i এর মান 2 এর জন্য i<3 শর্তটি সত্য, তাই আবার for লুপের ভেতরে ঢুকবে। ৪র্থ iteration: for লুপের ভেতরের স্টেটমেন্ট টা একবার এক্সিকিউট করার পর increment অংশে আসবে এবং i=i+1 পাবে, তাই i এর নতুন মান হবে 3+1 = 4. এখন i এর এই নতুন মান নিয়ে condition অংশে যাবে এবং i এর মান 4 এর জন্য i<3 শর্তটি মিথ্যা, তাই আর for লুপের ভেতরে ঢুকবে না। for লুপ থেকে বের হয়ে যাবে। এখানে একটি ব্যাপার লক্ষ্য করুন, প্রতিবার iteration শেষে i এর মান এক করে বাড়ানো হচ্ছে এবং যাচাই করা হচ্ছে i এর মানটা কি 3 থেকে ছোট কিনা, i এর মান 0,1,2- এই তিনটা মানের জন্য i<3 শর্তটা সত্য। অর্থাৎ উপরের for লুপটার ভেতরের স্টেটমেন্টটা তিন বার এক্সিকিউট হবে। যাদি চার বার এক্সিকিউট করাতে চাই তাহলে
লিখলেই হবে। এভাবে না লিখে অন্য কোনভাবে কি লিখা যাবে? অবশ্যই যাবে। যেমনঃ
অথবা
চারটি iteration এর জন্য আপনি আপনার মত করে লিখতে পারেন। এখন for লুপ দিয়ে আমরা একটি প্রোগ্রাম করব, যেই প্রোগ্রামটি রান করলে নিচের ৫ টি লাইন আউটপুটে প্রিন্ট করবেঃ this is line 1 this is line 2 this is line 3 this is line 4 this is line 5

Code Example

output

this is line 1 this is line 2 this is line 3 this is line 4 this is line 5
উপরের উদাহরন গুলোতে for লুপের নিচে একটি মাত্র স্টেটমেন্ট ছিল। একাদিক স্টে্টমেন্ট কে যদি for লুপের ভেতরে লিখতে চান তাহলে {} এর ভেতরে লিখতে হবে। যেমনঃ

Code Example

oputput

this is line 1 this is line 2
এই ২টি স্টেটমেন্ট কে যদি {} এর ভেতর না রাখেন তাহলে for এর নিচের প্রথম স্টেটমেন্ট টা কে দুই বার প্রিন্ট করে for লুপ থেকে বের হয়ে যাবে। যেমনঃ

Code Example

oputput

this is line this is line 2