Menu
Coddy logo textTech

Resumen - Calificación del Estudiante

Parte de la sección Object Oriented Programming del Journey de Lua de Coddy — lección 18 de 70.

challenge icon

Desafío

Fácil

¡Vamos a construir 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 trabajando 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 una 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 al umbral (threshold), y false en caso contrario
  • main.lua: Requiere tu módulo Student y demuestra toda la funcionalidad creando un estudiante, verificando 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 para verificar
  4. Nueva calificación para establecer

En tu archivo principal, crea un estudiante con el nombre y la calificación inicial dados, luego 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 la actualización de 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 inicialmente tenía una calificación de 55, que no cumplía con el umbral de aprobación de 60. Después de actualizar su calificación a 75, ¡ahora aprueba!

Pruébalo tú mismo

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

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

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

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

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

-- TODO: Verificar e imprimir si el estudiante aprobó con el umbral dado

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

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

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

Todas las lecciones de Object Oriented Programming