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