Class: Interfaz
- Inherits:
-
Object
- Object
- Interfaz
- Defined in:
- lib/exam/interfaz.rb
Overview
Clase que permite representar un examen con sus preguntas y comprobar la puntuación del mismo.
Instance Attribute Summary collapse
-
#examen ⇒ Object
readonly
Atributo que tendrá el examen sobre el que se realizarán las comprobaciones.
Instance Method Summary collapse
-
#compararRespuestas(respuestasUsuario) ⇒ Object
Método que en función de unas respuestas proporcionadas por el usuario comprueba la nota obtenida en el examen y se la muestra al usuario.
-
#initialize(examen) ⇒ Interfaz
constructor
Inicialización del atributo examen.
-
#to_s ⇒ Object
Método que devuelve una cadena con las preguntas ordenadas de menor a mayor.
Constructor Details
#initialize(examen) ⇒ Interfaz
Inicialización del atributo examen.
7 8 9 10 |
# File 'lib/exam/interfaz.rb', line 7 def initialize(examen) @examen = examen end |
Instance Attribute Details
#examen ⇒ Object (readonly)
Atributo que tendrá el examen sobre el que se realizarán las comprobaciones.
5 6 7 |
# File 'lib/exam/interfaz.rb', line 5 def examen @examen end |
Instance Method Details
#compararRespuestas(respuestasUsuario) ⇒ Object
Método que en función de unas respuestas proporcionadas por el usuario comprueba la nota obtenida en el examen y se la muestra al usuario.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/exam/interfaz.rb', line 15 def compararRespuestas(respuestasUsuario) iterador =0 respuestasCorrectas = 0 for i in @examen.preguntas do if i.respuestaCorrecta == respuestasUsuario[iterador] respuestasCorrectas += 1 end iterador +=1 end if respuestasCorrectas < (iterador/2)+1 mensaje = "Ha suspendido el examen: #{respuestasCorrectas}/#{iterador}" else if respuestasCorrectas == iterador mensaje = "Su nota es: Sobresaliente 10" else mensaje = "Ha aprobado el examen: #{respuestasCorrectas}/#{iterador}" end end mensaje end |
#to_s ⇒ Object
Método que devuelve una cadena con las preguntas ordenadas de menor a mayor.
38 39 40 41 42 43 44 45 |
# File 'lib/exam/interfaz.rb', line 38 def to_s cadena="" preguntas = @examen.preguntas.sort{|p1,p2| p1<=>p2} for i in preguntas do cadena +=i.to_s end cadena end |