Programacion Estructurada

Post on 04-Jul-2015

3.444 views 4 download

description

Enfoque sobre programación estructurada

Transcript of Programacion Estructurada

Programación Estructurada

Un enfoque

akobashikawa@gmail.com

La programación estructurada postula que todo programa se puede resolver usando 3 bloques básicos:

• Proceso• Decisión• Repetición

Postulado Principal

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ónPor ejemplo, al llamar un procedimiento: init();

AsignaciónPor ejemplo, al calcular una expresión, o llamar una función: a = b + 1; y = f(x);

Lectura/EscrituraComo 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

While: while P do A

Tipos de repetición

Do while: do A while P

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.

Tipos de repetición

For: for (ini; P; inc) do A

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.

Equivalenciasdo while - while

do Awhile P

Awhile P do A

Jugandocontando hasta 10

for (i=1; i<=10; i++) write(i)

Normalmente un conteo se hace usando un bloque for.

Jugandocontando hasta 10

i = 1; while (i<=10) { write(i); i++; }

Un for se puede expresar como un while.

Jugandocontando 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, pero es posible.