মূল কন্টেন্টে যান
মডিউল 5 · 1-এর পাঠ 4কোর্সে 17/32~10 min
মডিউল পাঠ (1/4)

লুপস: জন্য এবং সময়

লুপ আপনাকে কোডের একটি ব্লক পুনরাবৃত্তি করতে দেয়। জাভাস্ক্রিপ্টের তিনটি ক্লাসিক ফর্ম রয়েছে: for, while, do…while আপনি যখন পুনরাবৃত্তির সংখ্যা জানেন (বা গণনা করতে পারেন) তখন প্রথমটি ব্যবহার করুন, অন্যটি দুই যখন আপনি শুধু একটি প্রস্থান শর্ত প্রয়োজন.

ক্লাসিক for

তিনটি অংশ ; দ্বারা পৃথক করা হয়েছে: সূচনা, ধারাবাহিকতা, ধাপ।

JS
for (let i = 0; i < 4; i++) {
  console.log(i); // 0, 1, 2, 3
}

সময় শৈলীতে সমতুল্য:

JS
let i = 0;
while (i < 4) {
  console.log(i);
  i++;
}

while

প্রতিটি পুনরাবৃত্তির আগে অবস্থা পরীক্ষা করে।

JS
let n = 10;
while (n > 0) {
  n = Math.floor(n / 2);
}
n; // 0

যদি শর্তটি ইতিমধ্যেই প্রথম রাউন্ডে মিথ্যা হয়, তবে দেহটি কখনই কার্যকর হয় না।

do…while

পর অবস্থা পরীক্ষা করে: শরীর সর্বদা অন্তত একবার কার্যকর করা হয়।

JS
let tentativi = 0;
do {
  tentativi++;
} while (Math.random() < 0.0001); // pratica: provare almeno una volta

tentativi; // >= 1

চেষ্টা করে দেখুন

ব্যায়াম#js.m5.l1.e1
প্রচেষ্টা: 0লোড হচ্ছে...

একটি ফাংশন `sumUpTo(n)` সংজ্ঞায়িত করুন যা যোগফল 1+2+...n (ধনাত্মক পূর্ণসংখ্যা) প্রদান করে। জন্য একটি ক্লাসিক ব্যবহার করুন.

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

মোট 0 এ শুরু করুন, তারপর i লুপ করুন 1 থেকে n সহ।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ

ব্যায়াম পর্যালোচনা করুন

ব্যায়াম#js.m5.l1.e2
প্রচেষ্টা: 0লোড হচ্ছে...

`halveUntilOne(n)` সংজ্ঞায়িত করুন যে, একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হলে, 1 বা তার কম পৌঁছানোর আগে আপনাকে n কে 2 দ্বারা (Math.floor সহ) কতবার ভাগ করতে হবে তা ফেরত দেয়। কিছুক্ষণ ব্যবহার করুন।

সম্পাদক লোড হচ্ছে...
ইঙ্গিত দেখান

একটি কাউন্টার রাখুন এবং n কে 2 দিয়ে ভাগ করুন যখন n > 1 করুন।

সমাধান 3 প্রচেষ্টার পরে উপলব্ধ