220 likes | 495 Views
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.
E N D
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 computacionalbien definido que toma algún valor, o un conjunto de valores, comoentraday produce algún valor, o un conjunto de valores, como salida. • Es unasecuencia de pasoscomputacionales paratransformarla entrada en la salida. • Es una herramientapara 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
main(){ acción 1; acción 2; …. acción n; } Estructuras de ControlSecuencial Diagrama de Flujo Acción 1 Acción 2 Acción n 6
Estructuras de ControlSecuencial 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 • 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
Diagrama de Flujo if(condición){ sentencias; } sí Condición Sentencias no Estructuras de Control Selección Simple 9
if (condición){ sentencia1; } else { sentencia2; } condición Estructuras de Control Selección doble Diagrama de Flujo sí no sentencia1 sentencia2 10
Condición Condición Condición Selección Múltiple if(condición){ sentencia1; } elseif(condición){ sentencia2; } else if(condición){ sentencia3; } else { sentencia4; } Diagrama de Flujo sino sino sino sí sí sí Sentencia2 Sentencia1 Sentencia3 Sentencia4 11
Estructuras de Control Selectivas Ejemplo: Determinar si un número entero es par o impar 12
switch (expresión) { case caso1: acción1; break; case caso2: acción2; break; .................... case casoP: acciónP; break; default: acciónN; }; expresión acción 1 acción 2 acción n Estructuras de ControlSelección Múltiple Diagrama de Flujo n 1 2 13
Estructuras de ControlRepetitivas Repiten la ejecución de un grupo de acciones una cierta cantidad de veces. 14
while(condición){ sentencias; } condición Sentencia Estructuras de ControlIterativas Diagrama de Flujo no sí 15
Estructuras de ControlIterativas Ejemplos: Calcular la sumatoria de los primeros 100 enteros. Imprimir los n primeros enteros 16
do{ sentencia; }while (condición); Sentencia condición Estructuras de ControlIterativas Diagrama de Flujo Si No 17
Iteratición Ejemplo: Calcular el factorial de un número Calcular la raíz cuadrada de un número 18
Variable:= inicio,condición,incremento Sentencia for (inicialización; condición; incremento ){ sentencias; } Estructuras de ControlIterativas Diagrama de Flujo 19
Iteración Ejemplos: Calcular la suma de los primeros 100 enteros. 20