class Examenes::UI
Attributes
aciertos[R]
Tres tipos de atributos, contenido, aciertos y nota.
contenido[R]
Tres tipos de atributos, contenido, aciertos y nota.
nota[R]
Tres tipos de atributos, contenido, aciertos y nota.
Public Class Methods
new(examen)
click to toggle source
Constructor incializa los atributos
# File lib/Examenes/interfaz.rb, line 30 def initialize (examen) @contenido = examen @aciertos = 0 @nota = -1 @numeroPreguntas = examen.lista_preguntas.count end
Public Instance Methods
cabecera()
click to toggle source
Mensaje aparece antes de ejecutar las operaciones
# File lib/Examenes/interfaz.rb, line 84 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)
click to toggle source
Realiza una comparación de la respuesta respondida
# File lib/Examenes/interfaz.rb, line 64 def comparar(numeroPregunta, respuesta) if respuesta == @contenido.lista_soluciones.obtenerValor(numeroPregunta) then @aciertos = @aciertos + 1 return true end end
examinar(*resp)
click to toggle source
Examina la respuesta introducida
# File lib/Examenes/interfaz.rb, line 95 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)
click to toggle source
Muestra por pantalla la respuesta correspondiente
# File lib/Examenes/interfaz.rb, line 45 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()
click to toggle source
# File lib/Examenes/interfaz.rb, line 118 def invertir @contenido = invertirExamen(@contenido) end
invertirExamen(examen)
click to toggle source
Invierte las preguntas del examen
# File lib/Examenes/interfaz.rb, line 112 def invertirExamen(examen) examen.establecerPreguntas (invertirLista (examen.obtenerPreguntas)) examen.establecerSoluciones (invertirLista (examen.obtenerSoluciones)) return examen end
invertirLista(lista)
click to toggle source
Invierte la lista
# File lib/Examenes/interfaz.rb, line 105 def invertirLista(lista) listaTemp = Examenes::List.new lista.map { |elemento| listaTemp.push(elemento) } return listaTemp end
mostrarPregunta(numero)
click to toggle source
Muestra por pantalla la pregunta
# File lib/Examenes/interfaz.rb, line 38 def mostrarPregunta(numero) print "Pregunta" puts numero return @contenido.obtenerPregunta(numero) end
notaFinal()
click to toggle source
Muestra la nota final del examen
# File lib/Examenes/interfaz.rb, line 72 def notaFinal print "Aciertos: " print @aciertos print " / " puts @numeroPreguntas print "Su nota ha sido: " @nota = ((@aciertos * 10) / @numeroPreguntas) print @nota return @nota end