コード例 #1
0
 public static ColocarPaginaConAlgoritmo getInstance()
 {
     if (colocar == null)
     {
         colocar = new ColocarPaginaConAlgoritmo();
     }
     return(colocar);
 }
コード例 #2
0
        public DataTable ingresarPaginasAuto(DataTable marcos)
        {
            ColocarPaginaConAlgoritmo paginaConAlgoritmo = ColocarPaginaConAlgoritmo.getInstance();
            DataTable result = new DataTable();
            int       paginaRandom;
            int       tamanioMax = marcos.AsEnumerable().Max(m => Convert.ToInt16(m["TAMANIO"]));

            marcosDisponibles = true;

            paginaRandom = new Random().Next(1, tamanioMax);
            result       = paginaConAlgoritmo.colocarPagina(paginaRandom, marcos);

            return(result);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            int       nMarcos;
            double    tMemoria;
            Hashtable hash = new Hashtable();

            Console.WriteLine("numero de marcos");
            nMarcos = Convert.ToInt16(Console.ReadLine());
            Console.WriteLine("tamaño de memoria");
            tMemoria = Convert.ToDouble(Console.ReadLine());

            DataTable marcos = new DataTable();

            marcos = new Marcos().getMarcos(nMarcos, tMemoria);

            foreach (DataRow dr in marcos.Rows)
            {
                Console.WriteLine("" + dr["ID"] + "......" + dr["INICIO"] + " - " + dr["FIN"] + "......" + dr["TAMANIO"] + "....." + dr["ESTADO"] + "....." + dr["PUNTERO"]);
            }
            ColocarPaginaConAlgoritmo paginaConAlgoritmo = ColocarPaginaConAlgoritmo.getInstance();

            paginaConAlgoritmo.PeorAjuste();
            int tipo;

            Console.WriteLine("tipo: ");
            tipo = Convert.ToInt16(Console.ReadLine());

            switch (tipo)
            {
            case 1:
                paginaConAlgoritmo.PrimerAjuste();
                break;

            case 2:
                paginaConAlgoritmo.SiguienteAjuste();
                break;

            case 3:
                paginaConAlgoritmo.MejorAjuste();
                break;

            case 4:
                paginaConAlgoritmo.PeorAjuste();
                break;
            }

            int tPagina = 0;

            while (tPagina != -1)
            {
                Console.WriteLine("Tamanio de pagina");
                tPagina = Convert.ToInt16(Console.ReadLine());

                marcos = paginaConAlgoritmo.colocarPagina(tPagina, marcos);

                foreach (DataRow dr in marcos.Rows)
                {
                    Console.WriteLine("" + dr["ID"] + "......" + dr["INICIO"] + " - " + dr["FIN"] + "......" + dr["TAMANIO"] + "....." + dr["ESTADO"] + "....." + dr["PUNTERO"]);
                }
            }

            Console.Read();
        }