Title | Ay P1 - Ejercicios - 10 - Arreglos multidimensionales |
---|---|
Author | Franco Pietrafesa |
Course | Protección contra incendios |
Institution | Universidad Nacional de Tres de Febrero |
Pages | 3 |
File Size | 79.3 KB |
File Type | |
Total Downloads | 16 |
Total Views | 174 |
Download Ay P1 - Ejercicios - 10 - Arreglos multidimensionales PDF
Algoritmos y Programación 1 UNTREF
Guía de Ejercicios 10 Arreglos Multidimensionales 1. Implementar la clase AnalizadorDeMatrices , con sus respectivas pruebas unitarias, a partir de la siguiente interfaz: public class AnalizadorDeMatrices { /** * post: devuelve la cantidad de elementos de ‘matriz’ que * tenga al menos un valor 0. */ public int contarCeros( double [][] matriz) }
Ejemplos de casos de prueba: public classPruebaAnalizadorDeMatrices { privateAnalizadorDeMatrices analizador = newAnalizadorDeMatrices(); @Test public void contarCerosEnUnaMatrizDe4Por3QueNoTieneCeros() { double [][] matriz = { { 5.0, 3.5, 2.4 }, { 2.1, -9.2, 5.1 }, { 2.3, 7.9, -2.3 }, { 1.0, 6.1, -8.5 } }; Assert.assertEquals(0, analizador.contarCeros(matriz)); } @Test public void contarCerosEnUnaMatrizDe2Por4QueTiene3Ceros() { double [][] matriz = { { 2.0, 0.0, 3.4, 0.0 }, { 0.0, 5.7, -2.3, 9.8 }, }; Assert.assertEquals(3, analizador.contarCeros(matriz)); } @Test public void contarCerosEnUnaMatrizDe1Por1QueNoTieneCeros() { double [][] matriz = { { 1.6 }, }; Assert.assertEquals(0, analizador.contarCeros(matriz)); } }
Algoritmos y Programación 1 UNTREF 2. Agregar a la clase AnalizadorDeMatricesel siguiente método, con sus respectivas pruebas: /** * post: devuelve la cantidad de elementos de ‘matriz’ cuyo valor * esté en el rango [‘desde’, ‘hasta’]. */ public int c ontarElementosEnElRango( double [][] matriz, doubledesde, doublehasta)
3. Agregar a la clase AnalizadorDeMatricesel siguiente método, con sus respectivas pruebas:
/** * post: devuelve la cantidad de columnas de ‘matriz’ que tenga * al menos un valor 0. */ public int c ontarColumnasConCeros( double [][] matriz)
4. Agregar a la clase AnalizadorDeMatricesel siguiente método, con sus respectivas pruebas:
/** * post: devuelve la cantidad de filas de ‘matriz’ que tenga * al menos un valor 0. */ public int c ontarFilasConCeros( double [][] matriz)
5. Agregar a la clase AnalizadorDeMatricesel siguiente método, con sus respectivas pruebas:
/* post: indica si la matriz es cuadrada y tiene unos en la diagonal * principal y ceros en el resto. */ public boolean e sMatrizIdentidad ( double [][] matriz)
6. Agregar a la clase AnalizadorDeMatricesel siguiente método, con sus respectivas pruebas:
/** * post: devuelve un arreglo (con tantos elementos como filas tiene * 'matriz') que tiene en cada posición el promedio de una fila del * arreglo 'matriz'. */ public double [] promediarFilas( double [][] matriz)
Ejemplo de caso de prueba:
Algoritmos y Programación 1 UNTREF @Test public void p romediarFilasEnUnaMatrizDe2Por4() { d ouble [][] matriz = { { 6.0, 5.0, 4.0, 3.0 }, { 8.0, 7.0, 7.0, 8.0 } }; d ouble [] promedios = analizador.promediarFilas(matriz); d ouble [] promediosEsperados = { 4.5, 7.5 }; Assert.assertArrayEquals(promediosEsperados, promedios, 0.001); }
7. Por cada metro cuadrado de un terreno rectangular se toman muestras de la humedad del suelo (0.0 a 100.0%). Diseñar e implementar la clase MapaDeHumedadtal que ●
Se construya a partir de las dimensiones del terreno.
●
Almacene las muestras de humedad.
●
Calcule la humedad promedio del terreno.
●
Busque el mínimo y máximo valor de humedad.
8. Agregar a la clase MapaDeHumedadoperaciones que permitan: ●
Calcular el promedio de humedad del contorno del terreno.
●
Contar la cantidad de muestras que se encuentran en un rango de valores indicados.
●
Reemplazar el valor de una muestra por el promedio de valores contiguos.
●
Reemplazar el valor de las muestras cuyo valor está fuera del rango [0.0, 100.0] por el promedio de los valores contiguos....