Prctica 3 Estructuras de control selectivas Fundamentos de

  • Slides: 18
Download presentation
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas

Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2. 0. 2

Concepto de sentencia y estructura de control � El cuerpo de los métodos de

Concepto de sentencia y estructura de control � El cuerpo de los métodos de una clase está formado por una serie de unidades elementales: sentencias. � La sentencia más sencilla es una expresión. � Existen sentencias más complejas: las estructuras de control. � Sirven para romper el orden lineal de ejecución de las expresiones. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Conceptos auxiliares � Un bloque está formado por un conjunto de sentencias entre llaves

Conceptos auxiliares � Un bloque está formado por un conjunto de sentencias entre llaves (caracteres { }). � Dentro de un bloque puede haber declaraciones cuyo ámbito se extiende hasta el final del bloque. � Se entiende por ámbito de una variable la parte del código donde existe y puede ser usada. � Un bloque también es una sentencia. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Sentencia de control if-else (I) � Evalúa una condición y según sea cierta o

Sentencia de control if-else (I) � Evalúa una condición y según sea cierta o falsa ejecuta un bloque de sentencias determinado. if (condición) { sentencia-1; . . . sentencia-n; } else { sentencia-n+1; . . . sentencia-m; } PR 3: Estructura y funcionamiento de un programa Java: Repaso

Sentencia de control if-else (II) Cierto sentencia-1 sentencia-2. . . sentencia-n condición Falso sentencia-n+1

Sentencia de control if-else (II) Cierto sentencia-1 sentencia-2. . . sentencia-n condición Falso sentencia-n+1 sentencia-n+2. . . sentencia-m PR 3: Estructura y funcionamiento de un programa Java: Repaso

Ejemplo de uso /* Método que calcula el mínimo de dos enteros. */ public

Ejemplo de uso /* Método que calcula el mínimo de dos enteros. */ public static Integer minimo(Integer a, Integer b){ Integer r; if(a<=b){ r = a; }else{ r = b; } return r; } PR 3: Estructura y funcionamiento de un programa Java: Repaso

Sentencia de control switch (I) � Se utiliza para comparar una variable discreta con

Sentencia de control switch (I) � Se utiliza para comparar una variable discreta con una serie de valores diferentes. � Se indican los posibles valores que puede tomar la variable y las sentencias que se tienen que ejecutar si la variable coincide con alguno de dichos valores. � Es una sentencia muy indicada para comparar una variable de un tipo enumerado con cada uno de sus posibles valores. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Sentencia de control switch (II) Se ejecutan las sentencias del case cuyo valor es

Sentencia de control switch (II) Se ejecutan las sentencias del case cuyo valor es igual al de la variable. � Si el valor de la variable no coincide con ningún valor, entonces se ejecutan las sentencias definidas en default. � Muy importante el uso de break si se quiere seleccionar sólo una opción. � switch ( variable ){ case valor 1: sentencias; break; case valor 2: sentencias; break; . . . case valor. N: sentencias; break; default: sentencias; } PR 3: Estructura y funcionamiento de un programa Java: Repaso

Otras consideraciones � Cualquier estructura selectiva (estructura switch) se puede simular con múltiples if-else

Otras consideraciones � Cualquier estructura selectiva (estructura switch) se puede simular con múltiples if-else anidados. � Seleccionar switch si la legibilidad de los anidamientos if -else es reducida. � En una estructura if-else, la cláusula else es opcional: � En ese caso, si la condición es true, se ejecuta la siguiente línea de código del bloque if. � Cuando termina el bloque if o si la condición evaluó false, se ejecuta la siguiente línea de código del bloque principal. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Ejercicios � En este ejercicio vamos a desarrollar métodos estáticos dentro de una clase

Ejercicios � En este ejercicio vamos a desarrollar métodos estáticos dentro de una clase de nombre Enteros. La clase Enteros no contará ni con atributos, ni con métodos constructores debido a que es una clase de utilidades. � Añada a la clase Enteros los métodos estáticos: � public static Boolean esta. En. Intervalo. Cerrado(Integer a, Integer b, Integer x) devuelve true si x está en el intervalo cerrado [a, b] � public static Boolean esta. En. Intervalo. Abierto(Integer a, Integer b, Integer x) devuelve true si x está en el intervalo abierto (a, b) � Añada al método main de Test. Enteros el código necesario para probar los métodos, mostrando el resultado por pantalla. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Práctica 3 Estructura y funcionamiento de un programa Java: Repaso Fundamentos de Programación Departamento

