Menu
Coddy logo textTech

Récapitulatif - Note de l'étudiant

Fait partie de la section Programmation orientée objet du Journey Lua de Coddy. Leçon 18 sur 70.

challenge icon

Défi

Facile

Construisons une classe Student complète qui rassemble tout ce que vous avez appris dans ce chapitre : variables d'instance, getters, setters et propriétés calculées, le tout fonctionnant ensemble !

Vous organiserez votre code sur deux fichiers :

  • Student.lua : Définissez votre classe Student avec le modèle de prototype standard. Chaque étudiant doit stocker un name et une grade. Votre classe a besoin de :
    • Un constructeur :new(name, grade)
    • Un getter :getName() qui retourne le nom de l'étudiant
    • Un getter :getGrade() qui retourne la note actuelle
    • Un setter :setGrade(newGrade) qui met à jour la note
    • Une méthode :hasPassed(threshold) qui retourne true si la note de l'étudiant est supérieure ou égale au seuil (threshold), sinon false
  • main.lua : Importez votre module Student et démontrez toutes les fonctionnalités en créant un étudiant, en vérifiant son statut, en mettant à jour sa note et en vérifiant les changements.

Vous recevrez quatre entrées :

  1. Le nom de l'étudiant
  2. La note initiale
  3. Le seuil de réussite à vérifier
  4. La nouvelle note à définir

Dans votre fichier principal, créez un étudiant avec le nom et la note initiale donnés, puis affichez les éléments suivants sur des lignes séparées :

  1. Le nom de l'étudiant
  2. La note initiale de l'étudiant
  3. Si l'étudiant a réussi avec le seuil donné (affichez true ou false)
  4. La note de l'étudiant après l'avoir mise à jour avec la nouvelle note
  5. Si l'étudiant a réussi avec le même seuil après la mise à jour de la note

Par exemple, si les entrées sont Emma, 55, 60, et 75, la sortie devrait être :

Emma
55
false
75
true

Emma avait initialement une note de 55, ce qui ne respectait pas le seuil de réussite de 60. Après avoir mis à jour sa note à 75, elle réussit maintenant !

Essayez vous-même

-- Requiert le module Student
local Student = require('Student')

-- Lit les entrées
local name = io.read()
local initialGrade = tonumber(io.read())
local threshold = tonumber(io.read())
local newGrade = tonumber(io.read())

-- TODO: Créer un étudiant avec le nom et la note initiale donnés

-- TODO: Afficher le nom de l'étudiant en utilisant le getter

-- TODO: Afficher la note initiale de l'étudiant en utilisant le getter

-- TODO: Vérifier et afficher si l'étudiant a réussi avec le seuil donné

-- TODO: Mettre à jour la note de l'étudiant en utilisant le setter

-- TODO: Afficher la nouvelle note de l'étudiant

-- TODO: Vérifier et afficher si l'étudiant a réussi après la mise à jour de la note

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Lua en ligne