Menu
Coddy logo textTech

Resumen - Calificación del Estudiante

Parte de la sección Programación Orientada a Objetos del Journey de Lua de Coddy. Lección 18 de 70.

challenge icon

Desafío

Fácil

Construyamos una clase Student completa que reúna todo lo que has aprendido en este capítulo: ¡variables de instancia, getters, setters y propiedades calculadas, todo funcionando en conjunto!

Organizarás tu código en dos archivos:

  • Student.lua: Define tu clase Student con el patrón de prototipo estándar. Cada estudiante debe almacenar un name y un grade. Tu clase necesita:
    • Un constructor :new(name, grade)
    • Un getter :getName() que devuelva el nombre del estudiante
    • Un getter :getGrade() que devuelva la calificación actual
    • Un setter :setGrade(newGrade) que actualice la calificación
    • Un método :hasPassed(threshold) que devuelva true si la calificación del estudiante es mayor o igual que el umbral, y false en caso contrario
  • main.lua: Requiere tu módulo Student y demuestra toda la funcionalidad creando un estudiante, comprobando su estado, actualizando su calificación y verificando los cambios.

Recibirás cuatro entradas:

  1. Nombre del estudiante
  2. Calificación inicial
  3. Umbral de aprobación que se comprobará
  4. Nueva calificación que se establecerá

En tu archivo principal, crea un estudiante con el nombre y la calificación inicial dados; después, imprime lo siguiente en líneas separadas:

  1. El nombre del estudiante
  2. La calificación inicial del estudiante
  3. Si el estudiante aprobó con el umbral dado (imprime true o false)
  4. La calificación del estudiante después de actualizarla con la nueva calificación
  5. Si el estudiante aprobó con el mismo umbral después de actualizar la calificación

Por ejemplo, si las entradas son Emma, 55, 60 y 75, la salida debería ser:

Emma
55
false
75
true

Emma tenía inicialmente una calificación de 55, que no alcanzaba el umbral de aprobación de 60. Después de actualizar su calificación a 75, ¡ahora aprueba!

Pruébalo tú mismo

-- Requiere el módulo Student
local Student = require('Student')

-- Lee las entradas
local name = io.read()
local initialGrade = tonumber(io.read())
local threshold = tonumber(io.read())
local newGrade = tonumber(io.read())

-- TODO: Crea un estudiante con el nombre y la calificación inicial dados

-- TODO: Imprime el nombre del estudiante usando el getter

-- TODO: Imprime la calificación inicial del estudiante usando el getter

-- TODO: Comprueba e imprime si el estudiante aprobó con el umbral dado

-- TODO: Actualiza la calificación del estudiante usando el setter

-- TODO: Imprime la nueva calificación del estudiante

-- TODO: Comprueba e imprime si el estudiante aprobó después de la actualización de la calificación

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Lua online