סיכום – רשימת מוצרים
חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 75 מתוך 78.
אתגר
קלתקבלו ארבע שורות קלט:
- שם של מוצר (לדוגמה,
Wireless Headphones) - מחיר (לדוגמה,
79.99) - כמות במלאי (לדוגמה,
25) - אחוז הנחה להחלה (לדוגמה,
20)
בצעו את הפעולות הבאות:
- צרו רשימה בעלת שמות בשם
productעם האיברים:name(תווים),price(מספרי),stock(מספרי), ו-available(מוגדר ל-TRUEאם המלאי גדול מ-0, אחרת ל-FALSE) - הדפיסו את שם המוצר באמצעות האופרטור
$ - חשבו את המחיר לאחר ההנחה (המחיר המקורי פחות אחוז ההנחה) ועדכנו את האיבר
price - הוסיפו איבר חדש בשם
discountedעם הערךTRUE - הפחיתו את
stockב-1 (כדי לדמות רכישה) - הסירו את האיבר
availableמהרשימה - הדפיסו את הרשימה הסופית
לדוגמה, אם הקלט הוא:
Smart Watch
150
10
25הפלט צריך להיות:
[1] "Smart Watch"
$name
[1] "Smart Watch"
$price
[1] 112.5
$stock
[1] 9
$discounted
[1] TRUEהסבר:
- מחיר מקורי 150 עם הנחה של 25%: 150 - (150 * 25/100) = 112.5
- המלאי הופחת מ-10 ל-9
- האיבר
availableהוסר מהרשימה הסופית
נסו בעצמכם
# קראו את הקלט
con <- file("stdin", "r")
product_name <- suppressWarnings(readLines(con, n = 1))
price <- as.numeric(suppressWarnings(readLines(con, n = 1)))
stock <- as.numeric(suppressWarnings(readLines(con, n = 1)))
discount_percentage <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)
# TODO: כתבו את הקוד שלכם למטה
# 1. צרו רשימה עם שמות לאיברים בשם 'product', ובה האיברים: name, price, stock ו-available
# 2. הדפיסו את שם המוצר באמצעות האופרטור $
# 3. חשבו את המחיר לאחר ההנחה ועדכנו את האיבר price
# 4. הוסיפו איבר חדש בשם 'discounted' עם הערך TRUE
# 5. הפחיתו את stock ב-1
# 6. הסירו את האיבר 'available' מהרשימה
# 7. הדפיסו את הרשימה הסופיתכל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים (AND, OR)אופרטורים לוגיים חלק 2 (NOT)חזרה – לוגיקה פשוטהלוגיקה וקטורית חלק 1לוגיקה וקטורית חלק 27מחשבון לחלוקת החשבון
הודעת פתיחהקבלת קלט מהמשתמש2משתנים וסוגי נתונים
סוג נתונים מספריסוג נתונים שלמיםסוג נתונים של תוויםסוג נתונים לוגיבדיקת סוגי נתוניםמוסכמות למתן שמותערכים חסרים: NAסיכום – יצירת משתנים8לולאות
לולאת forלולאת whileפקודת breakהמשך (continue)סיכום – עצרתיצירת רצפים (seq, :)לולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמים ומודולואופרטורי השמהחזרה – חשבון פשוטאופרטורי השוואה6קלט/פלט בסיסי
הדפסת פלטחתול כפלטפלט עם משתניםקריאת קלט באמצעות readline()יסודות המרת טיפוסיםחזרה – מחשבון גילחזרה – אמת או שקר9פונקציות
הכרזה על פונקציהארגומנטים של פונקציהערכי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדל לפרמטריםתרגלו בעצמכם: קומפיילר R אונליין