Semana 4

Filmina 1

Ciclos anidados

Los ciclos anidados sirven para introducir uno o más ciclos dentro de otros, así un ciclo anidado comienza a leerse desde afuera hacia adentro, y por lo general se pueden incluir distintos tipos de ciclos según sea necesario y también   pueden repetirse, por lo tanto  el ciclo mas externo se repetirá hasta que sus ciclos interiores se hayan concluido.

Filmina 2

Método Encajados

El método "Encajados",  implementa una rutina de programación que toma todos los valores de un vector con "n" valores y los compara con otro de "x" valores y compara el tamaño de estos, tomando el mas pequeño como base de comparación. Luego compara la posición "i" de uno con la del otro, y si estas tienen el mismo valor devuelve la adición de 1 a la variable "encajados"  y así para todos los campos del vector a comparar.
( 0, 1, 2, 3, 4 ) y (0, 2, 3, 4, 1 )
El "0" esta encajado y todos los demás corridos.
Encajados: 1

Filmina 3

El método corridos

El método corridos, implementa un argumento que compara al valor del vector de comparación en su posición "i" con la posición "i" del otro vector y si estos son iguales  no pasara nada pues este sería el caso para el método anterior, mas si son distintos busca en las demás posiciones para ver si esta el valor pero en una posición corrida y cuantas veces lo haces.
Ejemplo:
(0, 0, 2, 3, 4) y (0, 2, 3, 4, 1)
El "0" esta encajado una vez y corrido una vez, todos los demás están corridos.
Encajados: 1
Corridos: 4

Filmina 4

Test encajados

Son pruebas del tipo "asser true" que revisan la implementación del método encajados y corridos, con todas las posibles situaciones diferentes que se podrían presentar a la hora de correr el programa.

Ejemplo:
public void testEncajados() {
        int res[] = { -1 , -2 };   assertTrue( res[EXACTO] == -1 && res[CORRIDO] == -2 );
        boolean encajados = false; assertTrue( ! encajados  );

        encajados = Encajados.estanEncajados(A0123,A0123, res);
    //  System.out.print( (A0123.length) + " " +(res[EXACTO]) + " " + (res[CORRIDO]) );
        assertTrue( encajados && (res[EXACTO] == 4) && (res[CORRIDO] == 0) );
        assertTrue( res[EXACTO] != -1 && res[CORRIDO] != -2 );
        assertTrue( res[CORRIDO] == 0 && res[EXACTO]  ==  4 );
        assertTrue( res[EXACTO] !=  0 && res[EXACTO]  !=  3 && res[EXACTO] != 5 );
}

Tomado de :
http://www.di-mare.com/pub/Pg1-T3/TestEncajados.java.txt

Filmina 5

Test por encima

Son pruebas del tipo "asser true" que revisan cuantos valores están por encima del valor del medio.

Ejemplo:
    /** test -> {@code Encajados.porEncima()}. */
    public void testPorEncima() {
        assertTrue( Encajados.porEncima( V1234567, 0 ) == 7 );
        assertTrue( Encajados.porEncima( V1234567, 1 ) == 6 );
        assertTrue( Encajados.porEncima( V1234567, 2 ) == 5 );
}

Tomado de :
http://www.di-mare.com/pub/Pg1-T3/TestEncajados.java.txt

Filmina 6

Test por debajo

Son pruebas del tipo "asser true" que revisan cuantos valores están debajo del valor del medio.

Ejemplo:
/** test -> {@code Encajados.porDebajo()}. */
    public void testPorDebajo() {
        assertTrue( Encajados.porDebajo( V1234567, 0 ) == 0 );
        assertTrue( Encajados.porDebajo( V1234567, 1 ) == 0 );
        assertTrue( Encajados.porDebajo( V1234567, 2 ) == 1 );
        assertTrue( Encajados.porDebajo( V1234567, 3 ) == 2 );
}

Tomado de :
http://www.di-mare.com/pub/Pg1-T3/TestEncajados.java.txt

Filmina 7

Test eldelmedio

Son pruebas del tipo "asser true" que revisan el tamaño del vector mínimo entre los de comparación y toman su valor del medio.

Ejemplo:
   /** test -> {@code Encajados.elDelMedio()}. */
    public void testElDelMedio() {
        assertTrue( Encajados.elDelMedio( V1234567 ) == 3 );
        assertTrue( V1234567[ Encajados.elDelMedio(V1234567) ] == 4 );
        assertTrue( Encajados.elDelMedio( V0101010 ) == V0101010.length );
    }

Tomado de :
http://www.di-mare.com/pub/Pg1-T3/TestEncajados.java.txt

Filmina 8

Bibliografía

Deitel, P., & Deitel, H. (2012). Java, como programar (Novena ed.). Mexico: Pearson Education.
Ejercicios recomendados
Cap. 4: Ejercicios de auto evaluación, 4.1-4.9.

Wu, T. (2008). Programacion en Java. Mexico: Mc Graw Hill.


Adolfo Di-mare Profesor principios de informática


Ejercicios recomendados:  http://www.di-mare.com/pub/Pg1-T3/Lab03.java.txt



No hay comentarios:

Publicar un comentario