1 Control de Flujo Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

ESTRUCTURAS DE CONTROL
Sesión 3 Estructuras Repetitivas
Estructuras de decisión en C
Estructuras de Control
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Curso de Programación I Parte III
Aprende C en una lluviosa tarde de domingo (en algo más de un par de horas) Sintaxis del lenguaje C para implementar un programa imperativo.
Una breve introducción
Estructuras de Repetición

Estructuras de Control de Repetición
ESTRUCTURAS ITERATIVAS
ESTRUCTURAS DE CONTROL
Fundamentos de Programación
Programación de Computadores
Lenguaje C.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
Programación en Matlab
FUNDAMENTOS DE PROGRAMACIÓN
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Capítulo 1 “Elementos de Programación”
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Capítulo 2 – Estructuras de Control
Informática Tema 5 - Estructuras de Control Estructuras de Repetición.
Informática Ingeniería en Electrónica y Automática Industrial
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
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.
Elementos básicos del lenguaje
FUNDAMENTOS DE PROGRAMACIÓN
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
PRINCIPIOS DE PROGRAMACIÓN

Elaboración de algoritmos usando lógica de programación
Estructuras de Decisión
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
PARCIAL 2. LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE LAS CUALES SE COMUNICAN.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
1 Estructuras de Datos Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
1 Conceptos Fundamentales de Programación Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
Page 1 Ciclo de Estructuras de Repetición Carlos Bautista García Unidad VI PROG 2270L.
Estructuras de Decisión en Visual Basic 6.0
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
LÓGICA DE PROGRAMACIÓN UNIDAD III. INTRODUCCIÓN AL LENGUAJE C.
Estatutos en Scilab 3.1 De entrada y salida estándar.
Tema – 5 Construcciones condicionales Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Computación I :: Prof. Yeniffer Peña Introducción al C Presentación Computación I.
Estatutos en Matlab 3.1 De entrada y salida estándar. 3.2 De control o selección if. 3.3 De ciclos: for, while. 3.4 Otros estatutos.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
Programación de Algoritmos Autor: Luis Eduardo Villavicencio Prof.: Ing. Danilo Jaramillo.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
 Do- While y Do- Until Las instrucciones Do-while y Do-until permiten repetir un bloque de código mientras cierta condición sea True o hasta que cierta.
Computación I :: Prof. Yeniffer Peña Introducción al C Presentación Computación I.
Funciones, expresiones y control en Alice
Estructuras Repetitivas Consideraciones. Estructuras Repetitivas  Son aquellas que van a ejecutar un número determinado de veces una instrucción o un.
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:

1 Control de Flujo Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006

2 ESTRUCTURAS SECUENCIALES Asignación Lectura Escritura ESTRUCTURAS CONDICIONALES Simples Compuestas Múltiples ESTRUCTURAS REPETITIVAS ESTRUCTURAS DE CONTROL DE FLUJO ANIDADAS Agenda

3 Creación y Compilación de un Programa Editor Disco Se crea el programa en el editor y se almacena en disco El programa preprocesador procesa el código El compilador crea el código objeto y lo guarda en disco El editor de enlaces vincula el código objeto con las bibliotecas, crea a.out y lo almacena en disco Preprocesador Disco Compilador Disco Editor de Enlaces Disco Cargador Disco Memoria Primaria CPU Memoria Primaria El cargador pone en memoria el programa La CPU toma cada instrucción y la ejecuta, posiblemente almacenando nuevos valores de datos a medida que se ejecuta el programa

4 Estructura General de un Programa Librerías Constantes: Const1  Valor1 Const2  Valor2... Nombre_del_Programa Inicio Variables: Tipo1 Var11, Var12... Tipo2 Var21, Var22... Instrucción 1 Instrucción Instrucción N Fin Cuerpo del algoritmo Variables Programación Lineal Programación No Lineal Librerías Constantes Cabecera

5 Estructura General de un Programa Todos los programas en C comparten ciertos componentes y rasgos esenciales: Funciones - main() - Sentencias Encabezados /*Programa de Ejemplo en C*/ #include int main() { printf (“Este es un breve programa en C”); return 0; }

6 Buenas Prácticas de Programación La claridad en un programa es de vital importancia, pues la mayor parte del tiempo de mantenimiento de un programa se emplea en estudiar y comprender el código fuente existente. Recomendaciones Básicas sobre estilo de codificación al escribir nuestros programas en C: Identificadores Significativos Constantes Simbólicas Comentarios, comentarios... Estructura del programa Identación o sangrado Presentación

