3.1 Estructuras de Control

Referencia: Van Rossum 4 p19, Rodriguez 3.4 p26, Downey 5.5

Estructura Básica

Toda solución a un problema (algoritmo) puede ser planteado usando una estructura básica ordenada, compuesta por Inicio, ingreso, procedimiento, salida y fin, semejante a lo descrito en la figura.

Diagrama de Flujo Básico
Diagrama de Flujo Básico

Las estructuras se usan como una forma lógica y ordenada de plantear un algoritmo, para que sea legible por otras personas, sea modular como las piezas de un lego. Permite reutilizar bloques en otros algoritmos para evitar escribirlos nuevamente.



Bloque de Inicio

Permite dar las indicaciones iniciales para la solución de un problema, tales como la referencias o comentarios (#), e importar las herramientas necesarias (import), definir sus propias herramientas (funciones), etc.

comentarios o referencias:

# 1ra Eval. II Termino 2014
# Tema 1

Librerías para cálculo numérico, por ejemplo: Numpy

import numpy as np
c = np.sqrt((a**2)+(b**2))

Librerías para uso de aleatorios: random

import random as rnd
dado = int(rnd.random.random()*6)+1

Librerías para uso de vectores y Matrices: Numpy

import numpy as np
tabla= np.zeros(5,dtype=int)
tabla= np.zeros(shape=(3,5), dtype=float)

entre otras.


Bloque de Ingreso

Donde se pide o ingresa los datos necesarios para resolver el problema, es decir se obtienen los valores de variables, etc.

Ejemplo: Pedir un número entero por teclado

a = int(input('pregunta: '))

Ejemplo: ingresar un número real por teclado

a = float(input('pregunta: '))

Bloque de Procedimiento

Donde se resuelve el problema con los datos ingresados. Aquí es donde más se usan las estructuras de control de operaciones, se desarrolla por bloques.

En cada bloque, la tabulación indica dependencia del bloque.

Condicionales

Permite seleccionar una operación como resultado de una condición establecida.

condicional

if (Condicion):
    Verdadero
else:
    Falso

Ejemplo:

if (a>b):
    a = a+3
else:
    b = b-2

Lazo Repetir: Mientras Repita

permite repetir un bloque de operaciones controlado por una condición.

mientrasrepita

while (condicion):
    operaciones

Ejemplo:

while (a<100):
    a = a+5

Lazo: Repita-Hasta

Se lee como «hasta» que se cumpla el bloque.

Repitahasta

while not(condicion):
   operaciones

Ejemplo:

while not(a<100):
     a = a+5

Bloque de Salida

Presenta los resultados encontrados al desarrollar la solución al problema.

Ejemplo: para mostrar una variable o un mensaje

print('Resultado: ')
print(variable)
print('mensaje:', respuesta)

En las siguiente secciones se dan más detalles, junto al desarrollo de los ejercicios.