Menu
Coddy logo textTech

Özet - Öğrenci Notu

Coddy'nin Lua Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 18 / 70.

challenge icon

Görev

Kolay

Bu bölümde öğrendiğiniz her şeyi —örnek değişkenleri, getter'lar, setter'lar ve hesaplanmış özellikler— bir araya getiren eksiksiz bir Student sınıfı oluşturalım!

Kodunuzu iki dosya halinde düzenleyeceksiniz:

  • Student.lua: Standart prototip desenini kullanarak Student sınıfınızı tanımlayın. Her öğrenci bir name ve bir grade saklamalıdır. Sınıfınız şunlara ihtiyaç duyar:
    • Bir :new(name, grade) yapıcı metodu (constructor)
    • Öğrencinin adını döndüren bir :getName() getter metodu
    • Mevcut notu döndüren bir :getGrade() getter metodu
    • Notu güncelleyen bir :setGrade(newGrade) setter metodu
    • Öğrencinin notu eşik değerine (threshold) eşit veya ondan büyükse true, aksi takdirde false döndüren bir :hasPassed(threshold) metodu
  • main.lua: Student modülünüzü dahil edin (require) ve bir öğrenci oluşturarak, durumunu kontrol ederek, notunu güncelleyerek ve değişiklikleri doğrulayarak tüm işlevselliği gösterin.

Dört girdi alacaksınız:

  1. Öğrencinin adı
  2. Başlangıç notu
  3. Kontrol edilecek geçme eşiği
  4. Ayarlanacak yeni not

Ana dosyanızda, verilen isim ve başlangıç notuyla bir öğrenci oluşturun, ardından aşağıdakileri ayrı satırlara yazdırın:

  1. Öğrencinin adı
  2. Öğrencinin başlangıç notu
  3. Öğrencinin verilen eşik değeriyle geçip geçmediği (true veya false yazdırın)
  4. Yeni notla güncellendikten sonra öğrencinin notu
  5. Not güncellemesinden sonra öğrencinin aynı eşik değeriyle geçip geçmediği

Örneğin, girdiler Emma, 55, 60 ve 75 ise çıktı şöyle olmalıdır:

Emma
55
false
75
true

Emma'nın başlangıçta 55 olan notu 60 olan geçme eşiğini karşılamıyordu. Notunu 75 olarak güncelledikten sonra artık geçiyor!

Kendin dene

-- Student modülünü dahil et
local Student = require('Student')

-- Girdileri oku
local name = io.read()
local initialGrade = tonumber(io.read())
local threshold = tonumber(io.read())
local newGrade = tonumber(io.read())

-- TODO: Verilen isim ve başlangıç notu ile bir öğrenci oluşturun

-- TODO: Getter metodunu kullanarak öğrencinin ismini yazdırın

-- TODO: Getter metodunu kullanarak öğrencinin başlangıç notunu yazdırın

-- TODO: Öğrencinin verilen eşik değerine göre geçip geçmediğini kontrol edin ve yazdırın

-- TODO: Setter metodunu kullanarak öğrencinin notunu güncelleyin

-- TODO: Öğrencinin yeni notunu yazdırın

-- TODO: Not güncellemesinden sonra öğrencinin geçip geçmediğini kontrol edin ve yazdırın

Object Oriented Programming bölümündeki tüm dersler