7 Estructuras de Control Existen instrucciones que permiten que el programador especifique que la siguiente instrucción a ejecutar podría ser distinta a la que le sigue en la secuencia. Son instrucciones o estructuras que dirigen el flujo del programa. Teorema de Dijkstra ( ), demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control: Estructura secuencial: Estructura secuencial: Instrucciones se ejecutan en el orden en que se escribieron. Estructuras condicionales Estructuras condicionales: Condiciones para cambiar el flujo del programa. Estructuras repetitivas: Estructuras repetitivas: Realizar ciclos o repetir instrucciones.

8 Ejemplo: Construcción de una casa Normalmente las instrucciones de un programa se ejecutan en el orden en que se escribieron. Programas -> conjunto de bloques que encajan entre sí. Cada bloque tiene un solo punto de entrada y un solo punto de salida y la salida de uno se conecta a la entrada del siguiente. Formada por varios bloques uno a continuación de otro.  Asignación  Lectura/Escritura. Planos Cimientos Muros Cubierta Acabados

9 Creación de Bloques de Código En C se pueden enlazar dos o más sentencias, usando { } Las sentencias forman una unidad lógica que puede usarse en cualquier lugar donde pueda hacerlo una sentencia simple. Un bloque de código representa una unidad lógica indivisible.

10 Asignación La operación de asignación es el modo de darle valores a una variable. Es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. El formato general: Nombre_Variable  Expresión Se pueden asignar valores de expresiones, donde la variable y el valor de la expresión deben tener el mismo tipo de dato. (Primero calcula el valor de la expresión y este resultado lo almacena en la variable sustituyendo al valor que tenía anteriormente).

11 Asignación aritmética: Las expresiones en las operaciones de asignación son aritméticas. N  2 N  N + 1 Asignación lógica: La expresión que se evalúa en la operación de asignación es lógica. M  8 < 5= Falso N  M OR (7 <= 12)= Verdad Asignación de caracteres: Car  ’M’ Asignación de cadenas de caracteres: X  “Caro nacio en el 79” Conversión de tipo: A las variables no se les puede asignar valores diferentes a su tipo. Algunos lenguajes permiten convertir el valor al tipo de la variable.

12 Operadores de Asignación OperadorOperación =Asignación ++Incremento --Decremento +=Suma y Asignación -=Resta y Asignación *=Multiplicación y Asignación /=División y Asignación %=Módulo y Asignación Asignación

13 1. ¿Cuáles son los valores de A, B y C después de la ejecución de las siguientes operaciones? A  3 B  4 C  A + 2 * B//C= * 4 = 3+8=11 C  C + B// C= = 15 B  C - A// B=15 – 3 = 12 A  B * C// A=12 * 15 = 180 Entonces A=180, B=12 y C=15 2. ¿Cuál es el valor de x después de las siguientes operaciones? X  2 X  Cuadrado(x + x) // X=Cuadrado(4) = 16 X  Raiz2 (x + Raiz2(x) + 5) // X=Raiz2 (16 + Raiz2(16) + 5) = 5 Entonces X=5 Ejemplo

14 Entrada / Salida Las operaciones de entrada permiten leer determinados valores y almacenarlos en determinadas variables. Esta entrada se conoce como operación de Lectura (Read). Los resultados de los cálculos realizados necesitan ser conocidos (mostrados), para esto se utilizan las operaciones de salida. La operación de salida se denomina Escritura (write). Formatos de las acciones de lectura y escritura:  Leer (Lista de variables de entrada)  Escribir (Lista de expresiones o variables de salida)

15 Lectura de Datos (Entrada) Escritura de Datos (Salida)

16 Funciones de Entrada/Salida La entrada y salida de información (E/S), se puede gestionar mediante la funcionalidad de la biblioteca stdio. Entrada: scanf() Salida: printf() Ejemplo: Leer un número por teclado y mostrarlo int num; scanf(“%d”,&num); printf(“El número es:%d”,num); Secuencias de Escape: \nNueva línea \t Tabulador Horizontal \v Tabulador Vertical \b Retroceder Espacio \r Retorno de carro \f Alimentar una página \a Pitar \’ Escribir comilla simple \’’ Escribir comilla doble \\ Escribir barra hacia atrás Formatos E/S %dentero %fcoma flotante %c caracter %s cadena de caracteres

17 A veces se necesitan otros operadores especiales diferentes de los ya nombrados que son funciones predefinidas o internas del lenguaje. Aceptan argumentos. Producen un solo resultado de diferentes tipos. Las mas usuales son: (siendo x el argumento de la función) Funciones Primitivas

