Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Estructuras de Control
Corina Flores Villarroel UMSS - Programa MEMI Corina Flores V Programa MEMI
2
Introducción Recordemos … Un programa se define:
1. Bloque de declaraciones Su misión consiste en indicar al procesador que reserve espacio en la memoria para una constante, variable u objeto del programa, indicando asimismo su tipo y nombre. “Secuencia de instrucciones lógicamente ordenadas que pueden ser ejecutadas en una computadora”. Corina Flores V Programa MEMI
3
Introducción Recordemos … Un programa se define:
2. Bloque de instrucciones Constituído por un conjunto de operaciones y la secuencia de instrucciones que se han de realizar para la obtención de los resultados deseados. Dentro de éste bloque se diferencian tres partes fundamentales: “Secuencia de instrucciones lógicamente ordenadas que pueden ser ejecutadas en una computadora”. Entrada de datos: instrucciones que toman datos de un dispositivo externo. (b) Proceso: instrucciones que modifican/procesan los datos. (c) Salida de resultados: instrucciones que toman los datos finales de la memoria central y los envía a dispositivos externos. Corina Flores V Programa MEMI
4
Introducción Recordemos …
Esto nos dá la idea de que las instrucciones estan ordenadas de tal manera que una está a continuación de la otra. Corina Flores V Programa MEMI
5
Introducción Lo que significa …
Pensar en un sentido muy restringido, ya que obligan a mantener una secuencia para su ejecución. Sin embargo, … también hay necesidad de que durante la ejecución del programa el orden de ejecución de las instrucciones sean alteradas. Corina Flores V Programa MEMI
6
Estructuras de Control
Las estructuras de control tienen una finalidad bastante definida: señalar el orden en que tienen que sucederse o ejecutarse los pasos de un algoritmo o instrucciones en un programa. Existen: Secuenciales, Pueden ser de: Selección e Iterativas Corina Flores V Programa MEMI
7
Secuenciales Como ya se había indicado … son estructuras que obedecen la linealidad, es decir, no admiten saltos A la ejecución de una instrucción le sigue otra o la siguiente instrucción y así sucesivamente. Mantiene la secuencia de acciones en el orden en el que aparecen las instrucciones. Corina Flores V Programa MEMI
8
Secuenciales … ejemplo
public class Secuencial { public static void main(String [] args) int x; int y; x = 10; y = 2; x = x - y; y = x/4; System.out.println("El valor de x es = " + x); System.out.println("El valor de y es = " + y); } int x; int y; x = 10; . System.out Corina Flores V Programa MEMI
9
Otras estructuras … Pero … no necesariemente todos los programas pueden ejecutarse de esta forma secuencial, hay necesidad de variar el flujo de control de un programa ya sea para … Tomar decisiones (Selección) y/o Repetir un conjunto de instrucciones (Iteración) Corina Flores V Programa MEMI
10
Selección La sentencia de selección IF, permite tomar decisiones en base a una condición lógica. Luego decide qué sucederá en función al resultado. A esta sentencia también se conoce como: Selección Condicional De decisión Corina Flores V Programa MEMI
11
Selección Por ejemplo, si un programa muestra un mensaje en la pantalla que pregunta al usuario ”¿Desea seguir adelante?”, obviamente, de la respuesta del usuario dependerá la siguiente acción del programa. El programador debe escribir el código para las dos posibilidades (sí y no), aunque cuando el programa esté funcionando, sólo se elegirá una. Corina Flores V Programa MEMI
12
Selección La sentencia IF, se puede emplear de diferentes maneras:
A) Simple B) Concatenada C) Anidada Corina Flores V Programa MEMI
13
Selección … simple (if)
if (condición) instrucción if (condición) { bloque } Condición, es una expresión booleana V cond int x; F Corina Flores V Programa MEMI
14
Selección … ejemplo public class Simple_if {
public static void main(String [] args) { int a, b; a = 10; b = 5; if (a > b) // if simple, con una instruccion System.out.println("** a es mayor que b ** "); if (a > b) { // if simple, con un bloque de instrucciones System.out.println("A es mayor que B "); System.out.println("El valor de A es = " + a); System.out.println("El valor de B es = " + b); } Corina Flores V Programa MEMI
15
Selección … simple (if)
Pero no siempre el resultado de la condición es verdadera, entonces hay necesidad de incluir la cláusula else en caso de que el resultado sea falso. Entonces podemos concatenar sentencias if Corina Flores V Programa MEMI
16
Selección … concatenación
if (condición) { bloque } else { F V cond Corina Flores V Programa MEMI
17
Secuenciales … ejemplo
public class Concatenacion_If { public static void main(String [] args) { int a, b; a = 1; b = 5; if (a > b) { // por Verdad a = a - b; System.out.println("El valor de A es = " + a); } else { // por Falso b = b*a; System.out.println("El valor de B es = " + b); Corina Flores V Programa MEMI
18
Selección … anidación F V cond F V cond F V cond if (condición1) {
bloque1 } else { bloque2 else { if (condición3) { bloque3 bloque4 cond F V cond F V cond Corina Flores V Programa MEMI
19
Selección … ejemplo public class Anidacion_If {
public static void main(String [] args) int edadJuan = 20; int edadJose = 18; if (edadJuan < edadJose) System.out.println("Juan es mas joven que Jose"); else if (edadJuan == edadJose) System.out.println("Juan tiene la misma edad que Jose"); System.out.println("Juan es mayor que Jose"); } Corina Flores V Programa MEMI
20
ERRORES Comunes Olvidar los () en la condición
Confundir el operador relación == con el de asignación = Colocar mal los if anidados No tener en cuenta el orden de precedencia de los operadores en la condición. Corina Flores V Programa MEMI
21
Condicional Switch Cuando en una condición existen diversas posibilidades nos vemos obligados a utilizar if anidados, lo que complica la realización y depuración del código. Para facilitar esta situación se tiene la condicional switch que permite definir un número ilimitado de ramas basadas en una misma condición. Corina Flores V Programa MEMI
22
Selección … concatenación
switch (condición) { case literal1: instrucciones; break; case literal2: … default bloque; } cond Caso1 Caso2 CasoN … Corina Flores V Programa MEMI
23
Condicional Switch La condición, puede ser una expresión, siendo ésta ya sea una fórmula, una variable, un valor El literal, se refiere a los valores explícitos que se pueden definir como: 100, a, - Corina Flores V Programa MEMI
24
switch … ejemplo public class Switch{
public static void main (String [] args) { char letra='p'; switch(letra) { case 'a': case 'A': System.out.println("Es la vocal a, que viene de Araña"); break; case 'e': case 'E': System.out.println("Es la vocal e, que viene de Elefante\n"); break; . . . default: System.out.println("Es una consonante\n"); } // switch } // main } Corina Flores V Programa MEMI
25
ERRORES Comunes En la Condicional se declaren tipos no permitidos (solo se permite char, int, byte, short) Omitir la sentencia break trae como consecuencia, ejecutar el siguiente case. Corina Flores V Programa MEMI
26
Iteración Existen dos tipos de estructuras de control que permiten realizar iteraciones o repetición de instrucciones. Estas son: Sentencia FOR Sentencia While Corina Flores V Programa MEMI
27
Sentencia while Nos permite repetir una serie de instrucciones mientras se cumpla la condición de continuidad. Es recomendable utilizar cuando no conocemos a priori (de antemano) el número de iteraciones que deseamos realizar. Corina Flores V Programa MEMI
28
Sentencia while Inicialización de variable de control;
while (condición) { bloque // actualizar variable de control } Variable de control, es la variable que sirve para llevar el control de las repeticiones. Inicializacion V cond bloque F Corina Flores V Programa MEMI
29
Sentencia while … ejemplo
public class Sentencia_While { public static void main(String [] args) int i = 20; System.out.println( " --- Lista de numeros pares en orden decreciente---"); while (i!= 0) System.out.println( " i = " +i); i = i - 2; } Corina Flores V Programa MEMI
30
ERRORES Comunes Olvidar actualizar la variable de control en el cuerpo de la sentencia while. Lo que genera un ciclo infinito Corina Flores V Programa MEMI
31
Sentencia For Cuando se desea ejecutar un grupo de instrucciones un número determinado de veces, es mejor utilizar la sentencia for. Corina Flores V Programa MEMI
32
Sentencia For V cond bloque F
for (inicialización; condición; expresión) { bloque } 1 2 4 3 V inicialización, de la variable de control condición, es la que determina si seguir o parar la repeticion expresión, es aquella en la que el valor de la variable de control se actualiza cond bloque F (Primera vez) Orden de ejecución: 1 2 3 4 Orden de ejecución: (Segunda vez) 2 3 4 Corina Flores V Programa MEMI
33
Sentencia for … ejemplo
public class Sentencia_for { public static void main(String [] args) System.out.println(" Genera una lista de valores multiplos de 5"); for (int i = 0; i <= 5; i++) System.out.print( " " +i*5); } Corina Flores V Programa MEMI
34
Equivalencia La sentencia for y while son equivalentes entre sí, esto significa que: una sentencia for puede ser representada también mediante una sentencia while y viceversa. Corina Flores V Programa MEMI
35
Equivalencia for (int j =10; j>1; j--) System.out.println(“ Valor de j : “); De forma equivalente se puede representar aplicando while int j =10; while (j>1) { System.out.println(“ Valor de j : “); j = j--; } Corina Flores V Programa MEMI
36
Sentencia for-each Para recorrer sobre colecciones
Hace un recorrido sobre todos los elementos que guarda la colección Corina Flores V Programa MEMI
37
Sentencia for-each public void mostrarForEach(){
import java.util.*; public class For_ForEach_Iterator_While { ArrayList<String> lista; public For_ForEach_Iterator_While() { lista = new ArrayList<String>(); } public void anadir(){ lista.add("Lunes"); lista.add("Martes"); lista.add("Miercoles"); lista.add("Jueves"); lista.add("Viernes"); lista.add("Sabado"); lista.add("Domingo"); } public void mostrarForEach(){ System.out.println("Listamos con ForEach"); for (String dia: lista) System.out.println("Dia: " + dia); } Corina Flores V Programa MEMI
38
Uso de Iterator Para recorrer sobre colecciones
Hace un recorrido sobre todos los elementos que guarda la colección Hace uso de while y de métodos como: hasNext y next Corina Flores V Programa MEMI
39
Uso de Iterator El ejemplo toma la colección de nombre lista detallada en el ejemplo anterior con for-each. public void mostrarIterator(){ System.out.println("Listamos con Iterator"); Iterator <String> it = lista.iterator(); while (it.hasNext()) { String dia = it.next(); System.out.println(dia); } Corina Flores V Programa MEMI
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.