Variables, condiciones y ciclos explicados sin complicaciones

Un programa que recibe cinco calificaciones, calcula un promedio y avisa si el alumno aprobó ya necesita hacer tres cosas distintas: conservar datos, tomar decisiones y repetir operaciones. Ninguna parece especialmente compleja por separado; sin embargo, juntas forman una parte enorme de la lógica que aparece en programas de todo tipo.

Los nombres cambian según el lenguaje y la sintaxis también. Aun así, detrás de muchas aplicaciones siguen apareciendo las mismas ideas: variables para trabajar con información, condiciones para elegir un camino y ciclos para repetir una tarea sin copiar las mismas instrucciones una y otra vez.

Tres ideas aparecen antes de que aparezca el código

Supón que una escuela quiere un programa sencillo para revisar las calificaciones de un grupo. El sistema recibe el nombre de cada alumno y sus resultados, calcula un promedio y muestra si alcanzó la calificación mínima establecida.

Antes de pensar en Python, JavaScript o cualquier otro lenguaje, el problema ya contiene varias decisiones. El programa necesita recordar un nombre y una serie de calificaciones. Después debe comparar el promedio con un valor mínimo. Además, la misma operación tendrá que repetirse para cada alumno.

La Unidad de Apoyo para el Aprendizaje de la UNAM explica que los algoritmos suelen apoyarse en secuencias, selecciones e iteraciones. La secuencia hace que una acción siga a otra; la selección permite elegir según una condición; la iteración repite acciones cuando el problema lo requiere. Las variables, por su parte, conservan los valores con los que esas estructuras trabajan.

Mirar primero el problema evita un error común al empezar: memorizar palabras reservadas sin entender para qué sirven. if, for o while adquieren sentido cuando representan una necesidad concreta del programa.

Variables

Una variable da nombre a un dato que necesitas volver a usar

Cuando haces una cuenta en papel, quizá escribas un número en una esquina para no olvidarlo mientras continúas. En programación ocurre algo parecido, aunque una variable no debe entenderse literalmente como una caja física dentro de la computadora.

Una variable es un nombre que utilizamos para referirnos a un valor durante la ejecución de un programa. En Python podríamos escribir:

nombre = "Mariana"
calificacion = 8.7

A partir de ese momento, el programa puede utilizar nombre y calificacion en otras operaciones. Si más adelante la calificación cambia, el mismo nombre puede quedar asociado a otro valor:

calificacion = 9.1

El nombre de la variable ayuda a que el código tenga significado para quien lo lee. calificacion_final comunica mucho más que x, sobre todo cuando el programa crece y varias personas necesitan entenderlo después.

Ahora bien, una variable no sirve únicamente para números. Puede representar texto, valores verdaderos o falsos, colecciones de elementos y otros tipos de datos. La forma exacta depende del lenguaje utilizado. La Facultad de Ingeniería de la UNAM reúne variables, constantes, tipos de datos, expresiones y estructuras de control entre los fundamentos utilizados para construir programas.

Si escribimos:

promedio = 8.4
minimo_aprobatorio = 6

no estamos guardando números al azar. Uno representa el resultado del alumno; el otro funciona como referencia para una decisión posterior. Las variables empiezan a resultar interesantes precisamente cuando participan en cálculos, comparaciones y cambios de estado.

Una condición permite que el programa siga caminos diferentes

Un programa puramente secuencial ejecuta una instrucción después de otra. Eso basta para algunas tareas, pero muchas situaciones dependen de lo que ocurra durante la ejecución.

Un sistema de acceso puede permitir la entrada cuando la contraseña coincide. Una tienda aplica un descuento bajo ciertas reglas. Una plataforma educativa muestra un mensaje distinto según la calificación. En todos esos casos existe una pregunta que puede evaluarse.

En Python, una decisión sencilla podría verse así:

if promedio >= minimo_aprobatorio:
    print("Aprobado")
else:
    print("No aprobado")

La condición promedio >= minimo_aprobatorio produce un resultado lógico: verdadero o falso. Cuando es verdadera, se ejecuta un bloque; en caso contrario, se ejecuta el otro.

La documentación oficial de Python en español muestra que una estructura if puede ampliarse con elif y else cuando existen más posibilidades. Por ejemplo:

if promedio < 6:
    print("No aprobado")
elif promedio < 9:
    print("Aprobado")
else:
    print("Desempeño sobresaliente")

Aquí importa el orden. Un promedio de 9.5 también es mayor que 6; sin embargo, el programa evalúa las ramas según la estructura escrita y utiliza la que corresponde.

Por eso las condiciones no son simplemente frases de “sí o no”. Una decisión mal ordenada puede producir un programa válido desde el punto de vista sintáctico y, al mismo tiempo, equivocado en su lógica.

