Ariana
La programación estructurada postula que todo programa se
puede resolver usando 3 bloques básicos:
1. Proceso
2. Decisión
3. Repetición
"Hacer A"
"Si P, hacer A"
"Mientras P, hacer A"
Cada proceso tiene una
entrada y una salida.
Cada proceso tiene una
entrada y una salida.
Cada proceso tiene una
entrada y una salida.
Una secuencia de procesos
es también un proceso.
La decisión y la repetición
pueden considerarse como
procesos.
Un programa es una
secuencia de bloques.
Un programa es una
secuencia de bloques.
Un programa es una
secuencia de bloques.
Un programa es una
secuencia de bloques.
De ese modo, cualquier
programa puede ser
considerado como un
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.
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.
Simple:
if P
then A
Doble:
if P
then A
else B
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
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.
While:
while P
do A
While:
while P
do A
Do while:
do A
while P
Todas las repeticiones pueden expresarse en términos
de while.
Las formas for y do while son simplemente para facilitar
la programación.
For:
for (ini; P; inc)
do A
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.
do A
while P
A
while P
do A
for (i=1; i<=10; i++)
write(i)
Normalmente un conteo se hace
usando un bloque for.
i = 1;
while (i<=10) {
write(i);
i++;
}
Un for se puede expresar como
un while.
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.

Programacionestructurada