Práctica 3 Estructura y funcionamiento de un programa Java: Repaso Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2. 0. 2

Nociones generales � Tipo: � conjunto de valores que una entidad puede tomar y

Nociones generales � Tipo: � conjunto de valores que una entidad puede tomar y las operaciones que podemos hacer con esos valores. � Objeto: � entidad básica en los LPOO encargada de modelar una parte de la realidad en un sistema informático. � Interfaz: � contrato sintáctico para un tipo de objeto. � Clase: elemento que define los detalles de un tipo objeto (estado interno, propiedades, …) � En algunos casos, se usa como contenedor para un conjunto de métodos de utilidades (métodos estáticos). � � Un programa en Java está formado por un conjunto de declaraciones de tipos enumerados, interfaces y clases. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Modos de un programa Java � Modo compilación � Permite escribir nuevas clases e

Modos de un programa Java � Modo compilación � Permite escribir nuevas clases e interfaces. � El entorno detecta si las expresiones que escribimos están bien formadas (compilador). � Si el entorno no detecta errores entonces el programa ha compilado bien y está listo para ser ejecutado. � Modo ejecución � Permite obtener los resultados de un programa que hemos escrito previamente. � Debe haber compilado con éxito previamente. � En el modo de ejecución pueden aparecer nuevos errores. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Pasos para definir un programa Java 1. 2. 3. 4. Identificar los objetos involucrados

Pasos para definir un programa Java 1. 2. 3. 4. Identificar los objetos involucrados para solucionar un problema. Definir las interfaces de cada tipo de objeto. Definir las clases que implementan las interfaces. Definir una clase con un método principal que solucione el problema usando las clases e interfaces previamente definidas. PR 3: Estructura y funcionamiento de un programa Java: Repaso

Definición de una interfaz � Establece cuáles son las propiedades de un objeto de

Definición de una interfaz � Establece cuáles son las propiedades de un objeto de un determinado tipo y qué se puede hacer con él. � No se preocupa de saber cómo se hace. � Formalmente una interfaz (interface) contiene las signaturas de los métodos. public interface Punto { Double get. X(); Double get. Y(); void set. X(Double x 1); void set. Y(Double y 1); } PR 3: Estructura y funcionamiento de un programa Java: Repaso

Definición de una clase (I) � Una clase es una entidad del lenguaje de

Definición de una clase (I) � Una clase es una entidad del lenguaje de programación que permite: � Definir los detalles del estado interno de un objeto (mediante los atributos). � Definir la manera de calcular las propiedades de los objetos a partir del estado interno. � Describir las funcionalidades ofrecidas por los objetos (a través de los métodos). PR 3: Estructura y funcionamiento de un programa Java: Repaso

Definición de una clase (II) public class Punto. Impl implements Punto { private Double

Definición de una clase (II) public class Punto. Impl implements Punto { private Double x; private Double y; public Punto. Impl (Double x 1, Double y 1) { x=x 1; y=y 1; } public Punto. Impl(){ x=0. ; y=0. ; } public Double get. X() { return x; } public Double get. Y() { return y; } public void set. X(Double x 1) { x=x 1; } public void set. Y(Double y 1) { y=y 1; } public String to. String() { String s="("+get. X()+", "+ get. Y()+")"; return s; } } PR 3: Estructura y funcionamiento de un programa Java: Repaso

Ejecutando un programa Java � Un programa Java empieza a funcionar por una clase

Ejecutando un programa Java � Un programa Java empieza a funcionar por una clase concreta que contenga un método main. package test; public class Test. Punto extends Test{ public static void main(String[ ] args) { Punto p= new Punto. Impl(2. 0, 3. 0); mostrar("Punto: ", p); p. set. X(3. 0); mostrar("Punto: ", p); p. set. Y(2. 0); mostrar("Punto: ", p); } } PR 3: Estructura y funcionamiento de un programa Java: Repaso