De no ser por las estructuras de control, el código en cualquier lenguaje de programación sería ejecutado línea a línea de forma secuencial hasta el fin del programa. Un programa que está escrito basado en un código fuente en algún lenguaje de programación no deja de ser un conjunto de instrucciones que son ejecutadas una tras otras.
La estructura de control if
que en inglés if significa si le permite a un programa ejecutar determinadas instrucciones cuando se cumpla una o más condiciones.
El siguiente diagrama de flujo muestra la ejecución de una sentencia if :
--- title: "DIAGRAMA DE FLUJO: SENTENCIA IF" --- graph LR inicio([Inicio]) inicio-->condicion{"CONDICIÓN"} condicion-->|Si| bloqueA[BLOQUE] condicion-->fin([fin]) bloqueA-->fin([fin]) linkStyle default stroke: #f2f5a6 classDef default fill:#191919,stroke:#f2f5a6,stroke-width:1px,color:#ccc
Como se puede visualizar en el diagrama de flujo, gracias a las estructuras de control, podemos cambiar el flujo de ejecución de un programa.
Veamos un caso muy sencillo. Por lo tanto, si quisieramos crear un programa para que el usuario introduzca un número y luego evaluar si cuyo número introducido es un número positivo y simplemente el programa nos muestre un mensaje ‘Escribió un número positivo, muy bien’.
El diagrama de flujo siguiente muestra los pasos para lograr el objetivo:
--- title: "DIAGRAMA DE FLUJO: ES POSITIVO?" --- graph LR inicio([Inicio]) inicio-->id2[/numero/] id2-->condicion{"numero > 0"} condicion-->|Si| true[/numero, 'es par'/] condicion-->fin([fin]) true-->fin linkStyle default stroke: #f2f5a6 classDef default fill:#191919,stroke:#f2f5a6,stroke-width:1px,color:#ccc
Así que el código queda así:
1
2
3
4
numero = int(input("Escriba un número positivo: "))
if numero >= 0:
print('Escribió un número positivo, muy bien')
print('fin del programa')
Es posible que no solo queramos hacer algo si una determinada condición se cumple, sino además queramos hacer algo en caso contrario. Es aquí donde entre en juego la cláusula else
en Python que se comporta como lo que sucedería si la condición no se cumple, se ejecutará el código presente dentro del else
.
El diagrama de flujo siguiente muestra la ejecución de una sentencia if
… else
:
--- title: "DIAGRAMA DE FLUJO: SENTENCIA IF...ELSE" --- graph LR inicio([Inicio]) inicio-->condicion{"CONDICIÓN"} condicion-->|Si| bloqueA[BLOQUE A] condicion-->|No| bloqueB[BLOQUE B] bloqueA-->fin([fin]) bloqueB-->fin([fin]) linkStyle default stroke: #f2f5a6 classDef default fill:#191919,stroke:#f2f5a6,stroke-width:1px,color:#ccc
OJO
Nótese que ambos bloque de código son excluyentes, se entra o en uno o en otro, pero nunca se ejecutarán los dos.
Veamos un caso muy sencillo. El módulo o residuo de una en una operación de división te da el sobrante de la división entera de un número entre otro y se representa con el símbolo de porcentaje %
en Python.
Por lo tanto, si quisieramos crear un programa para que el usuario introduzca un número y luego evaluar cuyo número y nos muestre un mensaje si el número introducido es par o impar.
El siguiente diagrama de flujo muestra los pasos para lograr el objetivo:
--- title: "DIAGRAMA DE FLUJO: ES PAR?" --- graph LR inicio([Inicio]) inicio-->id2[/numero/] id2-->condicion{"numero MOD 2=0"} condicion-->|Si| true[/numero, 'es par'/] condicion-->|No| false[/numero, 'es impar'/] true-->fin([fin]) false-->fin([fin]) click inicio call callback() "Clic para ver más detalles" click condicion call callback() "Clic para ver más detalles" click true call callback() "Clic para ver más detalles" click false call callback() "Clic para ver más detalles" click c call callback() "Tooltip for a callback" linkStyle default stroke: #f2f5a6 classDef default fill:#191919,stroke:#f2f5a6,stroke-width:1px,color:#ccc
Como podemos observar en el diagrama de flujo. El programa pide un número al usuario y almacena la respuesta en la variable numero
. Después comprueba si el número es par o impar evaluando la condición. Si lo es, el programa mostrará el número ingresado por el usuario acompañado de la frase es par. Sino, el programa mostrará el valor introducido por el usuario acompañado de la frase es impar luego de eso el programa finaliza.
Entonces nuestro código en Python queda así:
1
2
3
4
5
numero = int(input("Introduce un número para evaluar si es par o impar: "))
if numero % 2 == 0:
print(numero,'es par')
else:
print(numero,'es impar')