Wednesday 5 September 2012

learn c programming loop


                            পর্ব-৪ সি প্রোগ্রামিং লুপ

প্রোগ্রামিং সি শিখুন সহজে

লুপ মানে হল চক্র। মনে কর, ৪০০ মিটার একটি ব্রত্তাকার মাঠে ১৬০০ মিটার দৈাড় প্রতিযোগিতা অনুষ্ঠিত হবে।
      তাহলে, এবার বলতো একজন প্রতিযোগীকে ঐ মাঠটি কতবার ঘুরতে হবে ?
       
-নিশ্চয়ই ৪ বার।
সুতরাং এটা হল প্রতিযোগীর ৪ লুপ অর্থাৎ প্রতিযোগী মাঠটিতে ৪ বার ঘুরল।

১৬০০ মিটার এত বড় মাঠ পাওয়া খুব কঠিন। তাই ছোট মাঠ দিয়ে ঐ বড় মাঠের কাজটি করা হয়।
একইভাবে প্রোগ্রামিং এর বেলায়ও আমরা লুপ ব্যবহার করে অনেক বড় কাজকে ছোট করে দিতে পারি। তাতে পরিশ্রমসহ সব কিছু অনেক কম লাগে।
প্রোগ্রামিং এ ৩ ধরণের লুপ ব্যবহার করা হয়। সে গুলো হচ্ছে-
1. for( )
2. while( )
3. do while( )


. for( ) -ব্যাখ্যাঃ মনে কর, ১টি ফর লুপ এর ঘটন এমন  for(শুরু; লক্ষ্য; বাড়তে থাকা)
           উদাহরনঃ
                      int a=10,i;
                                for(i=1;i<10 i="i" span="span">
                                    {
                   a=a+i;
                                    }
একজন প্রতিযোগী যখন দৌড় শুরু করে, তখন কিন্তু সে একটি নিদিষ্ট স্থান থেকে দৌড় শুরু করে। সেটা হচ্ছে তার Initial position. তেমনি লুপেরও একটি Initial position                   বা Initial value থাকে। যেমন এই for লুপ ‘i’ এর initial value হল 1

ঐ মাঠটিতে ১৬০০ মিটার একজন দৌড় প্রতিযোগীর লক্ষ্য হল ঐ মাঠটিতে ৪ বার ঘুরপাক করা। এ লক্ষ্য পূরণ না হওয়া পর্যন্ত সে তার দৌড় repeat করতে থাকবে।
সে যখন  দৌড়ে তার দৌড় শুরু করার পূর্বের অবস্থানে ফিরে আসবে তখন তার লুপ  হল-১, যখন ২য় বার সেখানে ফিরে আসল তখন লুপ হল-২. যখনই ৪ বার ঘুর পাক করা হয়ে যাবে সে আর দৌড়াবে থেমে যাবে, কারন তার লক্ষ্য পূরণ হয়েগেছে।

একইভাবে লুপেরও লক্ষ্য থাকে। জেম্ন,আমাদের উপরোক্ত for লুপের লক্ষ্য “i” এর মান ১০ না হওয়া পর্যন্ত “a”  এর মান ১০ এর সাথের “i” এর মান যোগ করতে থাকা।
i=1 থেকে এই লুপ শুরু হবে-
১ম বার,
         i=i++;
               =i+1;
             a=a+1
               =10+1
               =11
এখানে লুপ হল-১ অর্থাৎ লুপ একবার ঘুরল তাই ২য় বন্ধনীর মধ্যে থাকা কাজটি একবার করল। তারপর for লুপের শেষে লেখা i++ এর নাম হল increment
এখানে,
       i=i+1;
            =1+1
            =2
“i” এর মান এক increment হওয়ার পর লুপ দেখে তার লক্ষ্য ঠিক আছি কি না ।আমাদের উপরোক্ত লুপের লক্ষ্য “i” এর মান ১০ না হওয়া পর্যন্ত ২য় বন্ধনীর কাজ করতে থাকে।

তাই ২য়  বার আমরা দেখছি-
i=2;
a=a+i
  =11+2
  =13

এভাবে, ৩য় বার হবে-
 i=3;
a=a+i;
  =13+3;
 =16
এভাবে, যখন ৯ বার হবে তখন-
i=9;
a=a+i
  =46+9
   =55

তারপর পূর্বের মতো, “i” আবার ১ increment হবে, তখন  “i” হবে-
i=9+1;
  =10
তখন লুপ দেখবে, তার লক্ষ্য হয়ে গেছে। তখন সে ঐ দৌড় প্রতিযোগীর মতো তার দৌড় অর্থাৎ লুপ এর কাজ বন্ধ করে দিবে।



২.while( ):
while লুপও ঠিক একই রকম। তবে সেটা লিখা হয়-
while(লক্ষ্য বা condition)
 {
    কাজ;
 }

উদাহরণঃ
     int i=1,a=10;
        while( i< 10)
            {
                a=a+i;
                i++;
             }


৩.do while( ):
            আবার, do while( )ও একই রকম। তবে, এখানে ব্যতিক্রম হচ্ছে লক্ষ্য যাই থাকুক না কেন do while( ) এ একবার কাজ হবেই অর্থাৎ দৌড় দিবেই। কারন এখানে একবার দৌড় দেওয়ার পর অর্থাৎ একবার কাজ করার পর তার লক্ষ্য চেক করে দেখা হয়।
এটাকে লিখা হয় এভাবে-

do{
       কাজ;
     }while( condition বা লক্ষ্য );

উদাহরণঃ
             int i=1,a=10;
      
       do{
                a=a+i;
                i++;
             } while( i< 10);

1 comment: