Menu
Coddy logo textTech

שיטות טווח

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Swift של Coddy. שיעור 9 מתוך 56.

טווחים הם Collection אמיתיים, ולכן הם כוללים את אותם הכלים שבהם משתמשים במערכים.

contains, count, first ו-last פועלים כולם ישירות:

let r = 1...10
print(r.contains(5))            // true
print(r.count)                  // 10
print(r.first!, r.last!)        // 1 10

גם רוב השיטות של מערכים שבהן השתמשת עובדות. filter מחזירה מערך, כי התוצאה של סינון טווח אינה בעצמה טווח:

let evens = (1...10).filter { $0 % 2 == 0 }
print(evens)                    // [2, 4, 6, 8, 10]

כך גם עם reduce: לטווחים יש אותו, ותסתמכו עליו לחישובים מהירים של סכומים ומכפלות.

challenge icon

אתגר

קל

קרא שני מספרים שלמים (בשתי שורות): n ו-target. התייחס לטווח הסגור 1...n כאל קבוצת הנתונים שלך.

הדפס שלוש שורות:

  1. true כאשר target נמצא בטווח, אחרת false
  2. מכפלת כל הערכים בטווח (n!: עצרת). השתמש ב-reduce.
  3. הערכים בטווח שהם כפולות של 3, מחוברים באמצעות , (או שורה ריקה אם אין כאלה). השתמש ב-filter.

עבור הקלט 5 / 3, הפלט הוא:

true
120
3

נסו בעצמכם

let n = Int(readLine()!)!
let target = Int(readLine()!)!
let r = 1...n

// TODO: contains(target), מכפלה באמצעות reduce, כפולות של 3 באמצעות filter
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

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