La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.

Presentaciones similares


Presentación del tema: "0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo."— Transcripción de la presentación:

1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo de dos dimensiones Caso de estudio: Estación Meteorológica Dr. Luciano H. Tamargo http://cs.uns.edu.ar/~lt Depto. de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur, Bahía Blanca 2016

2 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 Introducción a la Programación Orientada a Objetos IPOO - 2016 2 TEMARIO Encapsulamiento. Caso de estudio: Estación Meteorológica.

3 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA El encapsulamiento es un mecanismo que permite esconder los detalles de la implementación de cada uno de los módulos que conforman un sistema, de modo que los demás módulos solo conozcan su funcionalidad y su comportamiento. Si cambian la implementación de un módulo, en tanto no se modifique la interfaz, el cambio no tendrá impacto en los módulos que lo usan. Se reducen así las dependencias entre diferentes unidades de software, de modo que estas son más fáciles de leer, verificar y modificar. Introducción a la Programación Orientada a Objetos IPOO - 2016 3

4 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA En Java cada clase es un módulo de software. Los modificadores de acceso definen el nivel de encapsulamiento dentro de una clase. Cada miembro de una clase que se declara privado queda escondido y no es visible fuera de la clase. Si cambia su representación, el cambio es transparente para el exterior. Cada miembro de una clase que se declara público es visible fuera de la clase y por lo tanto puede ser accedido. Si cambia la representación, el cambio puede afectar a las clases relacionadas. Introducción a la Programación Orientada a Objetos IPOO - 2016 4

5 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 Introducción a la Programación Orientada a Objetos IPOO - 2016 5 TEMARIO Encapsulamiento. Caso de estudio: Estación Meteorológica.

6 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Defina una clase TempMinMaxEst que encapsule la representación de las temperaturas mínimas y máximas registradas en una estación meteorológica y brinde operaciones para: – Contar en cuántos días heló. – Contar en cuántos días heló todo el día. – Retornar el mayor promedio (entre temperaturas mínima y máxima) registrado. – Decidir si algún día la amplitud térmica (diferencia entre la temperatura máxima y la mínima) fue de más de g grados. – Decidir si entre dos días consecutivos, la diferencias entre las temperaturas máximas o la diferencia entre las temperaturas mínimas, fue mayor que g. – Decidir si entre dos días consecutivos, la diferencia entre las amplitudes térmicas fue mayor que un cierto valor g. – Decidir si hubo n días consecutivos con amplitudes mayores a un valor g. Introducción a la Programación Orientada a Objetos IPOO - 2016 6 Establecer casos de prueba

7 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Introducción a la Programación Orientada a Objetos IPOO - 2016 7 TempMinMaxEst > real [] min real [] max > TempMinMaxEst(cant: entero) Crea una estructura para mantener las temperaturas mínimas y otra para las máximas, ambas con cant elementos inicializados en 0.

8 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Introducción a la Programación Orientada a Objetos IPOO - 2016 8 TempMinMaxEst > real [][] minmax > TempMinMaxEst(cant: entero) Crea una estructura para mantener las Temperaturas de cant días y las inicializa en 0. La primera fila mantiene las temperaturas mínimas, la segunda fila mantiene las temperaturas máximas

9 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA TempMinMaxEst > Registro [] minmax > TempMinMaxEst(cant: entero) Crea una estructura para mantener objetos con las temperaturas mínimas y máximas de un período de cant días. Las inicializa en 0. Registro > min: real max: real > Registro (mi,ma:real) > establecerMin (m:real) establecerMax(m:real) > obtenerMin():real obtenerMax():real promedio():real 9

10 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Responsabilidades Requiere maxima >= minima para cada día del período. El primer día se denota con la posición 1. La cantidad de días del período se define en el momento de la creación. Todos los elementos ya están ingresados cuando se ejecutan las consultas. Introducción a la Programación Orientada a Objetos IPOO - 2016 10

11 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA class TempMinMaxEst { private float [] max; private float [] min; /*Constructor Crea una estructura para mantener las temperaturas mínimas y otra para las máximas, ambas con cant elementos inicializados en 0.*/ public TempMinMaxEst(int cant) { max = new float[cant]; min = new float[cant]; }... } 11

