Control de Flujo.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Estructuras de control
Curso de java básico (scjp)
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE PROGRAMACIÓN
SENTENCIAS SECUENCIALES
Instrucciones y excepciones
Prototipo de compilador didáctico del lenguaje LC99
VBA – Iteración Indefinida
Lenguajes de programación
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
PHP-MYSQL OPERADORES EN PHP
Estructura General de Un Programa Programación Estructurada
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de Control
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Curso de Programación 1 Plan 97
Módulo 5: Estructuras de Decisión y Bucles
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Preguntas tipo test (Tema I)
Estructuras de control
Tema 3. Optimización de Código
Programación.
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Fundamentos de Programación
Tema 4: Sentencias de control
Docente. Christian Alexander Martínez Arteaga
Estructuras de Control Iterativas
Programación de Computadores
Proyecto 1 Agregar los siguientes operadores a Tiny, con la precedencia y asociatividad indicada OperadorTipoPrecAsociatividad ** binario altaderecha -,
Unidad III Elementos del lenguaje C++
Análisis de Algoritmos
INGENIERIA EN SISTEMAS COMPUTACIONALES
Página Web del Lenguaje Pascal.
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
Sentencias de selección
Subrutinas y Control de Abstracción
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
UNIVERSIDAD PERUANA DE LAS AMERICAS INGENIERIA DE COMPUTACION Y SISTEMAS PROGRAMACION I ING. PEDRO BENITES TOLEDO Programación I Capitulo IV : Estructuras.
Resumen Fundamentos de Programación/ Programación I
Teoría – Alejandro Gonzalez
Módulo 8: Manejo de Errores y Excepciones
EXPRESIONES Y SENTENCIAS
Estructuras de Control.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 7: Control del flujo en BASH Nombre unidad de.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Agenda Clase 6 Iteradores. Enumeración sin iteradores. Loops lógicos. Recursión vs. Iteración. Recursión de Cola. Orden de Evaluación Normal y Aplicativo.
Operadores y estructuras de control
While En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
COMPUTO III Ing. Jimmy Ojeda Arnica.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Estructuras de Control en Visual Basic.net
Fundamentos de Programación
Práctica Profesional PHP.
Estructuras de Decisión
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Estructuras de Control
1 Desarrollo Web en Entorno Servidor Tema 4: Estructuras de control. Estructuras Selectivas. Operadores de comparación. Operadores Lógicos. Operadores.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
MODULA Lenguaje de Programación Anabel Martín González
Programación Básica Bachillerato Ingeniería en Informática Lic. Carlos H. Gutiérrez León.
Ciclos en Visual Basic Yaimira Pérez. Los ciclos son estructuras de repetición que ejecutan una o varias instrucciones durante la cantidad de veces que.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
CICLOS ESTRUCTURA DE REPETICIÓN PROG 2270LGUILLERMO SOLLA.
Ciclos Condicionales Dinámicos Luis Beato National University College.
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
Transcripción de la presentación:

Control de Flujo

Evaluación por Corto Circuito de expresiones booleanas (and a b): si a es falso, no necesita ver b. (or a b): si a es cierto, no necesita ver b. Un compilador que genera código que salta la evaluación de b en esos casos usa evaluación por corto circuito (implementada como optimización de código). Algunos lenguajes ofrecen tanto evaluación regular como por corto circuito.

Instrucciones Case-Switch. IF i = 1 THEN clause_A ELSIF i IN 2, 7 THEN clause_B ELSIF i IN 3..5 THEN clause_C ELSIF (i = 10) THEN clause_D ELSE clause_E END CASE ... 1: clause_A 2,7: clause_B 3..5: clause_C 10: clause_D ELSE clause_E END

Instrucciones Case-Switch. Equivalente a las instrucciones if/then/else. Motivación principal: generar código más eficiente. Calcula la dirección a la cuál va a saltar, basándose en el valor de una expresión: Tabla de salto. Prueba secuencial. Tabla de Hash. Búsqueda Binaria. El compilador elige el método luego de ver todos los casos.

Instrucciones Case-Switch. Detalles Sintácticos. Están permitidos los rangos en las etiquetas? Hay una cláusula por defecto incluida? Hay casos vacíos? Fall through comparado con break.

Iteración Lazo controlado por enumeración. Se ejecuta una vez por cada valor en un rango finito dado. Se conoce el número de iteraciones por adelantado. Lazo controlado lógicamente. Se ejecuta hasta que una condición booleana cambia de valor. La condición booleana depende de valores que cambian en el cuerpo del lazo.

Lazo controlado por enumeración. La mayoría de los lenguajes prohiben cambios al índice del lazo en el cuerpo del mismo. No se ejecutan si los bordes son vacíos. El índice es una variable local del lazo (no está definido fuera).

Lazos Controlados Lógicamente Prueba antes del lazo: while condición do instrucción Prueba después del lazo: repeat instrucción until condición do instrucción while condición (la instrucción es ejecutada al menos una vez) Prueba durante el lazo:

Prueba a la mitad o “lazo y medio” loop instrucción when condición exit instrucción when condición exit ... end (Modula 1) loop instrucción if condición then exit end instrucción end (Modula 2)

Interrupción y Continuación Etiquetada. Puede ser seguida por una etiqueta que especifica: Un lazo (continuación) Una instrucción (interrupción) Break sin etiqueta se sale del for, while, do o switch más cercano. Break con etiqueta se sale de la instrucción etiquetada. Continue sin etiqueta: se salta el resto de la iteración actual. Continue con etiqueta: salta al final del cuerpo del lazo etiquetado. Las cláusulas Finally son ejecutadas en ambos casos.

Lazos de Combinación. Las siguientes son idénticas en Algol 60: for i := 1, 3, 5, 7, 9 do ... for i:= 1 step 2 until 10 do ... for i := 1, i+2 while i<10 do ... Las siguientes son idénticas (Modula-2 y C): FOR i := first TO last BY step DO ... END for (i = first; i <= last; i += step) { ... } i = first; while (i <= last) { ... i += step; }