Class: Examenes::UI
- Inherits:
-
Object
- Object
- Examenes::UI
- Defined in:
- lib/Examenes/interfaz.rb
Instance Attribute Summary collapse
-
#aciertos ⇒ Object
readonly
Tres tipos de atributos, contenido, aciertos y nota.
-
#contenido ⇒ Object
readonly
Tres tipos de atributos, contenido, aciertos y nota.
-
#nota ⇒ Object
readonly
Tres tipos de atributos, contenido, aciertos y nota.
Instance Method Summary collapse
-
#cabecera ⇒ Object
Mensaje aparece antes de ejecutar las operaciones.
-
#comparar(numeroPregunta, respuesta) ⇒ Object
Realiza una comparaciĆ³n de la respuesta respondida.
-
#examinar(*resp) ⇒ Object
Examina la respuesta introducida.
-
#initialize(examen) ⇒ UI
constructor
Constructor incializa los atributos.
-
#input(numeroPregunta, resp = 0) ⇒ Object
Muestra por pantalla la respuesta correspondiente.
- #invertir ⇒ Object
-
#invertirExamen(examen) ⇒ Object
Invierte las preguntas del examen.
-
#invertirLista(lista) ⇒ Object
Invierte la lista.
-
#mostrarPregunta(numero) ⇒ Object
Muestra por pantalla la pregunta.
-
#notaFinal ⇒ Object
Muestra la nota final del examen.
Constructor Details
#initialize(examen) ⇒ UI
Constructor incializa los atributos
31 32 33 34 35 36 |
# File 'lib/Examenes/interfaz.rb', line 31 def initialize (examen) @contenido = examen @aciertos = 0 @nota = -1 @numeroPreguntas = examen.lista_preguntas.count end |
Instance Attribute Details
#aciertos ⇒ Object (readonly)
Tres tipos de atributos, contenido, aciertos y nota.
28 29 30 |
# File 'lib/Examenes/interfaz.rb', line 28 def aciertos @aciertos end |
#contenido ⇒ Object (readonly)
Tres tipos de atributos, contenido, aciertos y nota.
28 29 30 |
# File 'lib/Examenes/interfaz.rb', line 28 def contenido @contenido end |
#nota ⇒ Object (readonly)
Tres tipos de atributos, contenido, aciertos y nota.
28 29 30 |
# File 'lib/Examenes/interfaz.rb', line 28 def nota @nota end |
Instance Method Details
#cabecera ⇒ Object
Mensaje aparece antes de ejecutar las operaciones
85 86 87 88 89 90 91 92 93 |
# File 'lib/Examenes/interfaz.rb', line 85 def cabecera puts "" puts "" puts "***Examen de Lenguajes y Paradigmas de la Programacion***" puts " Responda poniendo el caracter de la respuesta elegida." print " El examen consta de " print @numeroPreguntas puts " preguntas tipo test." end |
#comparar(numeroPregunta, respuesta) ⇒ Object
Realiza una comparaciĆ³n de la respuesta respondida
65 66 67 68 69 70 |
# File 'lib/Examenes/interfaz.rb', line 65 def comparar(numeroPregunta, respuesta) if respuesta == @contenido.lista_soluciones.obtenerValor(numeroPregunta) then @aciertos = @aciertos + 1 return true end end |
#examinar(*resp) ⇒ Object
Examina la respuesta introducida
96 97 98 99 100 101 102 103 |
# File 'lib/Examenes/interfaz.rb', line 96 def examinar(*resp) cabecera for i in 1..@numeroPreguntas puts mostrarPregunta(i) input(i,resp[i-1]) end return notaFinal end |
#input(numeroPregunta, resp = 0) ⇒ Object
Muestra por pantalla la respuesta correspondiente
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/Examenes/interfaz.rb', line 46 def input(numeroPregunta, resp=0) puts "" print "Respuesta: " STDOUT.flush if resp == 0 then respuesta = gets.chomp else respuesta = resp puts respuesta end puts "" puts "" puts "" puts "" comparar(numeroPregunta, respuesta) return true end |
#invertir ⇒ Object
119 120 121 |
# File 'lib/Examenes/interfaz.rb', line 119 def invertir @contenido = invertirExamen(@contenido) end |
#invertirExamen(examen) ⇒ Object
Invierte las preguntas del examen
113 114 115 116 117 |
# File 'lib/Examenes/interfaz.rb', line 113 def invertirExamen(examen) examen.establecerPreguntas (invertirLista (examen.obtenerPreguntas)) examen.establecerSoluciones (invertirLista (examen.obtenerSoluciones)) return examen end |
#invertirLista(lista) ⇒ Object
Invierte la lista
106 107 108 109 110 |
# File 'lib/Examenes/interfaz.rb', line 106 def invertirLista(lista) listaTemp = Examenes::List.new lista.map { |elemento| listaTemp.push(elemento) } return listaTemp end |
#mostrarPregunta(numero) ⇒ Object
Muestra por pantalla la pregunta
39 40 41 42 43 |
# File 'lib/Examenes/interfaz.rb', line 39 def mostrarPregunta(numero) print "Pregunta" puts numero return @contenido.obtenerPregunta(numero) end |
#notaFinal ⇒ Object
Muestra la nota final del examen
73 74 75 76 77 78 79 80 81 82 |
# File 'lib/Examenes/interfaz.rb', line 73 def notaFinal print "Aciertos: " print @aciertos print " / " puts @numeroPreguntas print "Su nota ha sido: " @nota = ((@aciertos * 10) / @numeroPreguntas) print @nota return @nota end |