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

توليد المتتاليات (seq, :)

جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 43 من 78.

لقد كنت تستخدم 1:5 لإنشاء تسلسلات في حلقاتك التكرارية. عامل النقطتين الرأسيتين هذا سريع وبسيط، ولكن توفر لغة R أيضاً دالة seq() لمزيد من التحكم في تسلسلاتك.

عامل النقطتين الرأسيتين (colon operator) ينشئ تسلسلاً من الأعداد الصحيحة المتتالية:

print(1:5)
print(10:6)

المخرجات:

[1] 1 2 3 4 5
[1] 10 9 8 7 6

لاحظ أن التسلسل يمكن أن يسير في أي من الاتجاهين. عندما يكون الرقم الأول أكبر، فإنه يبدأ بالعد التنازلي.

توفر لك الدالة seq() مرونة أكبر. يمكنك تحديد حجم الخطوة باستخدام الوسيط by:

print(seq(2, 10, by = 2))

المخرجات:

[1] 2 4 6 8 10

يقوم هذا بإنشاء أرقام زوجية من 2 إلى 10.

يمكنك أيضاً تحديد عدد الأرقام التي تريدها باستخدام length.out:

print(seq(1, 10, length.out = 4))

المخرجات:

[1] 1 4 7 10

يقوم R تلقائيًا بحساب التباعد ليعطيك بالضبط 4 أرقام متباعدة بالتساوي. يعمل كلا النهجين بسلاسة في الحلقات (loops)، مما يتيح لك التكرار عبر تسلسلات مخصصة بسهولة.

challenge icon

التحدي

سهل

اقرأ ثلاثة أرقام من المدخلات: start، و end، و step.

استخدم الدالة seq() لإنشاء تسلسل من start إلى end بحجم step المعطى. ثم استخدم حلقة for للتكرار عبر هذا التسلسل وطباعة مربع كل رقم.

يجب طباعة كل قيمة مربعة في سطر خاص بها باستخدام print().

على سبيل المثال، إذا كانت المدخلات هي 2، و 10، و 2، يجب أن تكون المخرجات:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

هذا لأن التسلسل 2، 4، 6، 8، 10 قد تم إنشاؤه، وتم تربيع كل رقم.

جرّب بنفسك

# قراءة المدخلات
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: اكتب كودك أدناه
# 1. استخدم seq() لإنشاء تسلسل من start إلى end باستخدام step المعطاة
# 2. استخدم for loop للتكرار عبر التسلسل
# 3. اطبع مربع كل رقم باستخدام print()
quiz iconاختبر نفسك

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

جميع دروس Fundamentals