Menu
Coddy logo textTech

סיכום – ציון תלמיד

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

challenge icon

אתגר

קל

בואו נבנה מחלקת Student שלמה שמאגדת את כל מה שלמדת בפרק הזה: משתני מופע, פעולות גישה, פעולות עדכון ומאפיינים מחושבים — כולם פועלים יחד!

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

  • Student.lua: הגדר את המחלקה Student באמצעות תבנית האב־טיפוס המקובלת. כל תלמיד צריך לשמור name ו-grade. המחלקה שלך צריכה לכלול:
    • בנאי :new(name, grade)
    • פעולת גישה :getName() שמחזירה את שם התלמיד
    • פעולת גישה :getGrade() שמחזירה את הציון הנוכחי
    • פעולת עדכון :setGrade(newGrade) שמעדכנת את הציון
    • שיטה :hasPassed(threshold) שמחזירה true אם הציון של התלמיד גדול מסף המעבר או שווה לו, ו-false אחרת
  • main.lua: טען את המודול Student והדגם את כל הפונקציונליות באמצעות יצירת תלמיד, בדיקת מצבו, עדכון הציון שלו ואימות השינויים.

תקבלו ארבעה קלטים:

  1. שם התלמיד
  2. הציון ההתחלתי
  3. סף המעבר לבדיקה
  4. הציון החדש שיש לקבוע

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

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

לדוגמה, אם הקלטים הם Emma, 55, 60 ו-75, הפלט צריך להיות:

Emma
55
false
75
true

בהתחלה הציון של Emma היה 55, והוא לא עמד בסף המעבר של 60. לאחר עדכון הציון שלה ל-75, היא עוברת!

נסו בעצמכם

-- טען את המודול Student באמצעות require
local Student = require('Student')

-- קרא את הקלטים
local name = io.read()
local initialGrade = tonumber(io.read())
local threshold = tonumber(io.read())
local newGrade = tonumber(io.read())

-- TODO: צור תלמיד עם השם והציון ההתחלתי הנתונים

-- TODO: הדפס את שם התלמיד באמצעות פונקציית הגישה

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

-- TODO: בדוק והדפס האם התלמיד עבר לפי הסף הנתון

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

-- TODO: הדפס את הציון החדש של התלמיד

-- TODO: בדוק והדפס האם התלמיד עבר לאחר עדכון הציון

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

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