! Tabla de multiplicar
  ! Visualiza en consola la tabla de multiplicar de un número
  !
  ! jbgarcia@uvigo.es


  object TablaMultiplicar
    ! El número del que se va a calcular su tabla
    attribute + num = 0

    ! Podemos cambiar el número anterior
    method + setNum ( x )
      num = x
      return
    endMethod

    ! Crea la tabla de multiplicar como una cadena
    method + toString ( )
      reference i = 0
      reference toret = ""
      reference aux = 0

      :Loop
      i = i.sum ( 1 )
      toret = toret.concat ( num.toString ( ) )
      toret = toret.concat ( " x " )
      toret = toret.concat ( i.toString ( ) )
      toret = toret.concat ( " = " )
      aux = i.multiplyBy ( num )
      toret = toret.concat ( aux.toString ( ) )
      toret = toret.concat ( "\n" )

      i.isLessThan ( 11 )
      jumpOnTrueTo Loop

      return toret
    endMethod
  endObject


  object TablaMultiplicarApp : ConsoleApplication
    method + doIt ( )
      ! Pedir el número
      System.console.write ( "Tabla de multiplicar\nIntroduzca un número: " )
      reference num = Int.parseString ( System.console.read ( ) )

      ! Configurar el objeto
      TablaMultiplicar.setNum ( num )

      ! Mostrar la tabla
      System.console.write ( TablaMultiplicar.toString ( ) )

      return
    endMethod
  endObject