Anda di halaman 1dari 3

using using using using using using using using

System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms;

namespace Automatas { public partial class Automata : Form { public Automata() { InitializeComponent(); } String a=" "; int pos=0; int x=1; int y=1; int tt = 0; String pas="no"; String[] aceptacion = new String[20]; String[] esstados = new String[20]; String[] ena = new String[20]; String[] enb = new String[20]; String[] cdn = new String[50]; private void ingresar1_Click(object sender, EventArgs e) { if (num.Text == "" || numacep.Text == "") { MessageBox.Show("No a ingresado el numero de estados o el numero de estados de aceptacion, INGRESELOS", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Information); }else { num.Enabled = false; complementos.Enabled = false; tabla.Enabled = false; ingresar1.Enabled = false; numacep.Enabled = false; a = complementos.Rows[0].Cells[0].Value.ToString(); x = int.Parse(num.Text.ToString()); y = int.Parse(numacep.Text.ToString()); num.Text = ""; numacep.Text = ""; for (int i = 0; i < x; i++) { esstados[i] = tabla.Rows[i].Cells[0].Value.ToString(); ena[i] = tabla.Rows[i].Cells[1].Value.ToString(); enb[i] = tabla.Rows[i].Cells[2].Value.ToString(); } for (int j = 0; j < y; j++) { aceptacion[j] = complementos.Rows[j].Cells[1].Value.ToString(); } for (int progres = 0; progres <= 10000; progres++) { cargando.Maximum = 10000; cargando.Minimum = 0; cargando.Value = progres; }

MessageBox.Show("Los datos fueron ingresados correctamente", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void incad_Click(object sender, EventArgs e) { if (Cadena.Text == "a" || Cadena.Text == "b") { for (int i = 0; i <= mostcad.Text.Length; i++) { tt=i; } cdn[tt] = Cadena.Text; mostcad.Text = mostcad.Text + Cadena.Text; Cadena.Text = ""; }else { MessageBox.Show("valor invalido, vuelva a ingresarlo", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Error); Cadena.Text = ""; } } private void compcad_Click(object sender, EventArgs e) { if(ingresar1.Enabled == true) { MessageBox.Show("Primero ingrese los datos del automata", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Information); }else { compcad.Enabled = false; Cadena.Enabled = false; incad.Enabled = false; tabla.Enabled = false; for (int progres = 0; progres <= 10000; progres++) { cargando.Maximum = 10000; cargando.Minimum = 0; cargando.Value = progres; } for (int j = 0; j < mostcad.Text.Length; j++) { for (int i = 0; i < x; i++) { if (a == esstados[i]) { pos = i; } } if (cdn[j] == "a") { a = ena[pos]; }else if (cdn[j] == "b") { a = enb[pos]; } } for (int comp = 0; comp < y; comp++) {

if (a == aceptacion[comp]) { pas = "si"; } } if (pas == "si") { msj.Text = "La cadena:"; stadodlacad.Text = "Fue ACEPTADA"; MessageBox.Show("La cadena fue ACEPTADA", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { msj.Text = "La cadena:"; stadodlacad.Text = "Fue RECHAZADA"; MessageBox.Show("La cadena fue RECHAZADA", "Automata de estado finito", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } private void Limpiar_Click(object sender, EventArgs e) { Cadena.Text = ""; mostcad.Text = ""; msj.Text = ""; num.Text = ""; numacep.Text = ""; msj.Text = ""; stadodlacad.Text = ""; tabla.Rows.Clear(); complementos.Rows.Clear(); num.Enabled = true; compcad.Enabled = true; ingresar1.Enabled = true; complementos.Enabled = true; tabla.Enabled = true; Cadena.Enabled = true; incad.Enabled = true; numacep.Enabled = true; cargando.Value = 0; } private void exit_Click(object sender, EventArgs e) { string message = "Seguro que quieres cerrar la aplicacion?"; string caption = "Automata de estado finito"; MessageBoxButtons buttons = MessageBoxButtons.YesNo; DialogResult result; result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Question); if (result == System.Windows.Forms.DialogResult.Yes) { Close(); } } } }

Anda mungkin juga menyukai