18 Sirven para tomar decisiones lógicas, es decir, cuando se utilizan “Expresiones Lógicas”:  Verdadero, falso  AND, OR, NOT  ==, !=,, = TIPOS:  Simples, dobles, múltiples y anidadas. nota > 3 Aprobada Si Ejemplo: Aprobar una materia Se utilizan cuando existen una o varias alternativas resultantes de la evaluación de determinada condición.

19 Alternativa Simple Ejecuta una determinada acción cuando se cumple una determinada condición. Si la condición es verdadera, ejecuta cierta acción. Si la condición es falsa, no hace nada.

20 Sentencia if En su forma más simple, la sentencia if permite que un programa ejecute condicionalmente una sentencia: if (expresión) sentencia; Ejemplo: No condición sentencia Si

21 Alternativa Doble Alternativa simple es muy limitada, para varias condiciones se requieren varios if. La alternativa doble permite realizar diferentes acciones dependiendo de si se cumple o no una condición. Si la condición es verdadera, ejecuta cierta acción; si la condición es falsa, se realizan otras acciones.

22 Sentencia if/else Permite realizar acciones diferentes cuando la condición sea verdadera y cuando sea falsa. Ejemplo: if (expresión) sentencia1; else sentencia2; expresión Sentencia1 Si No Sentencia2

23 Anidamiento de Sentencias if Cuando una sentencia if es el objetivo de otro if o else, se dice que está anidada dentro del if más externo. if (expresion1) sentencia1; else if (expresion2) sentencia2; else sentencia3; expresión1 Sentencia1 Si No expresión2 Sentencia2 Si No Sentencia3

24 Anidamiento de Sentencias if

25 Alternativa Múltiple Pueden existir mas de dos elecciones múltiples -> alternativas anidadas (si son muchas condiciones es un problema). Se opta por la estructura: Según sea.. o En caso de... Evalúa una expresión y se toman diferentes acciones dependiendo de los resultados de dicha expresión.

26 Sentencia SWITCH La sentencia if es buena para elegir dos alternativas, pero se vuelve incómoda cuando se necesitan varias alternativas. La solución de C a este problema es la sentencia switch. switch(expresion) { case constante1: bloque1 de sentencias; break; case constante2: bloque2 de sentencias; break;. default bloque de sentencias por defecto break; } Se diferencia de if en que switch sólo puede verificar igualdad, if puede evaluar cualquier tipo de condición. switch sólo funciona con los tipos char e int. No puede haber dos constantes case iguales para un mismo switch.

27 Interruptor (marca, bandera o flag): Es una variable que sirve como indicador de una determinada información y que solo puede tomar uno de los varios valores permitidos. El valor de la variable tiene asociado un signo y puede variar a lo largo de la ejecución.

28

29 Se utilizan cuando es necesario ejecutar un mismo bloque de acciones una cantidad especifica de veces. Bucle o Ciclo: es un segmento del algoritmo cuyas instrucciones se repiten un número determinado de veces. ¿Qué contiene el bucle? ¿Cuántas veces se debe repetir? ¿Cuál es la condición para detener el bucle? Pueden ser: Ciclos con un Numero Fijo de Iteraciones (Hacer- Para): Esta cantidad puede ser fija (previamente determinada por el programador Ciclos con un Numero Indeterminado de Iteraciones (Mientras-Hacer, Repetir-Mientras): están en función de algún dato dentro del programa Utilizan Contadores (sirven para verificar el número de veces que se realiza un proceso) y/o Acumuladores (guarda el resultado de diferentes procesos). Separado Orilla? Brazada no si

30 Ciclos con un numero fijo de iteraciones El numero de iteraciones se conoce antes de ejecutarse el ciclo. Hacer-Para: Automáticamente controla el numero de iteraciones. Se ejecuta mientras se cumpla la condición.

31 Sentencia for

32 Mientras- Hacer: Se ejecuta mientras se cumple una condición determinada. Cuando la condición ya no se cumple (es Falsa), no se sigue ejecutando el proceso y se continua con el algoritmo. Ciclos con un número indeterminado de iteraciones El numero de iteraciones no se conoce previamente, por lo general depende de un dato dentro del programa.

33 Sentencia while

34 Repetir-Mientras: Repite un proceso una cantidad de veces, hasta que la condición deje de cumplirse. Permite realizar el proceso al menos una vez antes de comprobar la condición, ya que la condición se evalúa al final del proceso Ciclos con un número indeterminado de iteraciones

35 Sentencia do - while

36 Bibliografía: Deitel y Deitel. C++ Cómo programar. Prentice Hall Hernandez G, Jaime y otros. Curso práctico de programación de computadoras. Cekit Schildt, Herbert. C Guía de Autoenseñanza. McGraw Hill 1994.

37