Menu
Coddy logo textTech

יצירת רצפים (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

שימו לב שהרצף יכול להתקדם בשני הכיוונים. כשהמספר הראשון גדול יותר, הוא סופר לאחור.

הפונקציה 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() כדי ליצור רצף מ-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 עם גודל הצעד הנתון
# 2. השתמשו בלולאת for כדי לעבור על הסדרה
# 3. הדפיסו את הריבוע של כל מספר באמצעות print()
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר R אונליין