Programacion Estructurada

32
Programación Estructurada Un enfoque [email protected]

description

Enfoque sobre programación estructurada

Transcript of Programacion Estructurada

Page 1: Programacion Estructurada

Programación Estructurada

Un enfoque

[email protected]

Page 2: Programacion Estructurada

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

• Proceso• Decisión• Repetición

Postulado Principal

Page 3: Programacion Estructurada

Proceso

"Hacer A"

Page 4: Programacion Estructurada

Decisión

"Si P, hacer A"

Page 5: Programacion Estructurada

Repetición

"Mientras P, hacer A"

Page 6: Programacion Estructurada

Todo es un proceso

Cada proceso tiene una entrada y una salida.

Page 7: Programacion Estructurada

Todo es un proceso

Cada proceso tiene una entrada y una salida.

Page 8: Programacion Estructurada

Todo es un proceso

Cada proceso tiene una entrada y una salida.

Una secuencia de procesos es también un proceso.

Page 9: Programacion Estructurada

Todo es un proceso

Page 10: Programacion Estructurada

Todo es un proceso

Page 11: Programacion Estructurada

Todo es un proceso

La decisión y la repetición pueden considerarse como procesos.

Page 12: Programacion Estructurada

Todo es un proceso

Un programa es una secuencia de bloques.

Page 13: Programacion Estructurada

Todo es un proceso

Un programa es una secuencia de bloques.

Page 14: Programacion Estructurada

Todo es un proceso

Un programa es una secuencia de bloques.

Page 15: Programacion Estructurada

Todo es un proceso

Un programa es una secuencia de bloques.

Page 16: Programacion Estructurada

Todo es un proceso

De ese modo, cualquier programa puede ser considerado como un proceso.

Page 17: Programacion Estructurada

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.

Page 18: Programacion Estructurada

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.

Page 19: Programacion Estructurada

Tipos de decisión

Simple: if P then A

Page 20: Programacion Estructurada

Tipos de decisión

Doble: if P then A else B

Page 21: Programacion Estructurada

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

Page 22: Programacion Estructurada

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.

Page 23: Programacion Estructurada

Tipos de repetición

While: while P do A

Page 24: Programacion Estructurada

Tipos de repetición

While: while P do A

Page 25: Programacion Estructurada

Tipos de repetición

Do while: do A while P

Page 26: Programacion Estructurada

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.

Page 27: Programacion Estructurada

Tipos de repetición

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

Page 28: Programacion Estructurada

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.

Page 29: Programacion Estructurada

Equivalenciasdo while - while

do Awhile P

Awhile P do A

Page 30: Programacion Estructurada

Jugandocontando hasta 10

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

Normalmente un conteo se hace usando un bloque for.

Page 31: Programacion Estructurada

Jugandocontando hasta 10

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

Un for se puede expresar como un while.

Page 32: Programacion Estructurada

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.