La programación estructurada postula que todo programa se puede resolver usando 3 bloques básicos: proceso, decisión y repetición. Cada bloque tiene una entrada y salida, y una secuencia de bloques también se considera un proceso. De este modo, cualquier programa puede expresarse como un solo proceso compuesto de estos tres bloques básicos.