De diagrama a código¶
Una vez diseñado el diagrama de flujo, el siguiente paso es traducirlo a código Python. En esta sección veremos los elementos básicos del lenguaje necesarios para hacer esa transición.
Ambiente de desarrollo¶
El ambiente de desarrollo que utilizaremos en esta asignatura es Visual Studio Code (VSC). Un entorno de programación tiene tres partes principales:
-
Editor
Donde se escribe el código fuente del programa.
-
Intérprete
Ejecuta el código línea por línea y produce el resultado.
-
Consola
Donde se visualiza la salida del programa en ejecución.
Vocabulario básico
- Ejecutar: realizar cada paso de un programa línea por línea.
- Matar: detener un programa que está en ejecución.
Palabras reservadas¶
Python tiene un conjunto de palabras reservadas que forman el vocabulario básico del lenguaje. No pueden usarse como nombres de variables.
import class pass yield from as
print input def return and or
not if elif else for while
continue break in try except finally
raise del is assert lambda global
Entrada y salida¶
Mostrar mensajes — print()¶
La función print() muestra información en la consola:
Para mostrar el valor de una variable se puede hacer de distintas formas:
F-strings
Los f-strings (cadenas formateadas) permiten incluir expresiones dentro de {} que se evalúan automáticamente al ejecutar el programa. Son la forma más moderna y legible de formatear texto en Python.
Ingresar datos — input()¶
La función input() muestra un mensaje al usuario y espera que ingrese un valor:
Todo lo que input() recibe es un str
Independientemente de si el usuario escribe números o texto, input() siempre devuelve una cadena de caracteres. Para trabajar con números es necesario convertir el valor:
edad = int(input("Ingresa tu edad: ")) # convierte a entero
peso = float(input("Ingresa tu peso: ")) # convierte a decimal
¿Cómo funciona por dentro?
Expresiones¶
Aritméticas¶
Combinan números y variables con operadores matemáticos para producir un resultado numérico.
| Operador | Descripción | Ejemplo |
|---|---|---|
+ |
Suma | 5 + 3 → 8 |
- |
Resta | 5 - 3 → 2 |
* |
Multiplicación | 5 * 3 → 15 |
/ |
División | 5 / 2 → 2.5 |
// |
División entera | 5 // 2 → 2 |
% |
Módulo (resto) | 5 % 2 → 1 |
** |
Potencia | 2 ** 3 → 8 |
La prioridad de operadores sigue este orden:
- Paréntesis
() - Potencias
** - Multiplicación, división y módulo
*,/,//,% - Suma y resta
+,- - De izquierda a derecha en igual prioridad
Relacionales¶
Comparan dos valores y devuelven True o False.
| Operador | Descripción | Ejemplo |
|---|---|---|
== |
Igual a | 5 == 5 → True |
!= |
Distinto de | 5 != 3 → True |
> |
Mayor que | 5 > 3 → True |
< |
Menor que | 5 < 3 → False |
>= |
Mayor o igual | 5 >= 5 → True |
<= |
Menor o igual | 3 <= 5 → True |
Lógicas¶
Combinan expresiones booleanas con operadores lógicos.
| Operador | Descripción | Ejemplo |
|---|---|---|
and |
Verdadero si ambos son verdaderos | True and False → False |
or |
Verdadero si al menos uno es verdadero | True or False → True |
not |
Invierte el valor lógico | not True → False |
Prioridad: not → and → or
Transición de diagrama a código¶
Cada símbolo del diagrama de flujo tiene su equivalente directo en Python.
Estructura secuencial¶
Ejemplo: calcular \(y = mx + c\)
flowchart TD
A([INICIO]) --> B@{ shape: doc, label: "\"Ingrese el valor de x:\"" }
B --> C[/x/]
C --> D@{ shape: doc, label: "\"Ingrese los valores de m y c:\"" }
D --> E[/m, c/]
E --> F["y = m * x + c"]
F --> G@{ shape: doc, label: "\"El resultado es:\", y" }
G --> H([FIN])
Estructura condicional (IF)¶
La estructura if en Python corresponde al rombo de decisión del diagrama:
flowchart TD
A([INICIO]) --> B[/x/]
B --> C{"x < 20"}
C -->|Sí| D@{ shape: doc, label: "\"Es menor que 20\"" }
C -->|No| E
D --> E
E --> F{"x < 10"}
F -->|Sí| G@{ shape: doc, label: "\"Es menor que 10\"" }
F -->|No| H([FIN])
G --> H
La indentación es obligatoria
Las instrucciones dentro de un bloque if deben estar indentadas con 4 espacios o 1 tabulador. Python usa la indentación para definir los bloques de código.
Ejercicios¶
- Escribe un programa que solicite la base y la altura de un triángulo y calcule su área.
- Escribe un programa que solicite dos números y muestre el mayor de los dos.
- Escribe un programa que solicite un número entero y determine si es par o impar.
- Escribe un programa que solicite la renta anual de una persona y calcule el impuesto según los tramos definidos en la unidad anterior.
- Escribe un programa que solicite un año y determine si es bisiesto (múltiplo de 4, excepto los múltiplos de 100 que no sean también múltiplos de 400).