Post on 03-Jan-2016
description
Estructuras de controlResolución de
problemas y algoritmos
2
Análisis delproblema
Diseño delalgoritmo
Codificación
Ejecución yvalidación
Resolución de problemas
1
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, a
2,..,a
n>
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>
6
Estructuras de ControlSecuencial
Diagrama de Flujo
Acción 1
Acción 2
Acción n
main(){
acción 1;
acción 2;
….
acción n;
}
7
Estructuras de ControlSecuencial
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;
}
8
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.
9
Estructuras de Control Selección Simple
Diagrama de Flujo
Sentencias
Condiciónsí
no
if(condición){ sentencias;
}
10
Estructuras de Control Selección doble
Diagrama de Flujo
condiciónnosí
sentencia1 sentencia2
if (condición){ sentencia1;
} else {
sentencia2;
}
11
Selección Múltiple
Diagrama de Flujo
Condición
sí
sinoCondición Condición
sinosino
Sentencia1 Sentencia4Sentencia3Sentencia2
sí sí
if(condición){
sentencia1;
} else if(condición){
sentencia2;
} else if(condición){
sentencia3;
} else {
sentencia4;
}
12
Estructuras de Control Selectivas
Ejemplo:Determinar si un número entero es par o impar
13
Estructuras de ControlSelección Múltiple
Diagrama de Flujo
acción 1
expresión
acción 2 acción n
1
2
n
switch (expresión) {
case caso1: acción1;
break;
case caso2: acción2;
break;
....................
case casoP: acciónP;
break;
default: acciónN;
};
14
Estructuras de ControlRepetitivas
Repiten la ejecución de un grupo de acciones una cierta cantidad de veces.
15
Estructuras de ControlIterativas
Diagrama de Flujo
Sentencia
condición
sí
no
while(condición){ sentencias;
}
16
Estructuras de ControlIterativas
Ejemplos:
Calcular la sumatoria de los primeros 100 enteros.Imprimir los n primeros enteros
17
Estructuras de ControlIterativas
Sentencia
condición
No
Si
Diagrama de Flujo
do{
sentencia;
}while (condición);
18
Iteratición
Ejemplo:Calcular el factorial de un númeroCalcular la raíz cuadrada de un número
19
Estructuras de ControlIterativas
Diagrama de Flujo
Sentencia
Variable:=inicio,condición,incremento
for (inicialización; condición; incremento ){ sentencias;
}
20
Iteración
Ejemplos:Calcular la suma de los primeros 100 enteros.