Estructuras de Control

Slides:



Advertisements
Presentaciones similares
Condicional if y switch
Advertisements

Estructuras de control
Curso de java básico (scjp)
ESTRUCTURAS DE CONTROL
Programación Interactiva Fundamentos de Programación
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Estructuras de decisión en C
Estructuras de Repetición Algoritmos
Entendiendo la definición de clases
Introducción a los Algoritmos
Fundamentos de Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Estructuras de Control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Curso de Java Estructura del Lenguaje
1.2 Sintaxis del lenguaje Java.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
CICLOS EN C.
ESTRUCTURAS DE SECUENCIA
Introducción a la Computación (7ma Semana) Lunes 16 de Abril del 2007
Algoritmo y Estructura de Datos I
Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007
Estructuras de Repetición
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 25 de Setiembre del 2006 Juan José Montero Román.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (7ma Semana) Lunes 18 de Setiembre del 2006 Juan José Montero Román.
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Modificadores.
Tema 6: Clases Antonio J. Sierra.

Estructuras de control
Tema 4: Sentencias de control
Ingeniero Anyelo Quintero
Unidad I Java y C++ : Similitudes y diferencias
Programación de Computadores
Introducción a la Computación
Estructuras de control Introducción a la programación.
Control de flujo: Bucles
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capítulo 1 “Elementos de Programación”
ESTRUCTURA DE DATOS EN JAVA
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Capítulo 2 – Estructuras de Control
WHILE Estructuras Repetitivas
Computación II Repaso de java Karina Figueroa Mora.
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Informática Ingeniería en Electrónica y Automática Industrial
Resumen Fundamentos de Programación/ Programación I
EXPRESIONES Y SENTENCIAS
Unidad II: Fundamentos de Programación

Estructuras de Control.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
PRINCIPIOS DE PROGRAMACIÓN

ESTRUCTURAS REPETITIVAS
Estructuras de Decisión
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
ESTRUCTURAS DE DECISION MULTIPLE
LENGUAJE DE PROGRAMACIÓN
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Transcripción de la presentación:

Estructuras de Control Corina Flores Villarroel UMSS - Programa MEMI Corina Flores V Programa MEMI

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

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

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

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

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

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

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

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

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

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

Selección La sentencia IF, se puede emplear de diferentes maneras: A) Simple B) Concatenada C) Anidada Corina Flores V Programa MEMI

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

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

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

Selección … concatenación if (condición) { bloque } else { F V cond Corina Flores V Programa MEMI

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

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

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

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

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

Selección … concatenación switch (condición) { case literal1: instrucciones; break; case literal2: … default bloque; } cond Caso1 Caso2 CasoN … Corina Flores V Programa MEMI

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

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

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

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

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

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

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

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

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

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

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

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

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

Sentencia for-each Para recorrer sobre colecciones Hace un recorrido sobre todos los elementos que guarda la colección Corina Flores V Programa MEMI

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

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

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