Estructuras De Control

19,146 views

Published on

Estructuras de Control

Published in: Education, Business, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
19,146
On SlideShare
0
From Embeds
0
Number of Embeds
72
Actions
Shares
0
Downloads
320
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Sena Regional Tolima
  • Estructuras De Control

    1. 1. Estructuras de Control. Por lo general, en un programa las instrucciones se ejecutan una después de otra en el orden en que están escritas. Este proceso se conoce con el nombre de ejecución secuencial . Varias instrucciones de Java permiten al programador especificar que la siguiente instrucción a ejecutarse tal ves no sea la siguiente en la secuencia. Esto se conoce como transferencia de control, entre estas estructuras se encuentran las ESTRUCTURAS SELECTIVAS Y LOS CICLOS REPETITIVOS.
    2. 2. Estructuras de Control. TOMA DE DECISIONES: Una condición es la comparación de una variable/constante/expresión-numerica contra otra variable/constante/expresión-numérica. A este tipo de condición se le llama condición simple. La condición simple utiliza los siguientes operadores de relación: Operadores Relacionales Los operadores relacionales que tiene Java son : Operador en Java Significado == Igual != Diferente < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que
    3. 3. Estructuras de Control. TOMA DE DECISIONES: Este estatuto sirve para realizar alguna(s) instrucción(es) en vez de otra(s) de acuerdo a alguna condición que resulte verdadera. Versión simple de la instrucción if de java, la cual permite que un programa tome una decisión, dependiendo de si una condición es verdadera o falsa. Decisión simple: si < Expresión_Lógica > entonces < acciones > fin_si instrucción if: if ( Expresion_Logica ){ acciones } SEUCOCODIGO JAVA
    4. 4. Estructuras de Control. Recuerden que cada línea de instrucción, siempre termina con un punto y coma (;), entonces cuando transcriban los siguientes códigos fuente, tengan en cuenta que deben de reorganizar las instrucciones: Ej: en el ejemplo que presento en la siguiente diapositiva debo colocarlo así por que no hay mas espacio strEdad = JOptionPane.showInputDialog(null,&quot;Ingrese la edad: &quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); Pero al transcribir a java toda esta expresión debe de quedar en una sola línea de código, por lo contrario el código generará error de compilación. ASI: strEdad=JOptionPane.showInputDialog(null,&quot;Ingrese la edad: &quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE);
    5. 5. Estructuras de Control. EJEMPLO: // Algoritmo que permite saber si una persona es mayor de edad import javax.swing.JOptionPane; class Primero{ public static void main ( String args[] ) { String strEdad; int edad; strEdad = JOptionPane.showInputDialog(null,&quot;Ingrese la edad: &quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); edad = Integer.parseInt( strEdad ); /* La clase JOptionPane, maneja parámetros como: * null: permite centrar la interfase en la pantalla * luego sigue el parámetro que se muestra por pantalla. * Entrada de Datos, es el nombre que va a recibir la interfase en su * barra de titulo. * JOptionPane.INFORMATION_DIALOG, es el tipo de icono que va * asumir la interfase */
    6. 6. Estructuras de Control. CONTINUACION EJEMPLO: if ( edad >= 18 ){ JOptionPane.showMessageDialog(null, &quot;Es mayor de edad&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } System.exit( 0 ); // Es un paquete que termina la aplicación con la ventana } // fin del metodo main } // fin de la clase Primero
    7. 7. Estructuras de Control. instrucción if: if ( Expresion_Logica){ Acciones } else{ Acciones } SEUCOCODIGO JAVA TOMA DE DECISIONES: Versión doble de la instrucción if de java. Decisión Doble: si < Expresión_Lógica > entonces < acciones1 > si_no < acciones2 > fin_si
    8. 8. Estructuras de Control. EJEMPLO: // Algoritmo que permite saber si una persona es mayor de edad import javax.swing.JOptionPane; public class Segundo{ public static void main ( String args[] ) { String strEdad; int edad; strEdad = JOptionPane.showInputDialog(null,&quot;Ingrese la edad: &quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); edad = Integer.parseInt( strEdad ); if ( edad >= 18 ){ JOptionPane.showMessageDialog(null, &quot;Es mayor de edad&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } else{ JOptionPane.showMessageDialog(null, &quot;Es menor de edad&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } System.exit( 0 ); } }
    9. 9. Estructuras de Control. SEUCOCODIGO TOMA DE DECISIONES: Versión múltiple de la instrucción if de java. <ul><li>Decisión Múltiple: si < Expresión_Lógica > entonces </li></ul><ul><li>< acciones1 > </li></ul><ul><li>si_no </li></ul><ul><li> si <Expresión_Lógica> entonces </li></ul><ul><li><acciones2> </li></ul><ul><li>si_no </li></ul><ul><li><acciones3> </li></ul><ul><li>fin_si </li></ul><ul><li> fin_si </li></ul>
    10. 10. Estructuras de Control. JAVA TOMA DE DECISIONES: Versión múltiple de la instrucción if de java. Decisión Múltiple: if ( Expresion_logica){ Acciones1 } else{ if (Expresion_Logica ){ Acciones2 } else { Acciones3 } }
    11. 11. Estructuras de Control. EJEMPLO: /* algoritmo que solicita los marcadores de dos equipos y permite saber *quien gano, perdió o si quedaron empatados. */ import javax.swing.JOptionPane; public class Tercero{ public static void main ( String args[] ) { String strGolLocal, strGolVisitante; int golLocal, golVisitante; strGolLocal = JOptionPane.showInputDialog(null,&quot;Ingrese el numero de goles del equipo local: &quot;,&quot;Entrada de datos&quot;, JOptionPane.INFORMATION_MESSAGE); golLocal = Integer.parseInt( strGolLocal ); strGolVisitante = JOptionPane.showInputDialog(null,&quot;Ingrese el numero de goles del equipo visitante: &quot;,&quot;Entrada de datos&quot;, JOptionPane.INFORMATION_MESSAGE); golVisitante = Integer.parseInt( strGolVisitante );
    12. 12. Estructuras de Control. EJEMPLO: if ( golLocal > golVisitante ){ JOptionPane.showMessageDialog(null, &quot;Gana el local&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } else{ if ( golVisitante > golLocal ){ JOptionPane.showMessageDialog(null,&quot;Gana el visitante&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null, &quot;Hubo empate&quot;, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); } } System.exit( 0 ); } }
    13. 13. Estructuras de Control. TOMA DE DECISIONES: Versión múltiple abreviada instrucción switch - case en java. Se utiliza para ejecutar acciones diferentes según el valor de una expresión o variable. Este estatuto sustituye al uso de if dentro de if, concepto conocido como if anidados. Consiste en una serie de etiquetas case y un case por omisión (default). La acción 1 se ejecuta si la variable adquiere el valor1. La acción 2 se ejecuta si la variable adquiere el valor 2. La acción n se ejecuta si la variable adquiere el valor n. Cualquier otro valor de la variable conduce a la realización de la secuencia accionD, indicada por la palabra reservada default. La secuencia default puede omitirse Estatuto break Cuando se encuentra una sentencia case que concuerda con el valor del switch se ejecutan las sentencias que le siguen y todas las demás a partir de ahí, a no ser que se introduzca una sentencia break para salir de la sentencia switch.
    14. 14. Estructuras de Control. SEUDOCOGIGO Decisión múltiple: según_sea < Expresión_Ordinal > hacer <lista_de_valores_ordinales>:< acciones > … [ si_no //El corchete indica opcionalidad <acciones>] fin_según TOMA DE DECISIONES: Versión múltiple abreviada instrucción switch - case en java.
    15. 15. Estructuras de Control. JAVA TOMA DE DECISIONES: Versión múltiple abreviada instrucción switch - case en java. switch ( opcion ) { case 1: break; case 2: break; case 3: break; case 4: break; default: break; }
    16. 16. Estructuras de Control. ESTRUCTURAS SELECTIVAS EJEMPLO: import javax.swing.JOptionPane; public class Cuarto{ public static void main ( String args[] ) { String strMensaje, strOpcion, strNum1, strNum2; int opcion, num1, num2, resultado; /* strMensaje es una variable de tipo String, a la cual le asigno la siguiente * cadena de caracteres o (mensaje). * permite realizar un salto de línea. */ strMensaje = &quot;1. Sumar &quot; + &quot;2. Restar &quot; + &quot;3. Multiplicar &quot; + &quot;4. Dividir &quot; + &quot;Ingrese opcion: &quot;; strOpcion = JOptionPane.showInputDialog(null,strMensaje,&quot;Entrada de datos&quot;, JOptionPane.INFORMATION_MESSAGE); opcion = Integer.parseInt ( strOpcion ); strNum1 = JOptionPane.showInputDialog(null,&quot;Ingrese el primer numero&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); num1 = Integer.parseInt ( strNum1 );
    17. 17. Estructuras de Control. EJEMPLO: strNum2 = JOptionPane.showInputDialog(null,&quot;Ingrese el segundo numero&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); num2 = Integer.parseInt ( strNum2 ); switch ( opcion ) { case 1: resultado = num1 + num2; JOptionPane.showMessageDialog( null, &quot;La suma es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; case 2: resultado = num1 - num2; JOptionPane.showMessageDialog( null, &quot;La resta es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; case 3: resultado = num1 * num2; JOptionPane.showMessageDialog( null, &quot;La multiplicación es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break;
    18. 18. Estructuras de Control. EJEMPLO: case 4: if ( num2 != 0 ){ resultado = num1 / num2; JOptionPane.showMessageDialog( null, &quot;La división es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog( null, &quot;No se puede dividir por cero&quot;, &quot;Resultados&quot;, JOptionPane.ERROR_MESSAGE); } break; default: JOptionPane.showMessageDialog( null, &quot;Opción no válida&quot;, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; } System.exit( 0 ); } }
    19. 19. Estructuras de Control. Una estructura repetitiva (también llamada estructura de ciclo) permite al programador especificar que un programa debe repetir una acción mientras cierta condición sea verdadera. En otras palabras se ejecuta la (s) instrucciones (s) mientras la condición es verdadera; al momento de ser falsa termina el ciclo. Si la condición es falsa la primera vez nunca se ejecuta (n) la (s) instrucciones (s).
    20. 20. Estructuras de Control. ESTRUCTURA REPETITIVA: while en java. Se realizan los estatutos y se verifica la condición, mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina SEUDOCODIGO Repetitivas: mientras < Expresión_Lógica > Hacer < acciones > fin_mientras while ( Expresion_Logica ){ Acciones } JAVA
    21. 21. Estructuras de Control. EJEMPLO import javax.swing.JOptionPane; public class Quinto{ public static void main ( String args[] ) { String strGasto; double gasto, suma = 0; strGasto = JOptionPane.showInputDialog(null,&quot;Ingrese el gasto. -1 para terminar&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); gasto = Double.parseDouble( strGasto ); while ( gasto != -1 ){ suma = suma + gasto; strGasto = JOptionPane.showInputDialog(null,&quot;Ingrese el gasto. -1 para terminar&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); gasto = Double.parseDouble( strGasto ); } JOptionPane.showMessageDialog(null, &quot;La suma de los gastos es &quot; + suma, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); System.exit( 0 ); } }
    22. 22. Estructuras de Control. ESTRUCTURA REPETITIVA: do - while en java. Si se requiere realizar más de una instrucción se deben utilizar llaves. Se realizan las instrucciones y se verifica la condición, mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina el ciclo. Dado que la condición se revisa al final del ciclo la (s) instrucción (es) se realizan al menos una vez a diferencia del while SEUDOCODIGO Repetitivas: repetir < acciones > hasta_que < Expresión_Lógica > do { Acciones } while ( Expresion_Logica ); JAVA
    23. 23. Estructuras de Control. EJEMPLO import javax.swing.JOptionPane; public class Sexto{ public static void main ( String args[] ) { String strMensaje, strOpcion, strNum1, strNum2, strContinuar; int opcion, num1, num2, resultado, continuar; do { strMensaje = &quot;1. Sumar &quot; + &quot;2. Restar &quot; + &quot;3. Multiplicar &quot; + &quot;4. Dividir &quot; + &quot;Ingrese opcion: &quot;; strOpcion = OptionPane.showInputDialog(null,strMensaje,&quot;Entrada de datos&quot;, JOptionPane.INFORMATION_MESSAGE); opcion = Integer.parseInt ( strOpcion );
    24. 24. Estructuras de Control. EJEMPLO strNum1 = JOptionPane.showInputDialog(null,&quot;Ingrese el primer numero&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); num1 = Integer.parseInt ( strNum1 ); strNum2 = JOptionPane.showInputDialog(null,&quot;Ingrese el segundo numero&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); num2 = Integer.parseInt ( strNum2 ); switch ( opcion ) { case 1: resultado = num1 + num2; JOptionPane.showMessageDialog( null, &quot;La suma es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; case 2: resultado = num1 - num2; JOptionPane.showMessageDialog( null, &quot;La resta es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break;
    25. 25. Estructuras de Control. EJEMPLO case 3: resultado = num1 * num2; JOptionPane.showMessageDialog( null, &quot;La multiplicación es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; case 4: if ( num2 != 0 ){ resultado = num1 / num2; JOptionPane.showMessageDialog( null, &quot;La división es: &quot; + resultado, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog( null, &quot;No se puede dividir por cero&quot;, &quot;Resultados&quot;, JOptionPane.ERROR_MESSAGE); } break; default: JOptionPane.showMessageDialog( null, &quot;Opción no válida&quot;, &quot;Resultados&quot;, JOptionPane.INFORMATION_MESSAGE); break; }
    26. 26. Estructuras de Control. EJEMPLO strContinuar = JOptionPane.showInputDialog(null,&quot;Desea continuar? 1 Para continuar 2 Para terminar&quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); continuar = Integer.parseInt( strContinuar ); } while ( continuar == 1 ); System.exit( 0 ); } }
    27. 27. Estructuras de Control. ESTRUCTURA REPETITIVA: for en java. Funcionamiento del For 1.Ejecuta el o los estatutos de inicialización 2.Evalúa la condición, si es verdadera entra al ciclo 3.Ejecuta el o los estatutos 4.Ejecuta la o las acciones y regresa al paso 2 Notas sobre el For • Las 3 partes del for son opcionales, si no se pone condición se toma como verdadero. • Si no se incluye la inicialización o condición, los ; deben de ir. Ejemplo: for ( ; a > 10 ; a--) • Si la primera vez la condición es falsa no se ejecuta ningún estatuto y termina el for • Una variable puede declararse en la sección de inicialización, solo hay que tomar en cuenta que esta variable solo es reconocida dentro del ciclo. Ejemplo: for (int num = 1; num < = 10; num++)
    28. 28. Estructuras de Control. ESTRUCTURA REPETITIVA: for en java. SEUDOCODIGO Repetitivas: desde < Variable> ← <V_Inicial > Hasta <V_Final> [ Incremento|Decremeto < incremento >] Hacer < acciones > fin_desde for ( int i=1; i<=10; i++ ){ Acciones } JAVA
    29. 29. Estructuras de Control. EJEMPLO: import javax.swing.JOptionPane; /*se importa el paquete de javax q trae el subpaquete swing q *contiene la clase JOptionPane*/ public class Septimo{ //se crea la clase public static void main ( String args[] ) { //se inicializa el metodo main String strNum, strTabla=&quot;&quot;; //se define las variables de tipo cadena de caracter int num; //se define una variables de entero strNum = JOptionPane.showInputDialog(null,&quot;Ingrese el número: &quot;,&quot;Entrada de datos&quot;,JOptionPane.INFORMATION_MESSAGE); num = Integer.parseInt( strNum );
    30. 30. Estructuras de Control. EJEMPLO: /*strNum almacena temporalmente el numero que se ha ingresado mediante el uso * del JOptionPane.ParseInt *se realiza un cast para cambiar los valores de tipo caracter a enteros *se crea de tipo entero la variable num*/ for ( int i=1; i<=10; i++ ){ /* strTabla es un acumulador de tipo cadena, que en cada iteración concatena o une * la operación actual con las operaciones realizadas anteriormente. *primero se hace la operación y luego ese valor se convierte en cadena para ser *concatenado. */ strTabla = strTabla + num + &quot; * &quot; + i + &quot; = &quot; + num*i + &quot; &quot;; /*strTabla es una variable de tipo acUmuladora */ } JOptionPane.showMessageDialog(null, strTabla, &quot;Resultado&quot;, JOptionPane.INFORMATION_MESSAGE); System.exit( 0 ); /*mediante el uso del JOptionPane.showMessageDialog que me permite visualizar * una interfaz que me muestre el resultado *se cierra el sistema */} } ESTRUCTURAS O CICLOS REPETITIVOS

    ×