Quine mackulski
Enviado por Ninoka • 29 de Enero de 2018 • 7.724 Palabras (31 Páginas) • 335 Visitas
...
JButton filebt = new JButton("Cargar"); // Button de la inserción desde archivo.
JButton resetbt = new JButton("Reset"); // Button que resetea el programa a sus valores iniciales.
JButton minimizarbt = new JButton("Minimizar"); // Button para mininimar la tabla de verdad
JTextField ecuaciontx = new JTextField(15); // Text field donde se muesra la ecuación ya minimizada.
JButton copiarbt = new JButton("Copiar"); // Button para copiar la ecuación minimizada al porta-papeles.
JTextField procedimsalidatx = new JTextField("Archivo a guardar",12); // Text field que muestra la ruta del archivo donde se guardaron los procedimientos.
JButton procedimsalidabt = new JButton("Procedimientos a archivo"); // Button para guardar en un archivo los procedimientos de minimización.
JTextArea tablavddarea = new JTextArea(10,20); // Text area donde se muestra la tabla de verdad.
JTextField tablasalidatx = new JTextField("Archivo a guardar",12); // Text field donde se muestra la ruta del archivo donde se guardó la tabla de verdad.
JButton tablasalidabt = new JButton("Guardar"); // Button para guardar el tabla de verdad en un archivo.
ButtonGroup botones; // Grupo de botones que relaciona lógicamente los radio buttons creados, para que sean mutuamente excluyentes.
PrintWriter aproced; // Objeto global con el que se imprimirá al archivo que contiene los procedimientos realizados para la simplificación.
JFileChooser selector = new JFileChooser(); // Objeto con el que se selecciona un archivo en la véntana de diálogo.
ExampleFileFilter filtro = new ExampleFileFilter(); // Objeto de tipo "ExampleFileFilter" con el que se filtran los archivos mostrados en la ventana de diálogo"
ImageIcon icono = new ImageIcon("icono.gif"); // Objeto que contiene al ícono del programa.
private static BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); //Declaración del objeto para captura desde el teclado.
int numvar; // Variable que guarda el número de variables de la tabla.
int filas; // Variable que guarda el número de filas de la tabla de verdad (combinaciones posibles).
int filasp; // Variable que guarda el número de filas que tiene el arreglo de la tabla de pesos.
int pmax = 0; // Variable guarda el peso máximo de la tabla de verdad.
int contagreg; // Variable que cuenta cuantos términos se agregaron al vector "comparaciones" durante una comparación;
char[][] tablavdd; // Arreglo de CHARS donde se guardan los valores de la tabla.
char[] vars; // Arreglo que guarda las variables como letras.
int [][] tablap; // Arreglo de enteros que continene la tabla de pesos, en la primera columna guarda el índice de la tabla de verdad y en la seguna el peso del término correspondiente.
Vector comparaciones = new Vector(1,1); // Vector que contiene todas las comparaciones realizadas entre los términos que pudieron compararse. Guarda los términos con los guiones correspondientes.
Vector indices = new Vector(1,1); // Vector que guarda las divisiones entre las distintas tablas de comparación.
Vector terms = new Vector(1,1); // Vector que contiene los índices de las comparaciones realizadas, este vector sirve para saber que términos no se pudieron comparar y mandarlos al vector "termsfinal".
Vector termsfinal = new Vector(1,1); // Vector que contiene los términos que forman parte de la ecuación minimizada.
String ecufinal=""; // String que contiene la ecuación resultante de la minimización.
/*Constructor que inicializa la tabla de verdad y objetos necesarios.*/
public QMC() {
super("Quine-McCluskey"); // Título del programa que se despliega en la barra de título.
/*Con esto se pone el logo del programa en el text area*/
tablavddarea.setText("\n" + " Quine - McCluskey" +
"\n" + " ___ __ __ ____" + "\n" +
" / _ " + "\\ " + "| " + " \\" + "/ | / ___ |" + "\n" +
" | | | | |" + "\\" + "/| | | " + "\n" +
" | |_ | | | | | |___ " + "\n" +
" " + "\\ " + "__ " + "\\" + "_" + "\\ " + "_| | _ |" + "\\ " + "____|" + "\n\n" +
" All rights reserved 2005 ®");
/*Con esto se agregan los Radio Buttons a un "grupo" para que sólo uno de ellos pueda estar seleccionado a la vez".*/
botones = new ButtonGroup();
botones.add(invisible);
botones.add(minisrb);
botones.add(maxisrb);
botones.add(termrb);
botones.add(filerb);
/*Alineación de los objetos dentro de los páneles e inserción de los mismos.*/
panel1 = new JPanel(new BorderLayout());
panel1.add(minisrb, BorderLayout.WEST);
panel2 = new JPanel(new BorderLayout());
panel2.add(maxisrb,
...