Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة Break

جزء من قسم الأساسيات في رحلة R على Coddy. الدرس 40 من 78.

أحيانًا تحتاج إلى الخروج من حلقة مبكرًا، قبل أن تُكمل جميع تكراراتها. تتيح لك عبارة break إيقاف حلقة فورًا عند استيفاء شرط محدد.

for (i in 1:10) {
  if (i == 5) {
    break
  }
  print(i)
}

الإخراج:

[1] 1
[1] 2
[1] 3
[1] 4

تم تعيين الحلقة لتعمل من 1 إلى 10، ولكن عندما وصلت i إلى 5، أوقفت عبارة break الحلقة بالكامل. لاحظ أن 5 لم تتم طباعتها مطلقًا لأن break يخرج فورًا.

هذا مفيد بشكل خاص مع حلقات while عند البحث عن شيء ما:

num <- 1
while (TRUE) {
  if (num * num > 20) {
    break
  }
  num <- num + 1
}
print(num)

المخرجات:

[1] 5

هنا، while (TRUE) ستستمر عادةً إلى ما لا نهاية، لكن break يوقفها بمجرد أن find أول عدد يتجاوز مربعه 20. هذا النمط شائع عندما تحتاج إلى البحث حتى يتم استيفاء condition.

challenge icon

التحدي

سهل

اقرأ number من limit من input. استخدم حلقة for للتكرار من 1 إلى limit، لكن أوقف loop مبكرًا باستخدام break عند مواجهة أول number يكون divisible بـ both 3 و7.

اطبع كل number قبل التحقق من condition. عند العثور على number يكون divisible بـ both 3 و7، اطبع ذلك number، ثم اخرج من loop.

بعد انتهاء loop، اطبع "Loop ended" باستخدام print().

على سبيل المثال، إذا كان input هو 30، فيجب أن يكون الناتج:

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 13
[1] 14
[1] 15
[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
[1] 21
[1] "Loop ended"

يتوقف loop عند 21 لأنه أول number يكون divisible بـ both 3 و7 (21 = 3 × 7).

جرّب بنفسك

# اقرأ الإدخال
con <- file("stdin", "r")
limit <- as.integer(suppressWarnings(readLines(con, n = 1)))

# TODO: اكتب الكود الخاص بك أدناه
# استخدم حلقة for من 1 إلى limit
# اطبع كل رقم قبل التحقق من الشرط
# Break عندما تجد رقماً قابلاً للقسمة على كل من 3 و 7
# Hint: استخدم عامل %% للتحقق من القابلية للقسمة


# اطبع "Loop ended" بعد الحلقة
print("Loop ended")
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: مترجم R عبر الإنترنت