public string Simular() { log = ""; lista = new ListaCircular(); cola = new Cola(); random = new Random(); Proceso actual; int atendidos = 0; int ciclosVacia = 0; for (int i = 0; i < 100; i++) { //Thread.Sleep(10); if (random.Next(20) < 7) { Proceso p = new Proceso(); lista.Agregar(p); log += "(Agregado) -> " + p.ToString(); } if (lista.Size != 0) { actual = lista.Ver(); actual.Ciclos--; if (actual.Ciclos == 0) { atendidos++; log += "(Eliminado) -> " + lista.Eliminar().ToString(); } } else { ciclosVacia++; } } int ciclosFaltantes = 0; int sizeBefore = lista.Size; for (int i = 0; i < lista.Size; i++) { Proceso p = lista.Eliminar(); ciclosFaltantes += p.Ciclos; } return("Vacia: " + ciclosVacia + " ciclos \t" + "Atendidos: " + atendidos + " procesos \t" + "Pendientes " + sizeBefore + " procesos \t" + "Ciclos faltantes: " + ciclosFaltantes + "\r\n"); }
public string Simular() { cola = new Cola(); random = new Random(); Proceso actual; int atendidos = 0; int ciclosVacia = 0; for (int i = 0; i < 300; i++) { if (random.Next(20) < 7) { cola.Encolar(new Proceso()); } if (cola.Size != 0) { actual = cola.Ver(); if (actual.Ciclos == 0) { atendidos++; cola.Decolar(); } actual.Ciclos--; } else { ciclosVacia++; } } int ciclosFaltantes = 0; for (int i = 0; i < cola.Size; i++) { Proceso p = cola.Decolar(); ciclosFaltantes += p.Ciclos; } return("Vacia: " + ciclosVacia + " ciclos \t" + "Atendidos: " + atendidos + " procesos \t" + "Pendientes " + cola.Size + " procesos \t" + "Ciclos faltantes: " + ciclosFaltantes + "\r\n"); }