[email protected]
Programación Estructurada Un enfoque
Postulado Principal La programación estructurada postula que todo programa se puede resolver usando 3 bloques básicos: • Proceso • Decisión • Repetición
Proceso "Hacer A"
Decisión "Si P, hacer A"
Repetición "Mientras P, hacer A"
Todo es un proceso Cada proceso tiene una entrada y una salida.
Todo es un proceso Cada proceso tiene una entrada y una salida.
Todo es un proceso Cada proceso tiene una entrada y una salida.
Una secuencia de procesos es también un proceso.
Todo es un proceso
Todo es un proceso
Todo es un proceso La decisión y la repetición pueden considerarse como procesos.
Todo es un proceso Un programa es una secuencia de bloques.
Todo es un proceso Un programa es una secuencia de bloques.
Todo es un proceso Un programa es una secuencia de bloques.
Todo es un proceso Un programa es una secuencia de bloques.
Todo es un proceso De ese modo, cualquier programa puede ser considerado como un proceso.
Tipos de proceso Ejecución Por ejemplo, al llamar un procedimiento: init(); Asignación Por ejemplo, al calcular una expresión, o llamar una función: a = b + 1; y = f(x); Lectura/Escritura Como leer del teclado, presentar algo en pantalla, etc. A veces se representa con un paralelogramo.
Tipos de procesos Puede ser útil considerar que: • Un procedimiento es una función que no retorna nada (retorna void). • La llamada a una función ejecuta un procedimiento además de retornar un valor.
Tipos de decisión Simple: if P then A
Tipos de decisión Doble: if P then A else B
Tipos de decisión Múltiple: a) if P then A else if Q then B else if R then C b) switch case P: A case Q: B case R: C
Tipos de decisión
Todas las decisiones pueden expresarse en términos de la decisión simple. Las formas doble y múltiple son simplemente para facilitar la programación.
Tipos de repetición While: while P do A
Tipos de repetición Do while: do A while P
Tipos de repetición For: for (ini; P; inc) do A
Tipos de repetición
Todas las repeticiones pueden expresarse en términos de while. Las formas for y do while son simplemente para facilitar la programación.
Equivalencias A veces un bloque puede ser expresado en términos de otro tipo de bloque. La práctica de esto puede ayudar a elegir los bloques más adecuados para cada problema.
Equivalencias do while - while
do A while P
A while P do A
Equivalencias contando hasta 10
for (i=1; i<=10; i++) write(i)
Normalmente un conteo se hace usando un bloque for.
Equivalencias contando hasta 10
i = 1; while (i<=10) { write(i); i++; }
Un for se puede expresar como un while.
Equivalencias contando hasta 10
i = 0; do { if (i>0) { write(i); i++; } } while (i<=10);
Para poder hacer lo mismo con un do while hay que hacer unos ajustes.