La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras de Control.

Presentaciones similares


Presentación del tema: "Estructuras de Control."— Transcripción de la presentación:

1 Estructuras de Control.
Semana 3 Estructuras de Control.

2 En C las sentencias se pueden clasificar en:
simples estructuradas Simples Asignación Llamada a función

3 Sentencias Estructuradas
Todas las estructuras de control Las sentencias estructuradas contienen sentencias simples u otras sentencias estructuradas. Una sentencia estructurada se puede utilizar en cualquier lugar donde esta permitida una sentencia simple. De aquí en adelante se usara el termino sentencia para las aquellas estructuradas y simples.

4 Estruc. de Ctrl.: Secuencia
En C todas las sentencias que se escriben entre { y }, se ejecutan en forma secuencial. Una instrucción no inicia hasta que la anterior termine.

5 Estruc. de Ctrl.: Secuencia
#include <stdio.h> Void main(void) { acción 1; acción 2; …. acción n; } Diagrama de Flujo acción 1 acción n acción 2

6 Ejemplos Desarrollar un programa que haga la conversión de pesos a dólares. Desarrollar un programa que calcule el área y superficie de un circulo, dado como entrada el radio de este. Desarrollar un programa que calcule la superficie y volumen de un cilindro, dado la altura y el radio de este.

7 Estruc. de Ctrl.: Selección
La mayoría de los procedimientos que podemos diseñar para resolver problemas incluyen la elección de uno entre los casos posibles en función del valor particular de alguno de los datos. Las sentencias de control en C: condicional simple If – If/else condicional múltiple switch

8 Estruc. de Ctrl.: Selección
Si la condición es verdadera se ejecuta la sentencia Diagrama de Flujo if (condición) acción; if (condición) { acción 1; …. acción n; } condición true acción false

9 Ejemplo Desarrollar un programa que reciba un número entero como entrada e indique si este es par.

