Estructuras de control Resolucin de problemas y algoritmos
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 <a 1, a 2, . . , 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 Acción 1 Acción 2 main(){ acción 1; acción 2; …. acción n; } Acción n 6
Estructuras de Control Secuencial Ejemplo: Sumar y multiplicar 2 números. x=y+z w=y*z main(){ int x, y, z, w; 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
Estructuras de Control Selección Simple Diagrama de Flujo Condición no sí if(condición){ sentencias; } Sentencias 9
Estructuras de Control Selección doble Diagrama de Flujo if (condición){ sentencia 1; sí sentencia 1 condición no sentencia 2 } else { sentencia 2; } 10
Selección Múltiple Diagrama de Flujo Condición sí Sentencia 1 sino Condición sí Sentencia 2 sino Condición sino sí Sentencia 3 Sentencia 4 if(condición){ sentencia 1; } else if(condición){ sentencia 2; } else if(condición){ sentencia 3; } else { sentencia 4; } 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 1 expresión n 2 acción 1 acción 2 acción n switch (expresión) { case caso 1: acción 1; break; case caso 2: acción 2; break; . . case caso. P: acción. P; break; default: 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 condición no while(condición){ sentencias; } 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 Sentencia do{ Si sentencia; }while (condición); 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
- Slides: 20