6. Sentencias repetitivas o bucles

Documentos relacionados
5. Sentencias selectivas o condicionales

7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz

Lección 3 Sentencias de control

Introducción a Java. Introducción a Java. Programación I

18. Interfaces Declaración de una interfaz

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

4. Operadores Operador asignación

ESTRUCTURAS DE CONTROL

Bloque II. Elementos del lenguaje de programación Java

12. Tipos de atributos

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

ESTRUCTURAS DE CONTROL

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Operadores de comparación

11. Algunas clases estándar de Java (II)

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

Estructura de datos y Programación

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Objetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Programación Estructurada. Sesión 4:Estructuras de control

Java. Introducción a la Programación Orientada a Objetos

8. Sentencia return y métodos

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

Curso de Java Introducción a la Programación I

Instrucciones de control

Operadores de comparación

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Andrés Donaciano Martínez Guillén -.- Fundamentos de programación -.andresmtzgwordpress.com

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Programación. Test Autoevaluación Tema 4

Fundamentos de programación

Es ambigua, ya que la división y la multiplicación tienen el mismo grado de precedencia, qué parte de la expresión se realiza primero?

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Codificación de Estructuras Repetitivas

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Estructuras de control

Operadores aritméticos

Los parámetros: son los campos que se comunican a los métodos de los objetos.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

TEMA 4. ESTRUCTURAS DE CONTROL

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

Java para programadores

ESTRUCTURAS REPETITIVAS EN PHP

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Tema 3. Estructuras de control y programación estructurada

Examen de Métodos de Programación Ingeniería Informática Primera Parte

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P de Ingeniería de Sistemas e Informática NETBEANS 7.0

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Sentencia for : Ejemplo de Uso

Guía - Taller # 2 (JAVA)

1. (1 punto) Dado el siguiente fragmento en Java:

Clase adicional 2. Estructuras básicas de control. Temas

Estructuras de Control

Introducción a la. Programación con

Java para no Programadores

PRACTICA 9 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (PARTE II) Objetivos

TEMA 4: Programación estructurada

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Sentencia1 Sentencia2 Cuerpo del bucle

Estructuras en LabVIEW.

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Taller de Programación I. Tema 02: Programación en Java, estructuras iterativas y condicionales

Práctica #4: Uso de control de flujo

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

Estructuras de control repetitivas/iterativas

1.00 Clase 3. Tipos de datos en Java

Tema 6 Control de Flujo

Programación: Estructuras de Control

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Parte I: Programación en un lenguaje orientado a objetos

Tema 2. El lenguaje JAVA

Programación Estructurada

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Diferentes Perspectivas de un Ordenador

ESTRUCTURAS DE REPETICIÓN AREA PROGRAMACIÓN 1

a. Cuántas veces se ejecuta la instrucción System.out.println? b. Cuál es el diagrama de flujo correspondiente a este fragmento?

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Java para no Programadores

Instrucción de selección múltiple switch.

Programación en Lenguaje C

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Tema: Estructuras de Repetición en C# [While y Dowhile].

FUNDAMENTOS DE INFORMÁTICA

Ejercicios Básicos Iniciales para principiantes:

Al igual que las instrucciones alternativas, las instrucciones repetitivas también se pueden anidar, permitiendo las siguientes combinaciones de

Mientras (expresión lógica) Instrucciones a repetir mientras la expresión lógica es verdadera Fin Mientras

Transcripción:

