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