আজকে , আমরা while Loop ও do while loop নিয়ে কথা বলবো ।। এটা ঠিক কিভাবে ,কাজ করে ?? চলো , নীচে
একটা খুবই সিম্পল কোড দেখে আসি ।।
using System;
class Program
{
static void Main()
{
int a = int.Parse(Console.ReadLine());
int b = 0;
// Checking Conditions b is equal or less than a
while(b<=a)
{
Console.WriteLine(b);
b = b + 2;
}
Console.ReadKey();
}
}
চলো , প্রতিটি লাইন ধরে ধরে বুঝার ট্রাই করি । প্রথমে , আমরা - ইউসার থেকে , ইনপুট নিবো , তারপর , একটি ইন্টিজার ভ্যারিয়েবল b ডিক্লেয়ার করবো , এবং এর মান 0 তে ইনিশিয়ালাইজ করবো ।। তারপর , while লুপ ইউস করবো ।। প্রথমেই , আমরা কন্ডিশন চেক করবো , কন্ডিশন'টা b<=a
মূলত , একটা বুলিয়ান এক্সপ্রেশন , যদি এটা সত্য হয় , তাহলে - লুপ এর ভেতরের কোড এক্সিকিউট করবে , আর না হয় -- করবে না ।। প্রতিবার b = b + 2; এর সাহায্যে , b এর মান ২ করে বাড়ার পর - ,লুপটি কন্ডিশন চেক করবে , যদি সত্য হয় - তাহলে প্রিন্ট করবে , অন্যথায় নয় ।।
এবার চলো , আমরা - do while loop নিয়ে কথা বলবো ।। তো , আমরা একটা কোড দেখে আসি , চলো ---------------------
using System;
class Program
{
static void Main()
{
int a = int.Parse(Console.ReadLine());
int b = 0;
do
{
Console.WriteLine(b);
b = b + 2;
} while (b <= a) ;
Console.ReadKey();
}
}
একই , প্রোগ্রাম - আমি do while loop ইউস করে করলাম । রান করে , দেখো - কি হয় ??? হুম , সেই আগেরটার মতোই আউটপুট পাবা ।। এখানে , তফাত কিছুই নেই - শুধু বলার মতো , একটা তফাতই আছে ।। while Loop এর ক্ষেত্রে , আমাদের আগে কন্ডিশন চেক করা হতো , তারপর - ভেতরের কোড এক্সিকিউট হতো , কিন্তু - এখানে , কিন্তু একটু আলাদা , ব্যাপার'টা । এখানে , কন্ডিশন পরে চেক করা হয় ।।
এই কারনেই , ডু - হোয়াইল লুপ এর ক্ষেত্রে , ভেতরের কোড কমপক্ষে একবার রান হবেই , কারণ - কন্ডিশন পরে চেক করা হয় । কিন্তু , শুধু হোয়াইল লুপ এর ক্ষেত্রে যদি - কন্ডিশন ভুল হয় , তাহলে - সেটা একবারও রান হবে না । যেমন , একটা কোড দেখে আসি - চলো ,
using System;
class Program
{
static void Main()
{
int b = 0;
do
{
Console.WriteLine(b);
b = b + 2;
} while (b < 0) ;
Console.ReadKey();
}
}
এখানে , (b < 0) শর্তের মধ্যেই ,দেয়া আছে -- যদি b এর মান শূন্য এর চেয়ে কম হয় , তাহলে শুধু লুপ কন্টিনিউ হবে , তাছাড়া নয় , কিন্তু আমাদের b এর মান কিন্তু শূন্য তে ইনিশিয়ালাইজ করা আছে , এর মানে , এই লুপ কন্টিনিউ হবার কথা নয় । কিন্তু , রান করিয়েই দেখো -- একবার হলেও আউটপুট পাবে । কারণ কি ??? কারন - এটাই , do while loop প্রথমে কোড রান করাবে , তারপর কন্ডিশন চেক করাবে , তাই কন্ডিশন মিথ্যা হলেও , অন্তত - একবার রান হবেই , এই লুপ ।
আশা করি , বিষয়টি কিছুটা ক্লিয়ার হয়েছে । যাই হোক , আজ এইটুকুই থাক । আবার , পরের পর্বে অন্যকিছু নিয়ে কথা বলবো । ।
একটা খুবই সিম্পল কোড দেখে আসি ।।
using System;
class Program
{
static void Main()
{
int a = int.Parse(Console.ReadLine());
int b = 0;
// Checking Conditions b is equal or less than a
while(b<=a)
{
Console.WriteLine(b);
b = b + 2;
}
Console.ReadKey();
}
}
চলো , প্রতিটি লাইন ধরে ধরে বুঝার ট্রাই করি । প্রথমে , আমরা - ইউসার থেকে , ইনপুট নিবো , তারপর , একটি ইন্টিজার ভ্যারিয়েবল b ডিক্লেয়ার করবো , এবং এর মান 0 তে ইনিশিয়ালাইজ করবো ।। তারপর , while লুপ ইউস করবো ।। প্রথমেই , আমরা কন্ডিশন চেক করবো , কন্ডিশন'টা b<=a
মূলত , একটা বুলিয়ান এক্সপ্রেশন , যদি এটা সত্য হয় , তাহলে - লুপ এর ভেতরের কোড এক্সিকিউট করবে , আর না হয় -- করবে না ।। প্রতিবার b = b + 2; এর সাহায্যে , b এর মান ২ করে বাড়ার পর - ,লুপটি কন্ডিশন চেক করবে , যদি সত্য হয় - তাহলে প্রিন্ট করবে , অন্যথায় নয় ।।
এবার চলো , আমরা - do while loop নিয়ে কথা বলবো ।। তো , আমরা একটা কোড দেখে আসি , চলো ---------------------
using System;
class Program
{
static void Main()
{
int a = int.Parse(Console.ReadLine());
int b = 0;
do
{
Console.WriteLine(b);
b = b + 2;
} while (b <= a) ;
Console.ReadKey();
}
}
একই , প্রোগ্রাম - আমি do while loop ইউস করে করলাম । রান করে , দেখো - কি হয় ??? হুম , সেই আগেরটার মতোই আউটপুট পাবা ।। এখানে , তফাত কিছুই নেই - শুধু বলার মতো , একটা তফাতই আছে ।। while Loop এর ক্ষেত্রে , আমাদের আগে কন্ডিশন চেক করা হতো , তারপর - ভেতরের কোড এক্সিকিউট হতো , কিন্তু - এখানে , কিন্তু একটু আলাদা , ব্যাপার'টা । এখানে , কন্ডিশন পরে চেক করা হয় ।।
এই কারনেই , ডু - হোয়াইল লুপ এর ক্ষেত্রে , ভেতরের কোড কমপক্ষে একবার রান হবেই , কারণ - কন্ডিশন পরে চেক করা হয় । কিন্তু , শুধু হোয়াইল লুপ এর ক্ষেত্রে যদি - কন্ডিশন ভুল হয় , তাহলে - সেটা একবারও রান হবে না । যেমন , একটা কোড দেখে আসি - চলো ,
using System;
class Program
{
static void Main()
{
int b = 0;
do
{
Console.WriteLine(b);
b = b + 2;
} while (b < 0) ;
Console.ReadKey();
}
}
এখানে , (b < 0) শর্তের মধ্যেই ,দেয়া আছে -- যদি b এর মান শূন্য এর চেয়ে কম হয় , তাহলে শুধু লুপ কন্টিনিউ হবে , তাছাড়া নয় , কিন্তু আমাদের b এর মান কিন্তু শূন্য তে ইনিশিয়ালাইজ করা আছে , এর মানে , এই লুপ কন্টিনিউ হবার কথা নয় । কিন্তু , রান করিয়েই দেখো -- একবার হলেও আউটপুট পাবে । কারণ কি ??? কারন - এটাই , do while loop প্রথমে কোড রান করাবে , তারপর কন্ডিশন চেক করাবে , তাই কন্ডিশন মিথ্যা হলেও , অন্তত - একবার রান হবেই , এই লুপ ।
আশা করি , বিষয়টি কিছুটা ক্লিয়ার হয়েছে । যাই হোক , আজ এইটুকুই থাক । আবার , পরের পর্বে অন্যকিছু নিয়ে কথা বলবো । ।
No comments:
Post a Comment