Sunday, 10 September 2017

while লুপের পরিচিতি ( while Loop)

মনেকরো, তোমাকে বলা হলো ১-১০ পর্যন্ত সব গুলা সংখ্যা প্রিন্ট করার জন্য। তুমি নিশ্চয়ই এখন সেটা লুপ দিয়ে করার চেষ্টা করবে। তাহলে প্রোগ্রামটা হতে পারে এরকম:



#include<stdio.h>
int main()
{
    int i;
    for(i=1; i<=10; i++)
    {
        printf("%d ",i);
    }
    return 0;
}


উপরের প্রোগ্রামে প্রতিবার i  এর মান প্রিন্ট হচ্ছে এবং প্রতিবার লুপ ঘুরার সাথে সাথে i এর মান ও বাড়ছে। আশা করি উপরের প্রোগ্রামটিতে তোমাদের কোন অসুবিধা নেই।

এবার আমরা এই প্রোগ্রামটি  while loop দিয়ে করবো।

#include<stdio.h>
int main()
{
    int i=1;
    while(i<=10)
    {
        printf("%d ",i);
        i++;
    }
    return 0;
}

এই প্রোগ্রাম কিভাবে কাজ করছে?
প্রথমে দেখবে i এর মান 1 .এর পর আমরা while এর ভিতর শর্ত দিয়েছি i এর মান 10 থেকে ছোট বা 10 এর সমান কি না?
ঠিক যেমন আমরা for loop এর ব্রেকিং কন্ডিশন এ দিয়েছি সেরকম। while loop এর ( ) এর ভিতরে ব্রেকিং কন্ডিশন দিতে হয়।

তারপর আমরা i এর মান প্রিন্ট করতে বলেছি। কম্পাইলার দেখবে i এর মান 1 এবং সেটা 10 এর ছোট , শর্ত সত্য। তাই  while loop এর বডিতে আসবে। এবার দেখবে i এর মান প্রিন্ট করতে বলা হয়েছে।
যেহেতু i এর মান 1 ,তাই 1 প্রিন্ট হবে। আমরা %d এর পর একটা স্পেস দিয়েছি। তাই আউটপুট এ ও 1 এর পর একটা স্পেস প্রিন্ট হবে। এবার দেখো i++ দেওয়া আছে, এর মানে i এর মান ১ বাড়বে।

এখন i এর মান 2 । কম্পাইলার এখন আবার while লুপের শর্ত চেক করবে। এখন দেখবে i<=10 শর্ত সত্য কারণ ২ এর মান ১০ থেকে ছোট। তাই আবার i এর মান প্রিন্ট করবে এবং তারপর i এর মান ১ বাড়াবে। এখন i এর মান 3 .

এভাবে যখন i এর মান 10 হবে তখন while লপের ভিতরে যাওয়ার পর কম্পাইলার দেখবে i<=10 শর্ত সত্য। কারণ ১০ এর মান ১০ এর সমান। তাই এবার ও i  এর মান প্রিন্ট হবে এবং i++ হয়ে i এর মান 1 বেড়ে 11 হবে।
কম্পাইলার আবারও while আসবে এবং শর্ত চেক করবে । কিন্তু ১১ এর মান ১০ থেকে ছোট নয় বা ১০ এর সমান নয়। তাই while  loop এর ভিতরে দেওয়া কন্ডিশনটা এখন মিথ্যা। তাই কম্পাইলার লুপ থেকে বের হয়ে যাবে। এবং return 0; তে আসবে। তারপর প্রোগ্রাম্ বন্ধ হয়ে যাবে।

আশাকরি তোমরা while loop কিভাবে কাজ করে এখন তা বোঝতে পারছো।  

0 comments:

Post a Comment