12 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA class TempMinMaxEst { private float [] [] minmax; /*Constructor Crea una estructura para mantener las temperaturas de cant días y las inicializa en 0. La primera fila mantiene las temperaturas mínimas, la segunda fila mantiene las temperaturas máximas.*/ public TempMinMaxEst(int cant) { minmax = new float[2][cant]; }... } 12

13 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA class TempMinMaxEst { private Registro [] minmax; /*Constructor Crea una estructura para mantener objetos con las temperaturas mínimas y máximas de un período de cant días. Las inicializa en 0*/ public TempMinMaxEst (int cant){ minmax = new Registro [cant]; for (int dia = 0; dia < cant; dia++) minmax[dia] = new Registro(0,0); }... } 13

14 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 14 TempMinMaxEst > real [] min real [] max > TempMinMaxEst(cant: entero) > establecerTempMin(d:entero,t:real) establecerTempMax(d:entero,t:real) > obtenerTempMin(d: entero):real obtenerTempMax(d: entero):real canDias(): entero

15 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 15 TempMinMaxEst > real [] [] minmax > TempMinMaxEst(cant: entero) > establecerTempMin(d:entero,t:real) establecerTempMax(d:entero,t:real) > obtenerTempMin(d: entero):real obtenerTempMax(d: entero):real canDias(): entero

16 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 16 TempMinMaxEst > Registro [] minmax > TempMinMaxEst(cant: entero) > establecerTempMin(d:entero,t:real) establecerTempMax(d:entero,t:real) > obtenerTempMin(d: entero):real obtenerTempMax(d: entero):real canDias(): entero Registro > min: real max: real > Registro(mi, ma: real) > establecerMin(m:real) establecerMax(m:real) > obtenerMin():real obtenerMax():real promedioDia():real amplitudDia():real

17 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA private float [] max; private float [] min; … //Comandos y Consultas triviales // Requieren max >= min, 1<= d <= cantDias() public void establecerTempMin (int d, float m){ min[d-1] = m; } public void establecerTempMax (int d, float m){ max[d-1] = m; } public float obtenerTempMin (int d){ return min[d-1]; } public float obtenerTempMax (int d){ return max[d-1]; } 17

18 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA private float [] [] minmax; … //Comandos y Consultas triviales // Requieren max >= min, 1<= d <= cantDias() public void establecerTempMin (int d, float m){ minmax[0][d-1] = m; } public void establecerTempMax (int d,float m){ minmax[1][d-1] = m; } public float obtenerTempMin (int d){ return minmax[0][d-1]; } public float obtenerTempMax (int d){ return minmax[1][d-1]; } 18

19 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA private Registro [] minmax; … //Comandos y Consultas triviales // Requieren max >= min, 1<= d <= cantDias() public void establecerTempMin (int d, float m){ minmax[d-1].establecerMin(m); } public void establecerTempMax (int d,float m){ minmax[d-1].establecerMax(m); } public float obtenerTempMin (int d){ return minmax[d-1].obtenerMin(); } public float obtenerTempMax (int d){ return minmax[d-1].obtenerMax(); } 19

20 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA private float [] [] minmax; public int cantDias (){ return minmax[0].length; } private Registro [] minmax; public int cantDias (){ return minmax.length; } private float [] min; private float [] max; public int cantDias (){ return min.length; } Introducción a la Programación Orientada a Objetos IPOO - 2016 20

21 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 21 TempMinMaxEst > cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean La única modificación en el diseño son los atributos de instancia. Como los atributos están encapsulados, el cambio en la representación afecta la implementación de las operaciones, PERO NO A LAS CLASES CLIENTE.

22 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Introducción a la Programación Orientada a Objetos IPOO - 2016 22 Algoritmo cantHeladas DS contador inicializar el contador en 0 para cada día si heló incrementar el contador El algoritmo no depende de la estructura de datos