Programación orientada a objetos con Java 71 6. Sentencias repetitivas o bucles Objetivos: a) Describir el funcionamiento de las sentencias iterativas o bucles (for, while y dowhile) b) Interpretar el resultado de una secuencia simple o combinada de sentencias de control c) Codificar una tarea sencilla convenientemente especificada, utilizando la secuencia y combinación de sentencias iterativas y condicionales Los bucles, iteraciones o sentencias repetitivas modifican el flujo secuencial de un programa permitiendo la ejecución reiterada de una sentencia o sentencias. En Java hay tres tipos diferentes de bucles: for, while y do-while. 6.1. Sentencia for Es un bucle o sentencia repetitiva que i) ejecuta la sentencia de inicio ii) verifica la expresión booleana de término. a. si es cierta, ejecuta la sentencia entre llaves y la sentencia de iteración para volver a verificar la expresión booleana de término b. si es falsa, sale del bucle. Figura 6.1. Flujograma de la sentencia for Sintaxis: for (inicio; termino; iteracion) sentencia;

72 A. García-Beltrán y J.M. Arranz o si se desean repetir varias sentencias: for (inicio; termino; iteracion) { sentencia_1; sentencia_2; sentencia_n; Las llaves sólo son necesarias si se quieren repetir varias sentencias, aunque se recomienda su uso porque facilita la lectura del código fuente y ayuda a evitar errores al modificarlo. Habitualmente, en la expresión lógica de término se verifica que la variable de control alcance un determinado valor. Por ejemplo: for (i = valor_inicial; i <= valor_final; i++) { sentencia; Es completamente legal en Java declarar una variable dentro de la cabecera de un bucle for. De esta forma la variable (local) sólo tiene ámbito dentro del bucle. Ejemplo sencillo: System.out.println("Tabla de multiplicar del 5"); for (int i =0 ; i <= 10; i++) { System.out.println(5 + " * " + i + " = " + 5*i ); Salida por pantalla al ejecutar el código anterior: 5 * 0 = 0 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50 A continuación se muestra un ejemplo completo de un programa que visualiza la tabla de multiplicar del valor numérico entero introducido como parámetro de la línea de ejecución: * TablaProducto: Ejemplo de sentencia for * Visualiza la tabla de multiplicar del valor introducido * como parametro en la linea de comandos * A. Garcia-Beltran, 16 de marzo de 2004 public class TablaProducto { public static void main (String [] args) { int valor; valor = Integer.parseInt(args[0]); System.out.println("Tabla de multiplicar del numero " + valor); for (int i=1; i<=10; i++) { System.out.println(valor + " * " + i + " = " + valor*i );

Programación orientada a objetos con Java 73 Salida por pantalla al ejecutar: $>java TablaProducto 4 Tabla de multiplicar del numero 4 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 4 * 10 = 40 Puede incluirse un bucle for dentro de otro (bucles for anidados), por ejemplo: System.out.println("Tablas de multiplicar del 1, 2 y 3"); for (int i=1; i<=3; i++) { System.out.println("Tabla de multiplicar del " + i); for (int j=0; j<=10; j++) { System.out.println(j + " * " + i + " = " + j*i ); O como en el siguiente programa completo: * Doblefor: Ejemplo de sentencias for anidadas * Visualiza por pantalla una cadena que almacena * valores numericos enteros * A. Garcia-Beltran, 16 de marzo de 2004 public class Doblefor { public static void main (String [] args ) { String s=""; for (int i=0 ; i<10; i++) { s=s+i+" "; for (int j=0 ; j<10; j++) { s=s+" "+i+j; s=s+"\n"; System.out.println(s); Salida por pantalla al ejecutar: $>java DobleFor 0 00 01 02 03 04 05 06 07 08 09 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 29 3 30 31 32 33 34 35 36 37 38 39 4 40 41 42 43 44 45 46 47 48 49 5 50 51 52 53 54 55 56 57 58 59 6 60 61 62 63 64 65 66 67 68 69 7 70 71 72 73 74 75 76 77 78 79 8 80 81 82 83 84 85 86 87 88 89 9 90 91 92 93 94 95 96 97 98 99

74 A. García-Beltrán y J.M. Arranz Por otro lado, tanto la sentencia de inicio como la de iteración pueden componerse de varias sentencias separadas por comas. Por ejemplo: for (int i = 0, j = 10 ; i <= 10; i++, j--) { //... la anterior sentencia es equivalente a: int j = 10; for (int i = 0; i <= 10; i++) { //... j--; 6.2. Sentencia while Es un bucle o sentencia repetitiva con una condicion al principio. Se ejecuta una sentencia mientras sea cierta una condición. La sentencia puede que no se ejecute ni una sola vez. Sintaxis: [inicializacion;] while (expresionlogica) { sentencias; [iteracion;] Figura 6.2. Flujograma de la sentencia while Ejemplo de programa: * Ejemplo de sentencia while * Calcula cuantos años deben pasar para duplicar una cantidad * invertida a un determinado interes anual constante * A. Garcia-Beltran - marzo, 2004 public class Duplica { public static void main (String [] args) { double cantidadinicial=1;

Programación orientada a objetos con Java 75 double cantidad=cantidadinicial; double interes=4; int anhos=0; while (cantidad < 2*cantidadInicial) { anhos++; cantidad += cantidad*interes/100; System.out.println("La cantidad inicial es = " + cantidadinicial); System.out.println("El interes es = " + interes); System.out.println("La cantidad final es = " + cantidad); System.out.println("El numero de años es = " + anhos); Ejemplo de ejecución y salida correspondiente por pantalla: $>java Duplica La cantidad inicial es = 1.0 El interes es = 4.0 La cantidad final es = 2.025816515378531 El numero de años es = 18.0 Por convención: El carácter de llave de apertura { se coloca al final de la misma línea de la sentencia while. El carácter de llave de cierre empieza una nueva línea y se alinea con la palabra while. Otro ejemplo de programa que emplea la sentencia while * Ejemplo de sentencia while * Visualiza los argumentos de la linea de comandos * A. Garcia-Beltran - marzo, 2004 public class Eco { public static void main (String [] args ) { int i=0; // Inicializa la variable de control while (i < args.length) { // Mientras quede algun argumento System.out.print(args[i] + " "); // Visualiza el argumento i-esimo i++; // Incrementa la variable de control System.out.println(); // Salto de linea Ejemplo de ejecución y salida correspondiente por pantalla: $>java Eco Esto es una prueba Esto es una prueba Se recuerda que el vector args contiene todos los parámetros o argumentos indicados en la línea de comandos. El primer elemento de este vector es args[0]. El tamaño del vector puede determinarse añadiendo.length a su identificador. Como el índice del primer elemento del vector es 0, si el tamaño del vector es n, entonces el último elemento del vector tiene índice n-1. En el ejemplo anterior de ejecución del programa eco, args[0] toma como valor la cadena "Esto", args[1] vale "es", args[2] vale "una" y args[3] vale "prueba".

76 A. García-Beltrán y J.M. Arranz 6.3. Sentencia do-while Es un bucle o sentencia repetitiva con una condicion al final. Se ejecuta una sentencia mientras sea cierta una condición. En este caso, la sentencia se ejecuta al menos una vez. Figura 6.3. Flujograma de la sentencia do/while Sintaxis: do { sentencias; [iteracion;] while (expresionlogica); Ejemplo de programa: * Ejemplo de sentencia do-while * Calcula cuantos años deben pasar para duplicar una cantidad * invertida a un determinado interes anual constante * A. Garcia-Beltran - marzo, 2004 public class Duplica2 { public static void main (String [] args) { double cantidadinicial=1; double cantidad=cantidadinicial; double interes=5; int anhos=0; do { anhos++; cantidad += cantidad*interes/100; while (cantidad < 2*cantidadInicial); System.out.println("La cantidad inicial es = " + cantidadinicial); System.out.println("El interes es = " + interes); System.out.println("La cantidad final es = " + cantidad); System.out.println("El numero de años es = " + anhos); Ejemplo de ejecución y salida correspondiente por pantalla:

Programación orientada a objetos con Java 77 $>java Duplica2 La cantidad inicial es = 1.0 El interes es = 5.0 La cantidad final es = 2.0789281794113683 El numero de años es = 15.0