Evento Docente Universida del Mar

Clase Algoritmo por Prioridades

import java.util.Arrays;
import java.util.Vector;

public class Prioridades {
/*ESTA CLASE RECIBE UN VECTOR CON TODOS LOS DATOS QUE SE NECESITAN PARA
EMPEZAR A EJECUTAR EL ALGORITMO, EN ESTE SE EVALUAN LAS PRIORIDADES
QUE SE LE ASIGNARON A LOS PROCESOS, Y EJECUTA EL PROCESO DE MAYOR PRIORIDAD =1*/
Vector VectorProcesos;
private int DoubleTiempoEspera;
private double DoubleTiempoEspera1;
Arrays vector;
private int vectoraux[];
private int NumeroProceso[];
private int VectorPrioridad[];
private String ProcesosNombres[];
/*EN EL CONTRUCTOR SE RECIBE EL VECTOR CON TODOS LOS DATOS DE LOS PROCESOS*/
public Prioridades(Vector VectorProcesos){
this.VectorProcesos = VectorProcesos;
vectoraux=new int[VectorProcesos.size()];
NumeroProceso=new int[VectorProcesos.size()];
VectorPrioridad=new int[VectorProcesos.size()];
ProcesosNombres=new String[VectorProcesos.size()];
}
/*EN ESTA PARTE SE CALCULA EL TIEMPO PROMEDIO DE ESPERA DEL ALGORTIMO*/
public void getTiempoEsperaPromedio(){
int i=0;
for (i=0;i vectoraux[i]=((Procesos)VectorProcesos.elementAt(i)).getIntTiempoRafaga();
VectorPrioridad[i]=((Procesos)VectorProcesos.elementAt(i)).getIntPrioridad();
ProcesosNombres[i]=((Procesos)VectorProcesos.elementAt(i)).getStringNombre();
NumeroProceso[i]=((Procesos)VectorProcesos.elementAt(i)).getIntTiempoLlegada()+1;
}
ordena(); /*ordenando los procesos*/
for (i=0;i System.out.println(ProcesosNombres[i]+">>"+vectoraux[i]+">>"+VectorPrioridad[i]);
}

DoubleTiempoEspera=vectoraux[0];
for (i=1;i DoubleTiempoEspera+=vectoraux[i];
vectoraux[i]=DoubleTiempoEspera;
}

DoubleTiempoEspera1=0;
for (i=0;i DoubleTiempoEspera1+=vectoraux[i];
}

DoubleTiempoEspera1=DoubleTiempoEspera1/VectorProcesos.size();
System.out.println(DoubleTiempoEspera1);
}

public void ordena(){
int aux,aux2,aux3,k,i;
String aux1;

for(i=1;i aux =VectorPrioridad[i];
aux2=vectoraux[i];
aux1= ProcesosNombres[i];
aux3=NumeroProceso[i];
k=i-1;
while (k >= 0 && aux < VectorPrioridad[k]){
vectoraux[k+1] = vectoraux[k];
ProcesosNombres[k+1]=ProcesosNombres[k];
VectorPrioridad[k+1]=VectorPrioridad[k];
NumeroProceso[k+1]=NumeroProceso[k];
k=k-1;
}
vectoraux[k+1] = aux2;
VectorPrioridad[k+1]=aux;
ProcesosNombres[k+1]=aux1;
NumeroProceso[k+1]=aux3;
}
}

public int[] getValores(){
return vectoraux;
}
/*DEVULEVE LOS NOMBRES DE LOS PROCESOS*/
public String []getNombre(){
return ProcesosNombres;
}
/*DEVUELVE LOS NUMEROS DE PROCESO*/
public int[] getNumeroProceso(){
return NumeroProceso;
}
/*DEVUELVE LOS RESULTADOS*/
public double imprimeResultado(){
return DoubleTiempoEspera1;
}

}

Tags:

1 comentarios:

luis dijo...

no corre, tienes algunos errores en los for! :C