Menu
Coddy logo textTech

Récapitulatif - Note de l'étudiant

Fait partie de la section Object Oriented Programming 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 Object Oriented Programming