예제 #1
0
파일: Main.cs 프로젝트: davividal/disk-seek
        private void processaFilas_Click(object sender, EventArgs e)
        {
            if (fila.Text == "")
            {
                MessageBox.Show("Informe uma fila de processamento!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }

            grafico.Series.Clear();

            Algoritimos.Algoritimos alg1 = new Algoritimos.Sstf(maxCilindros.Value);
            Algoritimos.Algoritimos alg2 = new Algoritimos.Scan(maxCilindros.Value);
            Algoritimos.Algoritimos alg3 = new Algoritimos.Cscan(maxCilindros.Value);

            alg1.cilindroAnterior = cilindroAnterior.Value;
            alg1.cilindroAtual    = cilindroAtual.Value;
            alg1.setSequencia(fila.Text);

            alg2.cilindroAnterior = cilindroAnterior.Value;
            alg2.cilindroAtual    = cilindroAtual.Value;
            alg2.setSequencia(fila.Text);

            alg3.cilindroAnterior = cilindroAnterior.Value;
            alg3.cilindroAtual    = cilindroAtual.Value;
            alg3.setSequencia(fila.Text);

            backgroundWorker1.RunWorkerAsync(alg1);
            backgroundWorker2.RunWorkerAsync(alg2);
            backgroundWorker3.RunWorkerAsync(alg3);

            sentidoLeitura.Text = alg1.getSentido();
        }
예제 #2
0
        public void TestSequenciaLeituraLista()
        {
            String seqExercicio = "100,198,199,101,199,10,11,5,10,3";
            decimal cilindroAnterior = 125;
            decimal cilindroAtual = 143;
            Cscan alg = new Cscan(200);
            String seqLeitura;

            alg.cilindroAnterior = Convert.ToInt32(cilindroAnterior);
            alg.cilindroAtual = Convert.ToInt32(cilindroAtual);
            alg.setSequencia(seqExercicio);

            alg.processa();

            seqLeitura = alg.getSequenciaLeitura();

            Assert.AreEqual("198,199,199,0,3,5,10,10,11,100,101", seqLeitura);
        }
예제 #3
0
        public void TestSequenciaLeituraCscan()
        {
            String seqExercicio = "86,1470,913,1774,948,1509,1022,1750,130";
            decimal cilindroAnterior = 125;
            decimal cilindroAtual = 143;
            Cscan alg = new Cscan(5000);
            String seqLeitura;

            alg.cilindroAnterior = Convert.ToInt32(cilindroAnterior);
            alg.cilindroAtual = Convert.ToInt32(cilindroAtual);
            alg.setSequencia(seqExercicio);

            alg.processa();

            seqLeitura = alg.getSequenciaLeitura();

            Assert.AreEqual("913,948,1022,1470,1509,1750,1774,4999,0,86,130", seqLeitura);
        }
예제 #4
0
        public void TestNumeroCilindrosLista()
        {
            String seqExercicio = "100,198,199,101,199,10,11,5,10,3";
            decimal cilindroAnterior = 137;
            decimal cilindroAtual = 150;
            Cscan alg = new Cscan(200);
            int distancia = 0;

            alg.cilindroAnterior = Convert.ToInt32(cilindroAnterior);
            alg.cilindroAtual = Convert.ToInt32(cilindroAtual);
            alg.setSequencia(seqExercicio);

            alg.processa();

            distancia = alg.getDistancia();

            Assert.AreEqual(150, distancia);
        }
예제 #5
0
        public void TestNumeroCilindrosCscan()
        {
            String seqExercicio = "86,1470,913,1774,948,1509,1022,1750,130";
            decimal cilindroAnterior = 125;
            decimal cilindroAtual = 143;
            Cscan alg = new Cscan(5000);
            int distancia = 0;

            alg.cilindroAnterior = Convert.ToInt32(cilindroAnterior);
            alg.cilindroAtual = Convert.ToInt32(cilindroAtual);
            alg.setSequencia(seqExercicio);

            alg.processa();

            distancia = alg.getDistancia();

            Assert.AreEqual(4986, distancia);
        }
예제 #6
0
파일: Main.cs 프로젝트: davividal/disk-seek
        private void processaFilas_Click(object sender, EventArgs e)
        {
            if (fila.Text == "")
            {
                MessageBox.Show("Informe uma fila de processamento!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }

            grafico.Series.Clear();

            Algoritimos.Algoritimos alg1 = new Algoritimos.Sstf(maxCilindros.Value);
            Algoritimos.Algoritimos alg2 = new Algoritimos.Scan(maxCilindros.Value);
            Algoritimos.Algoritimos alg3 = new Algoritimos.Cscan(maxCilindros.Value);

            alg1.cilindroAnterior = cilindroAnterior.Value;
            alg1.cilindroAtual = cilindroAtual.Value;
            alg1.setSequencia(fila.Text);

            alg2.cilindroAnterior = cilindroAnterior.Value;
            alg2.cilindroAtual = cilindroAtual.Value;
            alg2.setSequencia(fila.Text);

            alg3.cilindroAnterior = cilindroAnterior.Value;
            alg3.cilindroAtual = cilindroAtual.Value;
            alg3.setSequencia(fila.Text);

            backgroundWorker1.RunWorkerAsync(alg1);
            backgroundWorker2.RunWorkerAsync(alg2);
            backgroundWorker3.RunWorkerAsync(alg3);

            sentidoLeitura.Text = alg1.getSentido();
        }