La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1 Control de Flujo Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006."— Transcripción de la presentación:

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

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

3 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 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 2.... Instrucción N Fin Cuerpo del algoritmo Variables Programación Lineal Programación No Lineal Librerías Constantes Cabecera

5 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 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 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 (1930-2002), demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control:1930-2002 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 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 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 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 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 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 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= 3 + 2 * 4 = 3+8=11 C  C + B// C=11 + 4 = 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 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 15 Lectura de Datos (Entrada) Escritura de Datos (Salida)

16 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 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 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 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 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 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 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 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 24 Anidamiento de Sentencias if

25 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 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 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 28

29 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 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 31 Sentencia for

32 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 33 Sentencia while

34 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 35 Sentencia do - while

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

37 37 Gr@ci@s


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

Presentaciones similares


Anuncios Google