lunes, 5 de noviembre de 2012

Reporte 1 Auto Ajuste de Parametros


Unidad 1: Algoritmos adaptativos

Replica el programa del ventilador

Se entrega el siguiente reporte de la unidad uno los siguientes puntos como requisitos y el código completo se puede encontrar aquí: Ventilador.java

El reporte consta de una replica de un ventilador en el lenguaje java, el ventilador consta de 3 niveles : BAJO, MEDIO, ALTO y TURBO para cada uno se le asigno un rango de posibles temperaturas que se pudiesen percibir dentro del lugar, el programa funciona mediante los siguientes argumentos:
temperatura exterior, temperatura interior*, personas. 
(*)No es necesario la temperatura interior ya que normalmente no sabemos cual es por ello el programa puede calcular la temperatura interior de acuerdo al numero de personas así como la temperatura exterior.

Muestra de corridas donde se vea el auto-ajuste




Muestra los fragmentos más importantes de código y explicación

En el siguiente codigo se muestran los atributos del programa con los que se podrá replicar un ventilador el programa necesita de los siguientes argumentos para poder funcionar:
java Ventilador [tempexterior][temp interior][#personas] o
java Ventilador [tempexterior]][#personas]
dentro del constructor se puede apreciar como se podra calcular la temperatura interior si esta no se conoce y tambien los atributos necesarios para el funcionamiento del programa.

private double temp;
    private double tempinterior;
    private int personas;
    private String estado = "APAGADO";//"ENCENDIDO"
    private String nivel = "NA";//"BAJO","MEDIO","ALTO","TURBO"
    public static final double tempcorporal = 37.00;
   
    public Ventilador(double tp,double ti,int p)
    {
 temp =tp;
 estado =(tp>26)?"ENCENDIDO":estado;
 tempinterior =(ti==0.0)? tp + ((Ventilador.tempcorporal / tp ) * p):ti;
 nivel="BAJO";
 personas =p;
    }
    public Ventilador(double tp, int p)    
    {
 new Ventilador(tp,0.0,p);
    }

En el siguiente fragmento se aprecian los metodos de aujustar y cambiarexterior en los que se muestra como se utilizan los atributos del Ventilador para poder realizar cambios al ambiente.
public void cambiarexterior()
    {
	Random r = new Random();
	double d = r.nextDouble();
	if(temp<48)
	    temp = (d > 0.3)? temp +(10*r.nextDouble()): temp - (10*r.nextDouble());
	else
	    temp = temp - (10*r.nextDouble());
    }
    
    public void ajustar()
    {
	Random r = new Random();
	double d = r.nextDouble();
	estado =(temp>26)?"ENCENDIDO":"APAGADO";
	//	System.out.println(toString());
	if(temp>26&&temp<30||personas==1)
	    {
		nivel="BAJO";
		tempinterior=(r.nextDouble() *24 + 20);
	    }
	else
	    {
		if(temp>26&&temp<35||personas==2)
		    {
			nivel="MEDIO";
			tempinterior=19;
		    }
		else
		    if(temp>26&&temp<40||personas==3)
			{
			    nivel="ALTO";
			    tempinterior=18;
			}
	    }
	if(temp>40||personas>3)
	    {
		nivel="TURBO";
		tempinterior=(r.nextDouble() *17 + 15);
	    }    
    }

No hay comentarios:

Publicar un comentario