Estructuras de control Resolución de problemas y algoritmos
Resolución de problemas Análisis del problema Diseño del algoritmo Codificación Ejecución y validación 2
Definiciones de Algoritmos Es un procedimiento computacional bien definido que toma algún valor, o un conjunto de valores, como entrada y produce algún valor, o un conjunto de valores, como salida. Es una secuencia de pasos computacionales para transformar la entrada en la salida. Es una herramienta para solucionar un problema computacional bien especificado. 1
Estratégia: Dividir para gobernar Dividir el problema en subproblemas 1
Definición formal del problema de ordenamiento Entrada: secuencia de n números <a1, a2,..,an> Salida: Una permutación <a'1, a'2,..,a'n> reordenamiento de la secuencia, tal que: a'1 < a'2 < ... < a'n Ejemplo instancia: Entrada: <5,3,1,6,0> Salida: <0,1,3,5,6> 1
Estructuras de Control Secuencial Diagrama de Flujo main(){ acción 1; acción 2; …. acción n; } Acción 1 Acción 2 Acción n 6
Estructuras de Control Secuencial Ejemplo: Sumar y multiplicar 2 números. main(){ int x, y, z, w; x = y + z; w = y * z; } x=y+z w=y*z 7
Estructuras de Control de Selección Permiten realizar difurcación de la secuencia de ejecución del algoritmo a través de una toma de decisión. Pueden ser simples, dobles o múltiples. 8
Estructuras de Control Selección Simple Diagrama de Flujo Sentencias Condición sí no if(condición){ sentencias; } 9
Estructuras de Control Selección doble Diagrama de Flujo if (condición){ sentencia1; } else { sentencia2; } condición sí no sentencia1 sentencia2 10
Selección Múltiple Diagrama de Flujo sino sino sino sí sí sí if(condición){ sentencia1; } else if(condición){ sentencia2; } else if(condición){ sentencia3; } else { sentencia4; } Condición Condición Condición sino sino sino sí sí sí Sentencia1 Sentencia2 Sentencia3 Sentencia4 11
Estructuras de Control Selectivas Ejemplo: Determinar si un número entero es par o impar 12
Estructuras de Control Selección Múltiple Diagrama de Flujo switch (expresión) { case caso1: acción1; break; case caso2: acción2; .................... case casoP: acciónP; default: acciónN; }; expresión n 1 2 acción 1 acción 2 acción n 13
Estructuras de Control Repetitivas Repiten la ejecución de un grupo de acciones una cierta cantidad de veces. 14
Estructuras de Control Iterativas Diagrama de Flujo while(condición){ sentencias; } condición no sí Sentencia 15
Estructuras de Control Iterativas Ejemplos: Calcular la sumatoria de los primeros 100 enteros. Imprimir los n primeros enteros 16
Estructuras de Control Iterativas Diagrama de Flujo do{ sentencia; }while (condición); Sentencia Si condición No 17
Iteratición Ejemplo: Calcular el factorial de un número Calcular la raíz cuadrada de un número 18
Estructuras de Control Iterativas Diagrama de Flujo Variable:= inicio,condición,incremento Sentencia for (inicialización; condición; incremento ){ sentencias; } 19
Iteración Ejemplos: Calcular la suma de los primeros 100 enteros. 20