Menu
Coddy logo textTech

חזרה – חישובים עם ארנק

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Lua של Coddy. שיעור 30 מתוך 70.

challenge icon

אתגר

קל

בואו נבנה מחלקת Wallet שמאגדת את המיומנויות של העמסת אופרטורים שלמדת בפרק הזה. הארנק שלך יאחסן סכום כסף ויתמוך בשתי פעולות מרכזיות: שילוב ארנקים באמצעות + והשוואת ארנקים באמצעות < ו->.

תארגן את הקוד שלך בשני קבצים:

  • Wallet.lua: הגדר את מחלקת Wallet שלך עם שדה amount שמייצג כמה כסף יש בו. כלול בנאי :new(amount) וממש שתי מתודות מטא:
    • __add: חיבור של שני ארנקים יוצר ארנק חדש שמכיל את הסכום הכולל שלהם
    • __lt: השוואת ארנקים קובעת באיזה מהם יש פחות כסף
  • main.lua: טען את מודול Wallet שלך, צור מופעי ארנק והדגם את שתי הפעולות יחד.

תקבל שלוש קלטים:

  1. הסכום בארנק הראשון
  2. הסכום בארנק השני
  3. הסכום בארנק השלישי

בקובץ הראשי שלך, צור שלושה ארנקים עם הסכומים הנתונים. לאחר מכן:

  1. חבר את הארנקים הראשון והשני כדי ליצור ארנק משולב
  2. הדפס את הסכום בארנק המשולב
  3. השווה את הארנק המשולב לארנק השלישי באמצעות < והדפס את התוצאה (true או false)
  4. השווה את הארנק המשולב לארנק השלישי באמצעות > והדפס את התוצאה (true או false)

לדוגמה, אם הקלטים הם 50, 30 ו-100, הפלט אמור להיות:

80
true
false

הארנק הראשון (50) ועוד הארנק השני (30) יוצרים ארנק משולב עם 80. מכיוון ש-80 קטן מ-100, ההשוואה הראשונה היא true. מכיוון ש-80 אינו גדול מ-100, ההשוואה השנייה היא false.

נסו בעצמכם

local Wallet = require('Wallet')

-- קרא את הקלט
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())

-- TODO: צור שלושה ארנקים עם הסכומים הנתונים

-- TODO: חבר את הארנק הראשון והשני כדי ליצור ארנק משולב

-- TODO: הדפס את הסכום שבארנק המשולב

-- TODO: השווה בין הארנק המשולב לארנק השלישי באמצעות < והדפס את התוצאה

-- TODO: השווה בין הארנק המשולב לארנק השלישי באמצעות > והדפס את התוצאה

כל השיעורים ביחידה תכנות מונחה עצמים

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