jueves, 1 de diciembre de 2005

Clase IU_Principal [Algoritmo de Booth]


IU_Principal.java:
Esta clase implementará los métodos de manejo de interfaces y eventos, para visualizar las operaciones del algoritmo de Booth de una manera visualmente más atractiva.
A continuación, el detalle de lo que se usó para implementarlo.


Atributos:
  • private JButton btnCalcular;
    Es el botón con el cual se verifica que los datos ingresados sean correctos, y según eso, llama al algoritmo de Booth para calcular el resultado.
  • private JButton btnLimpiar;
    Limpia los campos de texto para ingresar una nueva operación.
  • private JTextArea txaOperaciones;
    Reporta paso a paso, las operaciones del algoritmo de Booth.
  • private JTextField txtMultiplicando;
    Donde se ingresa el valor en base decimal del multiplicando de la operación.
  • private JTextField txtMultiplicandoBin;
    Donde se reporta el multiplicando en binario.
  • private JTextField txtMultiplicador;
    Donde se ingresa el valor en base decimal del multiplicador de la operación.
  • private JTextField txtMultiplicadorBin;
    Donde se reporta el multiplicador en binario.
  • private JTextField txtMultiplicacion;
    Donde se reporta a manera de cadena, la operación de forma: "a x b".
  • private JTextField txtResultado;
    Donde se reporta el resultado de la operación, en base decimal.
  • private JTextField txtResultadoBin;
    Donde se reporta el resultado de la operación en binario.
Además, también hay etiquetas JLabel y un par de JPanel.

Métodos:
  • IU_Principal() : constructor
    Descripción: Inicializa todos los atributos, y ubicación en la interfaz de los elementos gráficos (Swing).
    Entrada: Cadena que representa un número en binario.
    Salida: Entero que representa el correspondiente valor en decimal.

  • btnCalcularActionPerformed(java.awt.event.ActionEvent evt) : void
    Descripción: Convierte un número decimal, a un número binario.
    Entrada: evento a manejar.
    Salida: Vacío.

  • btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) : void
    Descripción: Establece los valores de los cuadros de texto en vacío, limpiándolos para realizar un nuevo cálculo, y poniendo el foco (requestFocus) en el txtMultiplicando.
    Entrada: evento a manejar.
    Salida: Vacío.

  • validarValoresEntrada() : boolean 
    Descripción: Verifica que los datos ingresados sean exclusivamente numéricos/enteros y no de ningún otro tipo. También verifica que (en este caso) sean menores de 256, para normalizar las cadenas de números binarios a 9 bits (8 normales + 1 bit de signo)
    Entrada: Vacío.
    Salida: Valor booleano, que indica si los datos ingresados son númericos/enteros, menores a 256 (verdadero) o no cumplen esas restricciones (devuelve falso).

  • actualizarTextArea(String cadena) : void
    Descripción: Actualiza el JTextArea txaOperaciones, añadiendo (append) la cadena de entrada.
    Entrada: Cadena de texto a ser reportada dentro del textArea, siendo añadida en la última línea.
    Salida: Vacío.
Una imagen de cómo se ve la interfaz, con la disposición de ubicación de botones, tamaños, etc.
Los campos de texto deshabilitados, son los de tipo "reporte" para que el usuario no los pueda modificar.

5 comentarios:

  1. hola me podrias pasar todo el programa, tenemos que simular microoperaciones de la cpu usando el algoritmo de Booth el problema que tenemos es que por ser novatos en java no podemos convertir bien la cadena string a binario, si nos puedes proporcionar el código te lo agradeceremos, mi correo es jeve_totto@yahoo.es

    ResponderEliminar
  2. EDGAR
    hi! oye nesesito q me hagas un favor me podrias pasar el programa o el codigo para programar(ovbio en java) porfa esq lo nesesito
    enviamelo a gamecirilo@yahoo.com porfa es urgente

    ResponderEliminar
  3. Bueno ojala tengas algo de tiempo ya que han pasado más de 5 años desde la publicacion de este articulo y pudieras hacernos el honor de poner el link de descarga del código fuente, creo que ha estas alturas ya habrás terminado (o casi) tu carrera y nos sería de mucha utilidad a mi y a todos los que recién estamos llevando este curso poder saber como lo hiciste tu. A mi parecer ya no existe el "esto lo hice yo sólo y no lo comparto" ya que de alguna manera todos aprendemos de todos, así como tu aprendiste de la página Emezeta. Bueno espero puedas publicar un link de descarga de tu programa, muchas gracias de antemano.
    Saludos cordiales.

    PD: mi email es javierob.20@gmail.com
    Yo estudio Ing. de Sistemas y ojala pudieras pasármelo al menos te lo agradecería.

    ResponderEliminar
  4. Hola
    Podrian pasarme el codigo del algortmo de booth, por favor, lo necesito. upn213@hotmail.com

    ResponderEliminar
  5. no lo tendras en c++

    ResponderEliminar