23 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo cantHeladas DS contador inicializar el contador en 0 para cada día si heló incrementar el contador public int cantHeladas(){ //Computa la cantidad de días en los que heló. int cant=0; for (int i=0;i<cantDias();i++) if (min[i]<=0) cant++; return cant; } class TempMinMaxEst { private float [] max; private float [] min; 23

24 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo cantHeladas DS contador inicializar el contador en 0 para cada día si heló incrementar el contador public int cantHeladas(){ //Computa la cantidad de días en los que heló. int cant=0; for (int i=0;i<cantDias();i++) if (minmax[i].obtenerMin()<=0) cant++; return cant; } class TempMinMaxEst { private Registro [] minmax; 24

25 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo cantHeladas DS contador inicializar el contador en 0 para cada día si heló incrementar el contador public int cantHeladas(){ //Computa la cantidad de días en los que heló. int cant=0; for (int i=0;i<cantDias();i++) if (minmax[0][i]<=0) cant++; return cant; } class TempMinMaxEst { private float [][] minmax; 25

26 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 26 TempMinMaxEst > cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean

27 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo heloTodo DS contador inicializar el contador en 0 para cada día si heló todo el día incrementar el contador public int heloTodo(){ /*Computa la cantidad de días en los que heló todo el día*/ int cant=0; for (int i=0;i<cantDias();i++) if (max[i]<=0) cant++; return cant; } private float [] max; private float [] min; 27

28 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo heloTodo DS contador inicializar el contador en 0 para cada día si heló todo el día incrementar el contador public int heloTodo(){ /*Computa la cantidad de días en los que heló todo el día*/ int cant=0; for (int i=0;i<cantDias();i++) if (minmax[i].obtenerMax()<=0) cant++; return cant; } private Registro [] minmax; 28

29 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo heloTodo DS contador inicializar el contador en 0 para cada día si heló todo el día incrementar el contador public int heloTodo(){ /*Computa la cantidad de días en los que heló todo el día*/ int cant=0; for (int i=0;i<cantDias();i++) if (minmax[1][i]<=0) cant++; return cant; } private float [][] minmax; 29

30 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 30 TempMinMaxEst > cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean

31 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo mayorPromedio DS mayor mayor  calcula el promedio del primer día para cada día a partir del segundo promedio  promedio del día si promedio > mayor mayor  promedio del día public float mayorPromedio(){ /*Computa el mayor promedio entre la máxima y la mínima diaria*/ } 31

32 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo amplitudMayor DE g para cada día del período y mientras no se verifica la propiedad si la amplitud térmica del día fue mayor a g se verifica la propiedad public boolean amplitudMayor(float g){ /*Decide si algún día la amplitud térmica (diferencia entre la temperatura máxima y la mínima) fue de más de g grados*/. … } 32

33 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo minmaxSigMayor DE g para cada día del período menos el último y mientras no se verifica la propiedad si la diferencia con la máxima del dia siguiente es mayor a g O la diferencia con la mínima del dia siguiente es mayor a g Se verifica la propiedad public boolean minmaxSigMayor(float g){ /*Decidir si entre dos días consecutivos, la diferencias entre las temperaturas máximas o la diferencia entre las temperaturas mínimas, fue mayor que g.*/ … } 33

34 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo amplitudSigMayor DE g para cada día del período, menos el último y mientras no se verifica la propiedad si la diferencia entre la amplitud del día y la amplitud del dia siguiente es mayor a g Se verifica la propiedad public boolean amplitudSigMayor(float g){ /*Decidir si entre dos días consecutivos, la diferencia entre las amplitudes térmicas fue mayor que un cierto valor g*/ … } 34

35 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo mayorPromedio DS mayor mayor  calcula el promedio del primer día para cada día a partir del segundo promedio  promedio del día si promedio > mayor mayor  promedio del día private float [] max; private float [] min; public float mayorPromedio(){ /*Computa el mayor promedio entre la máxima y la mínima diaria/* float mayor = promedioDia(0) ; for (int i=1;i<cantDias();i++) if (promedioDia(i) > mayor) mayor = promedioDia(i); return mayor; } Recorrido Exhaustivo

36 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo mayorPromedio DS mayor mayor  calcula el promedio del primer día para cada día a partir del segundo promedio  promedio del día si promedio > mayor mayor  promedio del día private float [] max; private float [] min; private float promedioDia(int d){ return (max[d]+min[d])/2; }

37 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 37 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g

38 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 38 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 12 g

39 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo amplitudMayor DE g para cada día del período y mientras no se verifica la propiedad si la amplitud térmica fue mayor a g se verifica la propiedad private float [] max; private float [] min; public boolean amplitudMayor(float g){ /*Decide si algún día la amplitud térmica (diferencia entre la temperatura máxima y la mínima) fue de más de g grados*/. boolean encontre=false; int i=0; while ((i<cantDias()) && (!encontre)) if (amplitudDia(i)>g) encontre=true; else i++; return encontre; } Recorrido No Exhaustivo

40 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA Algoritmo amplitudMayor DE g para cada día del período y mientras no se verifica la propiedad si la amplitud térmica fue mayor a g se verifica la propiedad private float [] max; private float [] min; private float amplitudDia(int d){ return MATH.abs(max[d]-min[d]); }

41 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA minmaxMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 41 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 8 g

42 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA minmaxMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 42 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 11.5 g

43 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA minmaxMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 43 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 12.5 g

44 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA minmaxMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 44 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 20 g

45 Algoritmo minmaxSigMayor DE g para cada día del período menos el último y mientras no se verifica la propiedad si la diferencia con la máxima del dia siguiente es mayor a g O la diferencia con la mínima del dia siguiente es mayor a g Se verifica la propiedad private float [] max; private float [] min; public boolean minmaxSigMayor(float g){ /*Decide si entre dos días consecutivos, la diferencias entre las temperaturas máximas o la diferencia entre las temperaturas mínimas, fue mayor que g.*/ boolean encontre=false; int i=0; while ((i<cantDias()-1) && (!encontre)) if (Math.abs(max[i]-max[i+1])>g) || Math.abs(min[i]-min[i+1])>g)) encontre=true; else i++; return encontre; }

46 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudSigMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 46 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 8 g

47 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudSigMayor Introducción a la Programación Orientada a Objetos IPOO - 2016 47 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 12 g

48 Algoritmo amplitudSigMayor DE g para cada día del período, menos el último y mientras no se verifica la propiedad si la diferencia entre la amplitud del día y la amplitud del dia siguiente es mayor a g Se verifica la propiedad private float [] max; private float [] min; public boolean amplitudSigMayor(float g){ /*Decide si entre dos días consecutivos, la diferencia entre las amplitudes térmicas fue mayor que un cierto valor g*/ boolean encontre=false; int i=0; while ((i<cantDias()-1) && (!encontre)) if (Math.abs(amplitudDia(i)-amplitudDia(i+1))>g) encontre=true; else i++; return encontre; }

49 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 49 TempMinMaxEst > cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean

50 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 50 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

51 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 51 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

52 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 52 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

53 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 53 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

54 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 54 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

55 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 55 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

56 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 56 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

57 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 57 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

58 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 58 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

59 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 59 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

60 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 60 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n

61 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 61 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 0 cont

62 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 62 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 1 cont

63 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 63 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 1 cont

64 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 64 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 2 cont

65 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 65 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 0 cont

66 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 66 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 0 cont

67 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 67 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 1 cont

68 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 68 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 2 cont

69 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 69 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 3 n 3 cont

70 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 70 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 4 n

71 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA amplitudNConsec Introducción a la Programación Orientada a Objetos IPOO - 2016 71 13757.5-210129.57.222179.512156 1002.0061.07.211103.0653 3765.511068.501176.56103 5.5 g 7 n

72 Algoritmo amplitudNConsec DE g,n cont  0 para cada día del período y mientras cont < n si la amplitud fue mayor a g cont  cont +1 sino cont  0 private float [] max; private float [] min; public boolean amplitudNConsec(float g, int n){ /*Decide si hubo n días consecutivos con amplitudes mayores a un valor g. */ int cont = 0; int i=0; while ((i<cantDias()) && cont < n){ if (amplitudDia(i)>g) cont++; else cont = 0; i++;} return cont==n; }

73 Algoritmo amplitudNConsec DE g,n cont  0 para cada día del período y mientras cont < n si la amplitud del día fue mayor a g cont  cont +1 sino cont  0 public boolean amplitudNConsec(float g,int n){ /*Decide si hubo n días consecutivos con amplitudes mayores a un valor g. */ … }

74 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 74 TempMinMaxEst > Registro [] minmax > TempMinMaxEst(cant: entero) … cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean Registro > min: real max: real > Registro(mi, ma: real) > establecerMin(m:real) establecerMax(m:real) > obtenerMin():real obtenerMax():real promedioDia():real amplitudDia():real

75 Algoritmo mayorPromedio DS mayor mayor  calcula el promedio del primer día para cada día a partir del segundo promedio  promedio del día si promedio > mayor mayor  promedio del día private Registro [] minmax; public float mayorPromedio(){ //Calcula el mayor promedio del período float mayor = minmax[0].promedioDia(); float m; for (int i=1;i<cantDias();i++){ m= minmax[i].promedioDia(); if (m > mayor) mayor = m; } return mayor; }

76 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 76 TempMinMaxEst > float [] [] minmax > TempMinMaxEst(cant: entero) … cantHeladas():entero heloTodo(): entero mayorPromedio () : real amplitudMayor(g:real) : boolean minmaxSigMayor (g:real):boolean amplitudSigMayor(g:real):boolean amplitudNConsec(g:real):boolean

77 Algoritmo mayorPromedio DS mayor mayor  calcula el promedio del primer día para cada día a partir del segundo promedio  promedio del día si promedio > mayor mayor  promedio del día private float [][] minmax; public float mayorPromedio(){ //Calcular el mayor promedio del período float mayor = promedioDia(0) ; float m; for (int i=1;i<cantDias();i++){ m = promedioDia(i) ; if (m > mayor) mayor = m; } return mayor; } private float promedioDia(int d){ return minmax[0][d]+minmax[1][d])/2; }

78 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA max 5 length est min 5 length est=new TempMinMaxEst(5); private float [] max; private float [] min; public TempMinMaxEst(int cant) { max = new float[cant]; min = new float[cant]; } 78

79 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA est minmax 5 length est=new TempMinMaxEst(5); private Registro [] minmax; public TempMinMaxEst (int cant){ minmax = new Registro [cant]; for (int dia = 0;dia < dias;dia++) minmax[dia] = new Registro(0,0); } 79

80 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA 3 length est minmax 3 length est=new TempMinMaxEst(3); private float [] [] minmax; public TempMinMaxEst(int cant) { minmax= new float[2][cant]; } 2 length 80

81 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA class TestTempMinMaxEst { static TempMinMaxEst est; public static void main(String[] args) { int cantD =0; cantD = leerCantDias () ; est=new TempMinMaxEst(cant); leerTempEst(cantD) ; System.out.println("Muestra la estación "); mostrarTempEst(cantD) ; System.out.println("La cantidad de heladas es " + est.cantHeladas() ); } … } 81

82 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA public static int leerCantDias() { int cant; do{ System.out.println("Ingrese la cantidad de días "); cant=ES.leerEntero(); } while (cant <= 0); return cant; } 82 Introducción a la Programación Orientada a Objetos IPOO - 2016

83 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA public static void leerTempEst(int cant) { float max,min ; for (int i=0;i< cant;i++){ System.out.println("Ingrese …. "+i); do { max = ES.leerFloat(); min = ES.leerFloat(); if (max < min) … while (max < min); } est.establecerTempMin (i,min) ; est.establecerTempNax (i,max) ; } 83

84 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 CASO DE ESTUDIO: ESTACIÓN METEOROLÓGICA public static void mostrarTempMinEst (int cant){ for (int i=0;i< cant; i++){ System.out.println(" min "+est.obtenerTempMin(i) ); System.out.println(" max "+est.obtenerTempMax(i) ); } 84 La clase Cliente no conoce la estructura de datos porque está encapsulada, los cambios en la representación de los atributos no afectan a TestTempMinMaxEst Introducción a la Programación Orientada a Objetos IPOO - 2016


Descargar ppt "0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 11 1 0 1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo."

Presentaciones similares


Anuncios Google