৪. Loop
কখনও কখনও আমাদের কোন প্রবলেম এর সমাধান করতে গেলে কিছু নির্দিষ্ট স্টেটমেন্ট বার বার এক্সিকিউট করার প্রয়োজন হয়। প্রোগ্রামিং এ এই ধরনের কাজ করার জন্য লুপ ব্যবহার কড়া হয়। লুপ হলো এমন একটি প্রোগ্রামিং ধারণা যা একই কিছু কোড ব্লক নির্দিষ্ট শর্ত সাপেক্ষে সসীম বা প্রায় অসীম সংখ্যক বার চালাতে ব্যবহৃত হয়। ডার্ট এ তিন ধরনের লুপ রয়েছে।
- for লুপ
- while লুপ
- do…while লুপ
৪.১ for লুপ
ফর লুপ হলো একটি ডেফিনিট লুপ যা নির্দিষ্ট সংখ্যক বার কোড ব্লক রান করানোর জন্য ব্যবহার করা হয়। for লুপ এর সিনটেক্স দেখে নেয়া যাক:
for (শুরু; শর্ত পর্যবেক্ষণ; পরবর্তী ধাপ) { // এই কোড ব্লক চলবে }
- শুরু: এটি একটি ইনিশিয়ালাইজেশন এক্সপ্রেশন যা লুপ চালাতে যেই ভ্যারিয়েবল ব্যবহার কড়া হবে তার শুরুর মান অ্যাসাইন করে।
- শর্ত পর্যবেক্ষণ: এটি একটি বুলিয়ান কন্ডিশন হয় যা প্রতি বার প্রোগ্রাম কন্ট্রোল করে। যদি এই কন্ডিশন সত্য হয়, তাহলে লুপ চলবে। যদি মিথ্যা হয়, তাহলে লুপ থামবে।
- পরবর্তী ধাপ: এটি প্রতি প্রোগ্রাম চলাতে একে একে প্রয়োজন হবে। এই অংশে সাধারণত লুপ নিয়ন্ত্রণ এর যেই ভ্যারিয়েবল টি ব্যবহার কড়া হয় তার মান বৃদ্ধি বা হ্রাস করা হয় যাতে প্রতিবার শর্ত পর্যবেক্ষণ করার সময় আপডেটেড ভ্যালু দিয়ে শর্ত চেক কড়া হয় এবং নির্দিষ্ট সংখ্যক বার প্রোগ্রাম চলে।
একটি উদাহরণ দেখে নেয়া যাক:
for (var i = 1; i <= 5; i++) { print(এই লাইন প্রিন্ট হচ্ছে $i বার); }
উল্লিখিত ফর লুপটি নিম্নলিখিত আউটপুট দেয় :
এই লাইন প্রিন্ট হচ্ছে 1 বার এই লাইন প্রিন্ট হচ্ছে 2 বার এই লাইন প্রিন্ট হচ্ছে 3 বার এই লাইন প্রিন্ট হচ্ছে 4 বার এই লাইন প্রিন্ট হচ্ছে 5 বার
- এই প্রোগ্রামে, একটি ফর লুপটি ইনিশিয়ালাইজার দ্বারা শুরু হয় (i = 1) এবং কন্ডিশন (i <= 5) পুরো হওয়া পর্যন্ত চলতে থাকে। যতক্ষণ শর্ত পূরণ না হয় ততক্ষণ লুপ টি স্টেটমেন্ট ব্লকটি এক্সিকিউট কোর্টে থাকে এবং প্রতিবার পরবর্তী ধাপ স্টেটমেন্টটি (i++) চলে i এর ম্যান বাড়তে থাকে এবং কন্ডিশন চেক করতে থাকে।
- প্রতি বারে প্রোগ্রাম লুপের ব্লক রান করার সময় "এই লাইন প্রিন্ট হচ্ছে" স্ট্রিং সহ বর্তমান মান (i) প্রিন্ট করে। সবমিলিয়ে এই ঘটনা ৫ বার ঘটে, কারণ এই সমস্যার জন্য লুপটি ৫ বার চলে (i = 1 থেকে i = 5 পর্যন্ত)।
- তাই, এই লুপের আউটপুট হলো "এই লাইন প্রিন্ট হচ্ছে" স্ট্রিং সহ সংখ্যা ১ থেকে ৫ পর্যন্ত, প্রতিটি সংখ্যা সহ।
৪.২. while লুপ
while লুপ হলো একটি অনির্দিষ্ট বা ইনডেফিনিট লুপ। অর্থাৎ এটি ঠিক কয় বার একই কোড এক্সিকিউট করবে তা নির্দিষ্ট না,বরং একটি কন্ডিশন এর উপর নির্ভর করে। চলুন সিনট্যাক্স দেখে নেই:
while (শর্ত) { // এই কোড ব্লক চলবে }
শর্ত: এটি একটি বুলিয়ান কন্ডিশন, যা প্রতি বার প্রোগ্রাম কন্ট্রোল করে। যদি এই কন্ডিশন সত্য হয়, তাহলে লুপ চলবে। যদি মিথ্যা হয়, তাহলে লুপ থামবে।
একটি উদাহরণ দেখা যাক:
var count = 1; while (count <= 5) { print(এই লাইন প্রিন্ট হচ্ছে $count বার); count++; }
- এই প্রোগ্রামে, while লুপে প্রবেশের পূর্বে count ভ্যারিয়েবল এর ভ্যালু কে ১ সেট করা হয়েছে।
- তারপর হোয়াইল এর শর্তে চেক করা হয় যে, count এর মান ৫ এর চেয়ে ছোট বা সমান কী না।
- যতবার এটি সত্য হয় ততবার লুপ এর ব্লক টি এক্সিকিউট হয়। প্রতি বার লুপ চলে, লাইন প্রিন্ট হয় "এই লাইন প্রিন্ট হচ্ছে" স্ট্রিং সহ বর্তমান মান (count)।
- তারপর count এর মান বাড়ানো হয় ১ করে।
- যখনই count এর মান ৫ এর চেয়ে বড় হয়ে যাবে, শর্তটি মিথ্যা হবে এবং প্রোগ্রাম এর এক্সিকিউশন লুপ থেকে বের হয়ে যাবে।
অতএব এই প্রোগ্রামটির আউটপুট:
এই লাইন প্রিন্ট হচ্ছে 1 বার এই লাইন প্রিন্ট হচ্ছে 2 বার এই লাইন প্রিন্ট হচ্ছে 3 বার এই লাইন প্রিন্ট হচ্ছে 4 বার এই লাইন প্রিন্ট হচ্ছে 5 বার
৪.৩. do…while লুপ
do…while লুপটি একটু ভিন্নধর্মী লুপ যা প্রথমে কোড ব্লক রান করে এবং তারপর একটি নির্দিষ্ট শর্ত সত্য কিনা তা চেক করে। এটি অন্ততপক্ষে একবার কোড ব্লক চালাবে তারপর শর্ত চেক করবে। সিনট্যাক্স:
do { // এই কোড ব্লক চলবে } while (শর্ত);
- প্রথমে কোড ব্লক চালাতে হবে।
- এরপর, শর্ত চেক করতে হবে। যদি এই কন্ডিশন সত্য হয়, তাহলে লুপ পুনরাবৃত্তি হবে, অন্যথায় লুপ থামবে।
উদাহরণ:
var count = 1; do { print(এই লাইন প্রিন্ট হচ্ছে $count বার); count++; } while (count <= 5);
এই উদাহরণে,
- একটি do…while লুপ তৈরি করা হয়েছে। লুপটি প্রথমে কোড ব্লকটির স্টেটমেন্ট গুলো রান করে এবং পরে শর্ত চেক করে।
- প্রথমেই লাইন প্রিন্ট হয় "এই লাইন প্রিন্ট হচ্ছে" স্ট্রিং সহ বর্তমান মান (count)। এরপর, count এর মান এক এক করে বাড়ানো হয়।
- পরবর্তীতে শর্ত (count <= 5) চেক করা হয়।
- যদি এই কন্ডিশন সত্য হয়, তাহলে লুপ পুনরাবৃত্তি হয় এবং সংখ্যাটি এক বাড়বে। এই প্রক্রিয়াটি কন্টিনিউ হয় তবে ততক্ষণ পর্যন্ত যখন কিনা শর্তটি মিথ্যা হবে।
এই প্রোগ্রামটি চালিত হলে আউটপুট হবে:
এই লাইন প্রিন্ট হচ্ছে 1 বার এই লাইন প্রিন্ট হচ্ছে 2 বার এই লাইন প্রিন্ট হচ্ছে 3 বার এই লাইন প্রিন্ট হচ্ছে 4 বার এই লাইন প্রিন্ট হচ্ছে 5 বার