10 Estruc. de Ctrl.: Selección
if (condición) acción 1; else acción 2; Si la condición es verdadera se ejecuta la acción 1; En caso contrario se ejecuta la acción 2. Es preferible usar { y } para dejar el código más claro. if(condición) { acción1; acciónn; } else{ acciónr acciónm; Diagrama de Flujo condición false true acción 2 acción 1

11 If anidados. Diagrama de Flujo condición condición condición acción 4
if (condición 1) if (condición 2) acción 1; else acción 2; if (condición 3) acción 3; acción 4; condición false true condición condición false true false true acción 4 acción 3 acción 2 acción 1

12 switch Los “If anidados” plantean la problemática de bifurcación múltiple. Puede llegar a ser difícil de leer. C proporciona una estructura alternativa más legible para aquellos casos en los que la bifurcación múltiple se realiza mediante comparación de datos sencillos ordinales denominada switch-case.

13 Switch-Case switch (expresión) { case valor1: case valor2: ...
sentencias break; case valor2: ... default: } Diagrama de Flujo alternativa 1 2 n acción 1 acción 2 acción n El fragmento etiquetado con default es opcional.

14 Switch-Case #include <stdio.h> int main(void) { int opcion;
printf ("1) Saluda\n"); printf ("2) Despídete\n"); scanf ("%d", &opcion); switch (opcion) { case 1: printf ("Hola\n"); break; case 2: printf ("Adiós\n"); default: printf ("Opción no válida\n"); } return 0;

15 Ejemplo Implementar un menú Selección de equipo de fútbol
Muestre mejor jugador del equipo

16 Estruc. de Ctrl.: Repetitivas
Las estructuras de control repetitivas, como su nombre lo indica, repiten la ejecución de un grupo de instrucciones una determinada cantidad de veces. En C las estructuras de control de este tipo son: while do - while for

17 While. Mientras la condición sea verdadera la(s) sentencia(s) se repite(n). Dentro de las sentencias del cuerpo del while, se debe modificar alguna variable que se encuentre en la condición, sino se puede producir un ciclo infinito.

18 While. Diagrama de Flujo condición acción WHILE
while (condición) acción; while (condición) { Acción 1; Acción 2; Acción n; } Diagrama de Flujo condición false true acción

19 While El siguiente ejemplo produce un ciclo infinito Int variable = 1;
while ( variable != 10 ) printf ( “%d”, variable ); Este otro ejemplo no { variable++ }

20 Mostrar todas las potencias de 2 menores a 20000.
Ejemplo Mostrar todas las potencias de 2 menores a El resultado debe estar formateado de la siguiente manera: 5 números por línea Los números separados por comas La salida debe lucir así: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384

21 Do while. do { sentencias; } while (condición);
Variación del while, se ejecuta(n) una vez la(s) accion(es), luego se evalúa y se sigue ejecutando mientras la condición sea verdadera la(s) sentencia(s) se repite(n) Diagrama de Flujo acción true do { sentencias; } while (condición); condición false

22 Ejemplo Mostrar los primeros 10 números de la secuencia de Fibonacci
La secuencia de Fibonacci comienza con dos números: 1, 1 Cada numero que sigue esta formado por la suma de los dos números anteriores a él La secuencia queda de la siguiente manera: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 Matemáticamente se puede expresar de la siguiente manera

23 For El for se usa, fundamentalmente, cuando se conocen los límites del bucle... Su parámetro de inicialización Su criterio de terminación Su instrucción de incremento.

24 La forma general del bucle for puede expresarse así.
for (inicialización; condicion; incremento) sentencias Diagrama de Flujo acción Variable:= inicio,fin, 1

25 For Inicialización es la sentencia que inicializa la iteración (se ejecuta una vez al iniciar). Condición es una sentencia que determina cuando se termina el for. Esta expresión se evalúa al principio de cada iteración. Cuando la expresión se evalúa a false finaliza.

26 For Incremento es una expresión que se invoca en cada interacción del bucle. Cualquiera (o todos) de estos componentes puden ser una sentencia vacía (solo se identifica por el punto y coma).

27 Ejemplo Un trozo de código que calcula int resultado = 0;
for ( i = 0; i <= 100; i ++ ) resultado += i; Lo mismo pero al revés for ( i = 100; i >= 0; i -- )

28 Ejemplo Desarrolle un programa que muestre todos los años bisiestos del siglo XXI. La regla para los años bisiestos según el calendario gregoriano es: Un año es bisiesto si es divisible por 4, excepto el último de cada siglo (aquellos divisibles por 100), que para ser bisiestos, también deben ser divisibles por 400. Es decir los años que sean divisibles por 4 serán bisiestos; aunque no serán bisiestos si son divisibles entre 100 (como los años 1500, 1700, 1800, 1900 y 2100) a no ser que sean divisibles por 400 (como los años 1600, 2000 ó 2400). En 400 años debe haber 97 años bisiestos, de esa manera el año del calendario gregoriano se mantiene muy parecido al año solar. Así el año gregoriano dura 365 días +1/4 -1/100 +1/400 = 365,2425 días (más que el año trópico que dura 365,2422 días).

29 Ejemplo Desarrolle un programa que escriba una tabla de dos columnas para la conversión entre las temperaturas en grados Fahrenheit, comprendidas entre 0 y 300, según incrementos de 1, y su equivalente en grados centígrados. La conversión esta dada por la siguiente formula Donde C esta en Centígrados y F en Fahrenheit

30 Sentencias para alterar el flujo iterativo
La sentencia break está disponible en C. Con ella se puede, abortar al instante la ejecución de un bucle cualquiera (while, do-while o for).

31 Sentencias para alterar el flujo iterativo
Otra sentencia de C que puede resultar útil es continue. Esta sentencia finaliza la iteración actual, pero no aborta la ejecución del bucle. Por ejemplo, cuando en un bucle while se ejecuta continue, la siguiente sentencia a ejecutar es la condición del bucle; si ésta se cumple, se ejecutará una nueva iteración del bucle.

32 FIN Cada vez más cerca …


Descargar ppt "Estructuras de Control."

Presentaciones similares


Anuncios Google