الدرس 4 من 10

الحلقات

هدف الدرس

for و while و for-each

01

الشرح

حلقة for للتكرار بعدد معروف، وفي رأسها ثلاثة أجزاء: البداية والشرط والخطوة: for (int i = 1; i <= n; i++)، وi++ تزيد i واحدًا. والحلقة داخل الحلقة ترسم الأشكال: الخارجية للأسطر، والداخلية لما في كل سطر. وSystem.out.print تطبع دون أن تنزل سطرًا، ثم System.out.println() تُنهي السطر.

وfor المحسّنة (for-each) تمرّ على العناصر بلا عدّاد: for (char c : word.toCharArray()) تعطيك حروف النصّ واحدًا واحدًا. أما while فلما لا تعرف عدد دوراته مسبقًا: تدور ما دام شرطها صحيحًا، فتأكّد أن شيئًا داخلها يقرّبها من النهاية، وإلا دارت إلى الأبد.

والفخّ الأشهر في الحلقات هو الحدّ: i < n تتوقّف قبل n، وi <= n تشملها. خطأ الواحد هذا (off-by-one) لا يوقف البرنامج، بل يعطيك نتيجة تنقص دورة أو تزيدها.

02

المطلوب

sumTo(n) تُرجع مجموع الأعداد من 1 إلى n بـ for. وcountVowels(s) تعدّ حروف العلّة الإنجليزية a e i o u، صغيرةً وكبيرة، بـ for-each. وnightsUntil(zombies, target): حشد الزومبي يتضاعف كل ليلة، فأرجع عدد الليالي حتى يبلغ target على الأقل، بـ while. وprintStairs(n) تطبع درجًا من n أسطر: # في الأول ثم ##، حتى n علامات في الأخير. ثم استدعِ printStairs(4) من main.

معايير التصحيح

5 معايير
  1. sumTo تجمع من 1 إلى n
  2. countVowels تعدّ الصغيرة والكبيرة
  3. nightsUntil: من 1 إلى 1000 في 10 ليالٍ
  4. printStairs(2) تطبع درجتين
  5. طُبع درج من أربعة أسطر
Main.java
المخرجاتJava 13 · Judge0

يُترجَم الكود ويعمل على السيرفر…

–/5

يُترجَم الكود ويعمل على السيرفر…

5 معايير في بطاقة «المطلوب».