private void btnEvaluarArbol_Click(object sender, EventArgs e) { ServicioArbolBinario.calculaResultadoArbol(ServicioArbolBinario.getRaiz()); String formula = ServicioArbolBinario.quitarParentesis(txtCadena.Text); txtResultado.Text = ServicioArbolBinario.getRaiz().getDatos(); }
private void btnPostOrden_Click(object sender, EventArgs e) { String cad; cad = ServicioArbolBinario.darRecorridoPostorden(); tbxPostOrden.Text = cad; }
private void btnPostOrden_Click(object sender, EventArgs e) { String original = ""; String resultado; resultado = ServicioArbolBinario.recorrePostOrden(ServicioArbolBinario.getRaiz(), original); txtOrdenes.Text = resultado; }
private void btnResultado_Click(object sender, EventArgs e) { String resultado; double numero; numero = ServicioArbolBinario.evaluarArbolExpresion(); resultado = Convert.ToString(numero); txtResultado.Text = resultado; }
private String devolverCadena() { String cadena = txtCadena.Text; cadena = ServicioArbolBinario.quitarEspacios(cadena); if (ServicioArbolBinario.hayParentesisExternos(cadena)) { cadena = ServicioArbolBinario.quitarParentesis(cadena); } return(cadena); }
private void btnCrearArbol_Click(object sender, EventArgs e) { try { Nodo raiz = new Nodo(devolverCadena()); ServicioArbolBinario.setRaiz(raiz); ServicioArbolBinario.agregarArbol(raiz); MessageBox.Show("Se agrego exitosamente el arbol!"); } catch (Exception ex) { MessageBox.Show(ex.Message); // MessageBox.Show("Error al agregar el arbol"); } }
private void lienzo_Paint(object sender, PaintEventArgs e) { if (bandera == 0) { return; } int mitadAncho = 0; Graphics g; g = lienzo.CreateGraphics(); mitadAncho = TAM_HORIZONTAL / 2; g.TranslateTransform(lienzo.AutoScrollPosition.X, lienzo.AutoScrollPosition.Y); mostrarArbol(g, mitadAncho, 30, ServicioArbolBinario.getRaiz()); }
private void btnAdicionar_Click(object sender, EventArgs e) { try { tbxFormula.Text = ServicioSepararStrings.quitarEspaciosEnBlanco(tbxFormula.Text); if (!ServicioSepararStrings.tieneParentesis(tbxFormula.Text)) { tbxFormula.Text = ServicioSepararStrings.ponerParentesisExternos(tbxFormula.Text); } Nodo raiz = new Nodo(tbxFormula.Text); ServicioArbolBinario.setRaiz(raiz); ServicioArbolBinario.crearArbol(raiz); MessageBox.Show("¡Se creo el arbol correctamente!"); } catch (FormulaExeption er) { MessageBox.Show(er.darExeption()); } }
private void btnResultado_Click(object sender, EventArgs e) { try { if (ServicioArbolBinario.getRaiz() != null) { ServicioArbolBinario.calcularArbol(ServicioArbolBinario.getRaiz()); tbxResultado.Text = ServicioArbolBinario.getRaiz().getDato(); tbxFormula.Text = ServicioSepararStrings.quitarEspaciosEnBlanco(tbxFormula.Text); Nodo raiz = new Nodo(tbxFormula.Text); ServicioArbolBinario.setRaiz(raiz); ServicioArbolBinario.crearArbol(raiz); } else { MessageBox.Show("¡Debe crear primero el arbol binario!"); } } catch (FormulaExeption er) { MessageBox.Show(er.darExeption()); } }
private void btnAltura_Click(object sender, EventArgs e) { MessageBox.Show("La altura del arbol es de: " + ServicioArbolBinario.retornarAltura() + " niveles"); }
private void button1_Click(object sender, EventArgs e) { MessageBox.Show("La cantidad de nodos hoja es: " + ServicioArbolBinario.contarCantidadDeNodos()); }
private void btnContarNodos_Click(object sender, EventArgs e) { MessageBox.Show("La cantidad de nodos es: " + ServicioArbolBinario.cantidad()); }
private void btnGenerarArbol_Click(object sender, EventArgs e) { ServicioArbolBinario.procesarExpresion(txtCadena.Text); }
private void mostrarArbol(Graphics pGrafica, int x, int y, Nodo pNodo) { Pen pDatos = new Pen(Color.Black); Pen pElipse = new Pen(Color.Red); Brush b = new SolidBrush(this.ForeColor); imagenes[0] = Image.FromFile("imagenes/and.png"); imagenes[1] = Image.FromFile("imagenes/or.png"); imagenes[2] = Image.FromFile("imagenes/nand.png"); imagenes[3] = Image.FromFile("imagenes/nor.png"); imagenes[4] = Image.FromFile("imagenes/xor.png"); imagenes[5] = Image.FromFile("imagenes/xnor.png"); imagenes[6] = Image.FromFile("imagenes/not.png"); if (pNodo == null) { } else { int anchoSeparacion = ServicioArbolBinario.darCuantosPadre(pNodo) * (SEPARACION / 2); String cadena = pNodo.getDatos(); switch (cadena) { case "*": pGrafica.DrawImage(imagenes[0], x - 10, y - 20); break; case "+": pGrafica.DrawImage(imagenes[1], x - 10, y - 20); break; case "&": pGrafica.DrawImage(imagenes[2], x - 10, y - 20); break; case "%": pGrafica.DrawImage(imagenes[3], x - 10, y - 20); break; case "#": pGrafica.DrawImage(imagenes[4], x - 10, y - 20); break; case "/": pGrafica.DrawImage(imagenes[5], x - 10, y - 20); break; case "$": pGrafica.DrawImage(imagenes[6], x - 10, y - 20); break; default: pGrafica.DrawEllipse(pDatos, x - 10, y - 20, MEDIDA_ELIPSE, MEDIDA_ELIPSE); pGrafica.DrawString(pNodo.getDatos(), new Font("Verdana", 15), b, x + 3, y - 12); break; } if (pNodo.getIzq() != null) { pGrafica.DrawLine(pDatos, x - 10, y + 2, x - SEPARACION - anchoSeparacion + RADIO, y + SEPARACION - RADIO - 5); } if (pNodo.getDer() != null) { pGrafica.DrawLine(pDatos, x + 58, y + 2, x + SEPARACION + anchoSeparacion + RADIO, y + SEPARACION - RADIO - 5); } mostrarArbol(pGrafica, x - SEPARACION - anchoSeparacion, y + SEPARACION, pNodo.getIzq()); mostrarArbol(pGrafica, x + SEPARACION + anchoSeparacion, y + SEPARACION, pNodo.getDer()); } }
private void btnContar_Click(object sender, EventArgs e) { int num = ServicioArbolBinario.darNodos(); txtNumNodos.Text = num + ""; }
private void btnPosOrden_Click(object sender, EventArgs e) { txtPosOrden.Text = ServicioArbolBinario.recorrePosOrden(ServicioArbolBinario.getRaiz(), ""); }