حلقة While
جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 39 من 78.
بينما تتكرر حلقة for عبر تسلسل محدد مسبقاً، تستمر حلقة while في العمل طالما ظل الشرط TRUE. هذا مفيد عندما لا تعرف مسبقاً عدد المرات التي تحتاج فيها لتكرار شيء ما.
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}المخرجات:
[1] 1
[1] 2
[1] 3تتحقق الحلقة من الشرط count <= 3 قبل كل تكرار. عندما تصبح قيمة count هي 4، يكون الشرط FALSE، وتتوقف الحلقة.
هام: يجب عليك تحديث المتغير داخل الحلقة. بدون count <- count + 1، سيكون الشرط دائماً TRUE، مما يؤدي إلى إنشاء حلقة لا نهائية لا تنتهي أبداً.
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total)المخرجات:
[1] 15يضيف هذا المثال الأرقام من 1 إلى 5، مما ينتج عنه 15. تعد حلقة while مثالية عندما تعتمد نقطة التوقف على شرط بدلاً من تسلسل ثابت.
التحدي
سهلاقرأ رقماً n من المدخلات. استخدم حلقة while لحساب وطباعة مجموع كل الأرقام من 1 إلى n.
ابدأ بمتغير لتتبع المجموع التراكمي ومتغير آخر كعداد. استمر في الإضافة إلى المجموع طالما أن العداد أقل من أو يساوي n، مع زيادة العداد في كل تكرار.
بعد اكتمال الحلقة، اطبع المجموع النهائي باستخدام print().
على سبيل المثال، إذا كانت المدخلات 5، يجب أن تكون المخرجات:
[1] 15هذا لأن 1 + 2 + 3 + 4 + 5 = 15.
ورقة مرجعية
تعمل حلقة while طالما ظل الشرط TRUE:
count <- 1
while (count <= 3) {
print(count)
count <- count + 1
}تتحقق الحلقة من الشرط قبل كل تكرار. عندما يصبح الشرط FALSE، تتوقف الحلقة.
هام: قم دائمًا بتحديث المتغير داخل الحلقة لتجنب الحلقات اللانهائية:
total <- 0
num <- 1
while (num <= 5) {
total <- total + num
num <- num + 1
}
print(total) # النتيجة: [1] 15تعد حلقات While مثالية عندما تعتمد نقطة التوقف على شرط بدلاً من تسلسل ثابت.
جرّب بنفسك
# قراءة المدخلات
con <- file("stdin", "r")
n <- as.integer(suppressWarnings(readLines(con, n = 1)))
# تهيئة المتغيرات
total <- 0
counter <- 1
# TODO: اكتب حلقة while أدناه لحساب المجموع من 1 إلى n
# طباعة النتيجة
print(total)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية (AND, OR)المعاملات المنطقية - الجزء الثاني (NOT)مراجعة - المنطق البسيطالمنطق المتجهي - الجزء الأولالمنطق المتجهي - الجزء الثاني2المتغيرات وأنواع البيانات
نوع البيانات الرقمينوع البيانات الصحيحنوع البيانات الحرفينوع البيانات المنطقيالتحقق من أنواع البياناتقواعد التسميةالقيم المفقودة: NAملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Next (Continue)مراجعة - المضروب (Factorial)توليد المتتاليات (seq, :)الحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةقسمة الأعداد الصحيحة وباقي القسمةمعاملات الإسنادملخص - عمليات رياضية بسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
طباعة المخرجاتاستخدام Cat للمخرجاتالمخرجات مع المتغيراتقراءة المدخلات باستخدام readline()أساسيات تحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