Estructuras de control

Slides:



Advertisements
Presentaciones similares
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities scuola.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
ULTRASONDO EN RODILLA MENISCOS Y LIGAMENTOS
Respuestas Jack y la mata de frijoles /60. 1.vivía 2.estaba 3.estaba 4.era 5.llamaba 6.gustaba 7.comía 8.dormía 9.gustaba 10.llamó 11.dijo 12.había 13.quería.
Estructuras de control
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
50 formas de decir “Te Amo”.
Universidad San Martín de Porres
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 5.- 1ª PARTE. EL A.O. Y SUS APLICACIONES
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
Objetivo: Los estudiantes van a usar vocabulario del desayuno para comprender un cuento. Práctica: 1. ¿Te gusta comer? 2. ¿Te gusta beber Mt. Dew.
Mulán /75 puntos. 1.Querían 2.Gustaban 3.Escuchó 4.Dijo 5.Tenía 6.Ayudaron 7.Maquillaron 8.Arreglaron 9.Dio 10.Estaba 11.Iba 12.Quería 13.Salió 14.Gritó
CLASE 3 SOFTWARE DEL MICROPROCESADOR
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
60 razones para seguir vivo
William Shakespeare ( greg.), fue un dramaturgo, poeta y actor inglés. Conocido en ocasiones como el Bardo de Avon (o.
1. Apoyo exterior sobre ala inferior de viga de acero
Distribuciones de probabilidad bidimensionales o conjuntas
Funciones Excel. Parte 1. Introducción 2 Una función Excel es una fórmula o un procedimiento que se realiza en el ambiente de Visual Basic, fuera de.
Parte 3. Descripción del código de una función 1.
Vocabulario querer comerlo -paja por supuesto - madera
Fundamentos de Programación
FUNCIONES DE UNA VARIABLE REAL
Calendario 2008 Imágenes variadas Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2008.
¿Qué te gusta hacer? Unit 3: Vocabulario.
EL OSO APRENDIZ Y SUS AMIGOS
Estructuras de Control
Ejemplar de cortesía gratis para lectura y uso personal
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Hacer click Hacer click en cualquiera de estos links.
Ecuaciones Cuadráticas
¡Primero mira fijo a la bruja!
Módulo 5: Estructuras de Decisión y Bucles
1 Administración electrónica Tramitación electrónica Vitoria-Gasteiz 2013 Ayudas, Becas y Subvenciones.
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Quetzalpapalotl Quetzalpapalotl – Gevederde Slang, vlindergod.
0 1 ¿Qué hora es? By: Craig Tillmann Revised by: Malinda Seger Coppell High School Coppell, TX.
Estructuras de Repetición
REGLAS DE LOS SIGNOS.
Módulo 2: Condiciones Generales de Trabajo
MSc. Lucía Osuna Wendehake
Calendario 2009 “Imágenes variadas” Venezuela Elaborado por: MSc. Lucía Osuna Wendehake psicopedagogiaconlucia.com Enero 2009.
Los Numeros.
SUCESIONES Y PROGRESIONES.
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
SUMA DE FRACCIONES DEL TERCER TIPO.
FACULTAD DE DERECHO PROTAGONISTAS PROMOCIÓN aniversario
Fundamentos de Programación

Tema 4: Sentencias de control
Herramienta FRAX Expositor: Boris Inturias.
CHAPTER 4 VOCABULARY: PART II
Programación de Computadores
Informática Ingeniería en Electrónica y Automática Industrial
EXPRESIONES Y SENTENCIAS
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Estructuras de Decisión
Transcripción de la presentación:

Estructuras de control Programación en C para electrónicos

Índice Expresiones condicionales. Sentencias if-else. If-else múltiples. Sentencias switch. Sentencias while Sentencias do-while Sentencias for Estructuras de control - David Carmona 2010

Objetivos Estructuras de control - David Carmona 2010

Control del flujo de ejecución Las sentencias de un programa se ejecutan de manera secuencial, es decir: una detrás de otra en el mismo orden en el que están escritas. En muchas ocasiones necesitaremos que los programas que escribimos sean capaces de “tomar decisiones”. Esto implica que nuestro programa debe ser capaz de valorar una expresión y realizar distintas acciones en función del resultado. Estructuras de control - David Carmona 2010

Control del flujo de ejecución El lenguaje C dispone de varias sentencias que permiten modificar el flujo secuencial de ejecución del programa. Estas sentencias se pueden agrupar como: Bifurcaciones: Permiten elegir entre dos o más opciones. Bucles: Permiten ejecutar repetidamente un conjunto de sentencias tantas veces como se desee. Estructuras de control - David Carmona 2010

Expresiones condicionales Estructuras de control Estructuras de control - David Carmona 2010

Expresiones condicionales Son aquellas expresiones que tienen como resultado valores true o false. False = 0. True = cualquier cose que de cómo resultado un valor distinto de 0. Normalmente son expresiones que utilizan los operadores relacionales y lógicos. Estructuras de control - David Carmona 2010

Operadores relacionales. Significado Ejemplo < Menor que a<b > Mayor que a>3 <= Menor o igual 2<=b >= Mayor o igual a>=3 == Igual a==b != Distinto 4!=3 ?: Expresión condicional Estructuras de control - David Carmona 2010

Operadores lógicos Operadores Significado ejemplo ! NOT (true si la expresión es false) !(a>b) && AND (true si las dos expresiones son true) (a>b)&&(a!=3) || OR (true si alguna de las dos es true) (a>b)||(a!=3) Estructuras de control - David Carmona 2010

Sentencias if-else Estructuras de control Estructuras de control - David Carmona 2010

Sentencia if La sentencia if, permite ejecutar o no una sentencia en función de si se cumple o no una condicion. Sintaxis: if (expresion) sentencia1; sentencia2; Funcionamiento: Se evalúa expresion. Si el resultado de la expresión es true, se ejecuta la sentencia1 y a continuación la sentencia2. Si expresion es false, entonces se ejecuta directamente la sentencia2. (sentencia1 no se ejecutaría) Estructuras de control - David Carmona 2010

Sentencia if . if (expresion) sentencia1; sentencia2; Sintaxis: Si No sentencia 2 Estructuras de control - David Carmona 2010

Ejemplo: Estructuras de control - David Carmona 2010

Sentencia if En ocasiones, necesitaremos ejecutar de forma condicional un conjunto de sentencias y no una solo. Para ello basta con sustituir en la sintaxis anterior la sentencia1 por el grupo de sentencias que se desee encerradas entre llaves ({ }). Sintaxis: if (expresion) { sentencia1; .. sentenciaN; } sentenciaM; Estructuras de control - David Carmona 2010

Sentencia if . if (expresion) { sentencia1; .. sentenciaN } Sintaxis: . if (expresion) { sentencia1; .. sentenciaN } sentenciaM; expresion? Si sentencia 1 No Bloque de sentencias sentencia N sentencia M Estructuras de control - David Carmona 2010

Ejemplo: Estructuras de control - David Carmona 2010

Sentencia if-else sentencia1; else sentencia2; sentencia3; Esta sentencia permite realizar acciones diferentes en función de si se cumple o no una condición. Sintaxis: if (expresion) sentencia1; else sentencia2; sentencia3; Estructuras de control - David Carmona 2010

Sentencia if-else Funcionamiento: Se evalúa expresion. Si el resultado de la expresión es true, se ejecuta la sentencia1 y a continuación la sentencia3. sentencia2 no se ejecuta. Si expresion es false, entonces se ejecuta la sentencia2 y a continuación la sentencia3. Sentencia1 no se ejecuta. Las sentencias que vienen a continuación de la sentencia if – else se ejecutan siempre. Estructuras de control - David Carmona 2010

Sentencia if-else Las sentencias 1 y 2 son mutuamente excluyentes. Si expresion? Si Las sentencias 1 y 2 son mutuamente excluyentes. No sentencia 2 sentencia 1 Sentencia 3 Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencia if-else Se pueden sustituir las sentencias condicionales por bloques de sentencias. Sintaxis: if (expresion) { sentenciaN; .. } else {sentenciaM; sentenciaX; Estructuras de control - David Carmona 2010

Sentencias if – else múltiples Las sentencias if – else permiten realizar dos operaciones distintas en función de una condición. Para ejecutar una opción entre varias partes del programa según se cumpla una condición entre varias, se necesita “anidar” sentencias if else. Un sentencia if –else multiple está formada por varios if-else, de forma que uno de ellos es la sentencia que se ejecuta cuando se cumple o no una condición. Estructuras de control - David Carmona 2010

Sintaxis general if (expresion1) {sentenciaN; .. } else if (expresion2) {sentenciaM; else if (expresionS) {sentenciaP; [else {sentenciaQ; }] sentenciaX; Estructuras de control - David Carmona 2010

Funcionamiento Se evalúa la 1ª condición (expresion1): Si se cumple se ejecuta el bloque de sentenciaN. Después se salta hasta el final de la sentencia. (sentenciaX). Si no se cumple expresion1, se evalúa la expresion2. Si se cumple se ejecuta el bloque de sentenciaM. Después se salta hasta el final de la sentencia if-else. (sentenciaX). Así sucesivamente hasta el último else if (). Estructuras de control - David Carmona 2010

Funcionamiento Opcionalmente podemos encontrar un último bloque de sentencias sin condición (else). Este bloque de sentencias (sentenciaQ) se ejecuta solo cuando no se cumplen ninguna de las expresiones condicionales de la sentencia. (expresion..). Cuando se cumple una expresión, ya no se evalúa ninguna de las expresiones condicionales restantes. Estructuras de control - David Carmona 2010

Funcionamiento Si No expresion1? SentenciaM expresion2? SentenciaN SentenciaP expresion2? expresionS? SentenciaQ SentenciaX Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencias switch Estructuras de control Estructuras de control - David Carmona 2010

Sentencia SWITCH Funciona de manera similar a una sentencia if-else múltiple. En esta sentencia, la expresión que se evalúa como condición no tiene un resultado binario (true o false). Se compara el resultado de la expresión con una lista de casos posibles, y se ejecuta una(s) sentencia(s) en función de la coincidencia. Estructuras de control - David Carmona 2010

Sintaxis de SWITCH switch (expresion) { case caso1: {bloque_sentencias1; } case caso2: {bloque_sentencias2; … case casoN: {bloque_sentenciasN; [default: {bloqueXdefecto; }] Estructuras de control - David Carmona 2010

Sintaxis de SWITCH Si Blq-sent1 No Si caso2 Blq-sent2 No Si Caso3 Estructuras de control - David Carmona 2010

Funcionamiento En la sentencia switch se evalúa el valor de la expresion, y se compara con los casos indicados en las clausulas case. Cuando el resultado coincide con alguno de los casos, se ejecuta el bloque de sentencias del caso coincidente. Después se ejecutan los bloques de sentencias de los casos escritos a continuación hasta el final de la sentencia switch. Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Caso por defecto Opcionalmente se puede incluir una clausula por defecto. La clausula default, se ejecuta cuando el resultado de la expresión no coincide con ninguno de los casos. Si no se incluye la clausula default, y expresion no coincide con ningún caso, la sentencia switch no tiene ningún efecto. Estructuras de control - David Carmona 2010

Sintaxis de SWITCH Si Blq-sent1 No Si caso2 Blq-sent2 No Si Caso3 default Blq-Defecto Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencia break La sentencia break se utiliza para “romper” el flujo de ejecución. Usado dentro de una sentencia o bloque de sentencias finaliza la ejecución de la sentencia en el momento de su ejecución. En las sentencias switch, se utiliza para hacer que cada caso ejecute un bloque de sentencias diferente. Estructuras de control - David Carmona 2010

Funcionamiento Si No default Caso1: Blq-sent1; break; Caso2: CasoN: Blq-defecto default Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencias while Estructuras de control Estructuras de control - David Carmona 2010

Sentencia while La sentencia while se utiliza para repetir un bloque de sentencias mientras se cumpla una determinada condición. Sintaxis: while (expresion) { .. bloque_sentenciasN; } Estructuras de control - David Carmona 2010

Funcionamiento No Si Condición? Blq-sentencias Estructuras de control - David Carmona 2010

Funcionamiento Se evalúa el resultado de expresion. Si es falso se salta el bloque de sentencias y se continua la ejecución del programa fuera de la sentencia while. Si es verdadero se ejecuta el bloque de sentencias. Cuando finaliza la ejecución del bloque se vuelve a evaluar el resultado de expresion y se repite el procedimiento. El bloque de sentencias puede que no se ejecute ninguna vez. Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencias do-while Estructuras de control Estructuras de control - David Carmona 2010

Sentencia do - while Sintaxis: do { .. bloque_sentenciasN; } Funciona de manera similar al bucle while. La condición se evalúa después de ejecutar el bloque de sentencias. Sintaxis: do { .. bloque_sentenciasN; } while (expresion); Estructuras de control - David Carmona 2010

Funcionamiento Si No Blq-sentencias Condición? Estructuras de control - David Carmona 2010

Funcionamiento Cuando se llega a una sentencia do while, primero se ejecuta el bloque de sentencias. Después se evalúa el resultado de expresion. Si es cierta, se vuelve a ejecutar el bloque de sentencias y se repite el procedimiento. Si es falsa, se termina la ejecución del bloque de sentencias y se continua con el programa. El bloque de sentencias se ejecuta al menos una vez. Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Sentencias for Estructuras de control Estructuras de control - David Carmona 2010

Sentencia for Se utiliza para repetir un bloque de sentencias un determinado número de veces. Sintaxis: for (inicio; condicion; actualizacion) { .. bloque_sentenciasN; } Estructuras de control - David Carmona 2010

Funcionamiento Si No Blq-sentencias Condición? Inicio actualizacion Estructuras de control - David Carmona 2010

Funcionamiento Primero se ejecuta la sentencia inicio. Normalmente se trata de iniciar una variable contador. A continuación se evalúa el resultado de la expresión de condicion. Si es falsa se termina la ejecución del bucle for y se continua con el programa. Si es cierta se ejecuta el bloque de sentencias y la sentencia de actualizacion. Después se repite el paso 2. Estructuras de control - David Carmona 2010

Ejemplo Estructuras de control - David Carmona 2010

Bucles infinitos Estructuras de control Estructuras de control - David Carmona 2010

Bucles infinitos Bucle infinito es aquel ciclo que se repite de forma indefinida. Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, la condicion de finalización se establece de forma que no se alcance nunca y el bucle sigue ejecutando el segmento de código indefinidamente. Estructuras de control - David Carmona 2010

Bucle infinito con while while (1) { .. bloque_sentenciasN; } Estructuras de control - David Carmona 2010

Bucle infinito con do while do { .. bloque_sentenciasN; } while (1); Estructuras de control - David Carmona 2010

Bucle infinito con for for ( ; 1 ; ) { .. bloque_sentenciasN; Estructuras de control - David Carmona 2010

Sentencias break y continue. Estructuras de control Estructuras de control - David Carmona 2010

Break La sentencia break se utiliza para “romper” el flujo de ejecución. Usado dentro de una sentencia o bloque de sentencias finaliza la ejecución de la sentencia en el momento de su ejecución. En el caso de los bucles y las bifurcaciones, se termina la ejecución del bucle aunque la condicion para salir del mismo no se cumpla. Estructuras de control - David Carmona 2010

Continue La sentencia continue se utiliza para terminar “una” ejecución de un bucle. Cuando se ejecuta la sentencia continue, salta el resto de sentencias que faltan para la ejecución del bucle y se inicia siguiente ejecución del mismo bucle. Estructuras de control - David Carmona 2010