While লুপ দিয়ে যোগফল
মানুষ কেন চক্কর চক্কর দৌড় দেয়? হয় দৌড় দিয়ে দিয়ে ভালো করলে তারা দৌড়ের মেডেল জিতবে, না হয় দৌড়াতে দৌড়াতে শরীর ফিট করবে বা অন্য কোনো লাভ হবে। লুপ চালিয়ে এমন আমরা অনেক কিছু লাভ করতে পারি, অনেক কিছু যোগ করতে পারি। সেজন্য প্রথমেই While Loop দিয়ে 1 থেকে 10 পর্যন্ত প্রিন্ট করে ফেল:
let num = 1;
while (num < 10) {
console.log(num);
num++;
}
Output: 1 2 3 4 5 6 7 8 9আগেরবার num = num + 1 লিখছিলি। এবার আমরা num++ দিয়ে লুপ ভেরিয়েবলের মান আপডেট করব। তবে যেভাবেই লুপ ভেরিয়েবলের মান চেইঞ্জ হোক না কেন, হিসাব কিন্তু আগের মতোই। যখন লজিকটি false হবে, তখনই loop থেকে বের হয়ে আসবে।
এখন তুই বলতেই পারিস যে, আমরা তো 1 থেকে 10 পর্যন্ত প্রিন্ট করার কথা ছিল, কিন্তু এখানে 9 পর্যন্ত প্রিন্ট হয়েছে। তাহলে সমস্যা কোথায়? চিন্তা করে দেখ, সমস্যা হলো আমরা num < 10 লিখেছি, যা 10-এর ছোট সংখ্যা পর্যন্ত প্রিন্ট করবে। কিন্তু 10-এর সমান হলে লজিকটি false হয়ে যাবে। তাই, এখানে শুধু num <= 10 চেঞ্জ করলেই আমাদের আউটপুট ঠিক হবে।
let num = 1;
while (num <= 10) {
console.log(num);
num++;
}
Output: 1 2 3 4 5 6 7 8 9 10আমরা অনেকক্ষণ ধরে লুপ চালানো শিখেছি। এখন, যদি তোকে বলা হয় 1 থেকে 10 পর্যন্ত সংখ্যাগুলোর যোগফল বের করতে, তাহলে কীভাবে লুপ কাজে লাগানো যায়?
ঠিক যেভাবে আমরা 1 থেকে 10 পর্যন্ত প্রিন্ট করেছিলাম, এবার সেটিকে যোগফল বের করার জন্য ব্যবহার করব। প্রতিবার প্রিন্ট না করে সংখ্যাগুলোকে একটি ভেরিয়েবলে যোগ করে শেষ পর্যন্ত প্রিন্ট করব। তাহলেই কাজ হয়ে যাবে। তবে সেটা করার আগে একটু ধাপে ধাপে এগুনোর চেষ্টা করি। প্রথমেই একটা বেসিক লুপ লিখে ফেল।
let num = 1;
while (num <= 10) {
console.log(num);
num++;
}এবার কিছু আপডেট করতে হবে। কারণ, আমাদের এখন যোগফল দেখাতে হবে। প্রথমেই আমরা একটি নতুন ভেরিয়েবল ডিক্লেয়ার করব, যার নাম হবে let sum = 0। এরপর লুপের ভিতরে প্রতিবার num ভেরিয়েবলের মান এক এক করে বাড়তে থাকবে, আর সেই মান যোগ করে এই sum ভেরিয়েবলে যোগ করতে থাকবি।
let num = 1;
let sum = 0;
while (num <= 10) {
console.log(num);
sum = sum + num;
num++;
}
console.log('Sum: ', sum);
Output: Sum: 55এখানে নতুন একটি লাইন যোগ করা হয়েছে— sum = sum + num। এটি কি পরিচিত লাগছে? হ্যাঁ, আমরা sum-এর সাথে num-এর মান যোগ করে sum-এর মধ্যেই স্টোর করছি।
এরপর num++ দিয়ে num-এর মান এক এক করে বাড়ছে। অর্থাৎ প্রত্যেকবার লুপ চলার পর num-এর মান এক এক করে বাড়ে। আর সেটা লুপের ভিতরে এসে sum-এর সাথে যোগ হয়ে sum-এর মান হিসেবে সেট হয়ে যায়।
এরপর লুপের বাইরে গিয়ে আমরা sum-কে console লগ করে ফেলব। এই sum-এর আউটপুট আমরা লুপের ভিতরে দিব না। কারণ, লুপ যতবার চলবে, ততবার sum-এর মান বাড়তে থাকবে। আমরা প্রত্যেক ধাপে ধাপে (অর্থাৎ প্রতিবার যখন লুপ চলবে, তখনই যদি বারবার sum-এর মান পেতে চাই, তাহলে লুপের ভিতরে sum-কে কনসোল লগ করতে পারি। আর যদি আমরা চাই, একেবারে ফাইনাল যে যোগফল হবে, সেটা দেখতে চাই, তাহলে আমরা লুপের বাইরে গিয়ে কনসোল লগ করব।
এইভাবে 10 বার চলার পর num-এর মান বাড়তে বাড়তে এক সময় num-এর মান 11 হয়ে যাবে। আর তখন লুপের শর্ত false হয়ে যাবে এবং লুপ বন্ধ হয়ে যাবে। এভাবে আমরা লুপ চালিয়ে একাধিক সংখ্যার যোগফল বের করতে পারি।
JavaScript While Loop Practice:
- while লুপ দিয়ে 50 থেকে 100 পর্যন্ত সংখ্যা প্রিন্ট কর।
- while লুপ দিয়ে 5 থেকে 15 পর্যন্ত সংখ্যাগুলোর যোগফল বের কর।
- তুই এক স্কুলে 1 থেকে 50 পর্যন্ত ছাত্রদের রোল নম্বর লিস্ট করবি, তারপর একটা while লুপ ব্যবহার করে সেই সংখ্যাগুলোর যোগফল বের কর।
- while লুপ ব্যবহার করে 21 থেকে 50 পর্যন্ত সংখ্যাগুলোর যোগফল বের কর এবং প্রতিবারের যোগফল দেখাবি।
- 20 থেকে 40 পর্যন্ত সংখ্যাগুলোর যোগফল বের কর এবং শুধু ফাইনাল যোগফলটা আউটপুট হিসেবে দেখবি।