Además, las condiciones pueden combinar varias comprobaciones. Tal vez una beca requiera cierto promedio y un número mínimo de materias cursadas; quizá una promoción se active por una de dos reglas posibles. Los operadores lógicos permiten expresar esas relaciones, aunque conviene mantenerlas comprensibles.

Un ciclo evita repetir manualmente la misma instrucción

Hasta ahora hemos evaluado a una sola persona. Un grupo de treinta alumnos cambia el problema.

Podríamos copiar treinta veces el cálculo del promedio y la condición correspondiente, pero esa solución sería tediosa y frágil. Si mañana cambia una regla, habría que modificar todas las copias. Un ciclo expresa mejor la intención: realizar la misma operación para cada elemento de un conjunto.

calificaciones = [8.7, 5.9, 9.3, 7.4]

for calificacion in calificaciones:
    print(calificacion)

El bloque dentro de for se ejecuta una vez por cada valor de la colección. Durante cada vuelta, la variable calificacion representa el elemento que se está procesando en ese momento.

La palabra iteración se utiliza para hablar de cada repetición. La UNAM describe estas estructuras como una forma de repetir acciones de manera controlada, mientras que Python utiliza for para recorrer los elementos de una secuencia.

No todos los ciclos, sin embargo, parten de una colección conocida de antemano. A veces necesitamos repetir algo mientras cierta condición siga siendo verdadera. Ahí aparece while:

intentos = 0

while intentos < 3:
    print("Intento", intentos + 1)
    intentos = intentos + 1

El programa continúa mientras intentos < 3. Cada vuelta modifica la variable y acerca el ciclo a su final.

Ese detalle es esencial. Si la condición nunca deja de ser verdadera, el ciclo puede continuar indefinidamente. for y while se parecen porque ambos repiten instrucciones; aun así, suelen resultar cómodos en situaciones distintas. for encaja bien cuando recorremos elementos, mientras que while expresa con naturalidad una repetición gobernada por una condición.

Cuando se combinan, dejan de parecer conceptos aislados

Variables, condiciones y ciclos rara vez permanecen separados en un programa real. Se mezclan porque cada uno resuelve una parte distinta del mismo problema.

Volvamos a las calificaciones:

calificaciones = [8.7, 5.9, 9.3, 7.4]
minimo_aprobatorio = 6
aprobados = 0

for calificacion in calificaciones:
    if calificacion >= minimo_aprobatorio:
        aprobados = aprobados + 1

print("Alumnos aprobados:", aprobados)

calificaciones conserva el conjunto que queremos revisar. minimo_aprobatorio guarda la referencia de la decisión y aprobados empieza en cero como contador.

Después, for recorre cada calificación. Dentro del ciclo, if pregunta si cumple el criterio. Solo cuando la respuesta es verdadera aumenta el contador. Al terminar, aprobados contiene información que no estaba escrita directamente en la lista inicial: el programa la obtuvo después de repetir una operación y tomar una decisión en cada vuelta.

Ese patrón aparece constantemente con variaciones. Una aplicación puede recorrer productos y contar cuáles están agotados; un sistema de correo revisa mensajes y separa los que cumplen determinados criterios. La escala cambia, pero la combinación de datos, decisiones y repetición permanece.

En qué es programar y qué hace realmente un programador vimos que escribir código es solo una parte del trabajo. Aquí se aprecia por qué: antes de elegir for o if, alguien tuvo que entender qué debía contar, qué condición representaba “aprobar” y qué resultado necesitaba obtener.

Leer el flujo ayuda más que memorizar las palabras

Cuando un programa con condiciones y ciclos empieza a fallar, observarlo línea por línea suele revelar más que mirar el código como un bloque completo.

Toma el ejemplo anterior y sigue mentalmente la primera calificación. calificacion vale 8.7; la condición resulta verdadera; aprobados pasa de 0 a 1. Después llega 5.9; esta vez la condición es falsa y el contador conserva su valor. La ejecución continúa así hasta terminar la lista.

Ese ejercicio consiste en seguir el estado del programa. Las variables cambian, las condiciones deciden y los ciclos llevan la ejecución de vuelta a una parte anterior del código. Cuando puedes explicar qué valor tiene cada variable en un momento determinado, muchos errores dejan de parecer misteriosos.

Microsoft Learn incluye lógica condicional, colecciones y bucles dentro de su serie de Python para principiantes en español de México. Es una progresión razonable porque estos conceptos empiezan a reforzarse en cuanto abandonamos los ejemplos aislados.

Si vienes de Python para principiantes, este es el punto en el que la sintaxis empieza a convertirse en razonamiento. Ya no basta con conseguir que una instrucción funcione: empiezas a decidir qué información conservar, cuándo tomar una ruta distinta y qué tarea merece repetirse.

Un programa pequeño puede contener las tres ideas en menos de veinte líneas. Comprender por qué están ahí es lo que permite reconocerlas después en proyectos mucho más grandes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio