while লুপ

while লুপ ও for লুপের মত কাজ করে, শুধু লেখার ধরনটা ভিন্ন। while লুপ লেখার সিনটেক্সটা হলঃ

যেমন চারটি iteration এর জন্য while লুপটা হবেঃ

অথবা

এভাবে চারটি iteration সম্পন্ন করতে আপনি আপনার মত করে অনেকভাবেই while() লুপ লিখতে পারেন। এখন while() লুপ দিয়ে একটি প্রোগ্রাম করা যাক যেটি নিচের ধারাটির যোগফল নির্ণয় করবেঃ
1+2+3+4+…..N
এখানে পদ সংখ্যা কীবোর্ড থেকে দেওয়া হবে আর আউটপুটে ঐ পদ পর্যন্ত ধারাটির যোগফল দেখাবে। যেমন, কীবোর্ড থেকে 3 ইনপুট দিলে 1+2+3 এর ফলাফল 6 দেখাবে।

output

N = ? 4
sum = 10

ব্যাখ্যাঃ
লুপ শুরু হওয়ার আগে sum=0; এবং i=1; এক্সিকিউট হবে। তারপরে while লুপ এর শর্তটি যাচাই করবে। এখানে কীবোর্ড থেকে 4 ইনপুট দেওয়া হয়েছে এবং তা n এর মাঝে রাখা হয়েছে। তাই i<=n মানে হল 1<=4. এই শর্তটি সত্য। তাই লুপের ভেতরে ঢুকবে। এখন প্রতিটি iteration নিচে ব্যাখ্যা করা হলঃ

Iteration ব্যাখ্যা
1 sum এর মান 0 এবং i এর মান 1 নিয়ে লুপের প্রথম iteration টা শুরু হয়েছে। তাই sum=sum+i; এই লাইনের মাধ্যমে = চিহ্নের ডান পাশের sum+i এর মান হবে 0+1=1 এবং এই মান = চিহ্নের বাম পাশে sum এর মাঝে সংরক্ষিত হবে। sum এর পুরাতন মান 0 মুছে নতুন মান 1 হবে এবং পরবর্তী iteration এ sum এর এই নতুন মানটি ব্যবহৃত হবে। আবার, i++; মানে হল i=i+1; তাই i এর নতুন মান হবেঃ 1+1 = 2 এবং পরবর্তী iteration এ i এর এই নতুন মানটি ব্যবহৃত হবে।
2 i<=n শর্তটা যাচাই করবে।এই iteration এ sum এর মান 1 এবং i এর মান 2. তাই i<=n মানে হলঃ 2<=4, যেহেতু শর্তটি সত্য তাই লুপের ভেতরে ঢুকবে। এখন, sum = sum + i; লাইনের মাধ্যমে sum এর নতুন মান হবে 1+2 = 3 এবং i++;লাইনের মাধ্যমে i এর নতুন মান হবে 2+1=3
3 i<=n শর্তটা যাচাই করবে।এই iteration এ sum এর মান 3 এবং i এর মান 3. তাই i<=n মানে হলঃ 3<=4, যেহেতু শর্তটি সত্য তাই লুপের ভেতরে ঢুকবে। এখন, sum = sum + i; লাইনের মাধ্যমে sum এর নতুন মান হবে 3+3 = 6 এবং i++;লাইনের মাধ্যমে i এর নতুন মান হবে 3+1=4
4 i<=n শর্তটা যাচাই করবে।এই iteration এ sum এর মান 6 এবং i এর মান 4. তাই i<=n মানে হলঃ 4<=4, যেহেতু শর্তটি সত্য তাই লুপের ভেতরে ঢুকবে। এখন, sum = sum + i; লাইনের মাধ্যমে sum এর নতুন মান হবে 6+4 = 10 এবং i++;লাইনের মাধ্যমে i এর নতুন মান হবে 4+1=5
5 i<=n শর্তটা যাচাই করবে।এই iteration এ sum এর মান 10 এবং i এর মান 5. তাই i<=n মানে হলঃ 5<=4, যেহেতু শর্তটি মিথ্যা তাই লুপের ভেতরে ঢুকবে না এবং লুপের পরবর্তী স্টেটমেনটি এক্সিকিউট হবে।

লুপ থেকে বের হয়ে এসে [c] printf(” sum= %d”,sum); [/c] লাইনটা পাবে এবং যেহেতু sum এর সর্বশেষ নতুন মান 10 তাই sum = 10 আউটপুটে প্রিন্ট হবে।


Next Previous