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

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

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

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

ينشئ عامل النقطتين تسلسلاً من الأعداد الصحيحة المتتالية:

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

الناتج:

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

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

تمنحك الدالة 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 أعداد متباعدة بالتساوي تمامًا. تعمل كلتا الطريقتين بسلاسة في الحلقات، مما يتيح لك التكرار عبر تسلسلات مخصصة بسهولة.

challenge icon

التحدي

سهل

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

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

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

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

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

يحدث ذلك لأنه يتم إنشاء sequence ‏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 للتكرار عبر التسلسل
# 3. اطبع مربع كل رقم باستخدام print()
quiz iconاختبر نفسك

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

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

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