Indicación metodológica de lectura fundamental para el estudiante
Antes de presionar una sola tecla o abrir su Bloc de Notas, lea este capítulo por completo. Si en la clase anterior aprendimos a tomar decisiones (caminos de "si" o "no"), hoy aprenderemos a hacer que la computadora trabaje de forma incansable. Un programador no es alguien que hace tareas repetitivas, sino alguien que sabe cómo darle a la computadora la instrucción para que ella realice esas tareas por nosotros. La paciencia, la precisión en la sangría y la escucha atenta de su lector de pantalla son fundamentales. No se apresure; el código que sigue es más dinámico y, por tanto, más propenso a errores si no mantenemos el orden.
Introducción
Hasta ahora, nuestros programas ejecutaban una instrucción y terminaban. Si queríamos saludar a cinco personas, debíamos escribir cinco veces la misma línea. Eso no es programar, eso es escribir. En este capítulo, entraremos al mundo de los ciclos o bucles. Un ciclo es una estructura que permite repetir un bloque de código tantas veces como sea necesario. Aprenderemos a usar el bucle "while" (mientras), que permite que una tarea se repita siempre y cuando una condición se mantenga verdadera. También conoceremos las palabras clave que definen la sintaxis de Python y la extensión real de este lenguaje.
Objetivos del Capítulo
Primero: Dominar la estructura de control "while" para la automatización de tareas.
Segundo: Comprender el concepto de "condición de salida" para evitar los temidos bucles infinitos.
Tercero: Ampliar su vocabulario técnico con palabras reservadas del lenguaje.
Cuarto: Superar el Desafío del Laberinto Mental nivel avanzado (con ciclos).
Quinto: Mantener el rigor técnico en la edición, renombrado de archivos y ejecución en CMD.
Explicaciones Detalladas
El bucle While: La repetición controlada
La instrucción "while" significa "mientras". Su lógica es: "Mientras esta condición sea verdadera, ejecuta este bloque de código una y otra vez".
La estructura es:
while condicion_logica:
(tabulador) accion_a_repetir
Si la condición nunca deja de ser verdadera, su programa se quedará atrapado en un bucle infinito y su lector de pantalla no parará de leer hasta que usted presione Control + C en la consola para detenerlo. ¡Cuidado con esto!
El vocabulario de Python: Un lenguaje compacto
Python es un lenguaje increíblemente potente, pero sorprendentemente pequeño. En total, existen aproximadamente 35 palabras reservadas o palabras clave que el lenguaje reconoce como comandos especiales. Dominar el lenguaje no es memorizar miles de comandos, sino aprender a combinar estas 35 palabras de forma lógica. Usted ya conoce if, else, elif, input, print. En este capítulo, usted debe añadir while a su vocabulario mental.
Vocabulario técnico obligatorio
Investigue y defina en su cuaderno de respuestas (Tarea_Siete.txt) qué significan estos términos:
1. Iteración: Cada vez que un ciclo da una vuelta completa.
2. Bucle infinito: Un ciclo que nunca termina.
3. Variable acumuladora: Variable que aumenta o cambia su valor en cada vuelta.
4. Palabra reservada: Comando propio del lenguaje que no podemos usar como nombre de variable.
5. Control + C: Comando del teclado para forzar el cierre de un programa en ejecución.
6. Condición de parada: La lógica que obliga a un bucle a terminar.
7. Sintaxis: El conjunto de reglas gramaticales de Python.
8. Depuración: Proceso de encontrar y corregir errores.
9. Argumento: El valor que va dentro de los paréntesis de una función.
10. Booleano: Tipo de dato que solo puede ser Verdadero (True) o Falso (False).
Desafío Mental: El Laberinto de los Ciclos (Nivel Avanzado)
Instrucciones:
1. Cree un nuevo archivo en su carpeta Capitulo 7 llamado Laberinto_Mental.txt.
2. Metodología: El explorador se encuentra ante una puerta de seguridad que solo se abre si se presiona un botón exactamente 10 veces. Si presiona 11, la puerta se bloquea para siempre.
3. Usted debe diseñar el algoritmo en texto plano explicando:
* ¿Qué variable usará para contar las presiones?
* ¿Qué condición debe evaluar el while?
* ¿Qué sucede si el explorador presiona el botón una vez más de la cuenta?
4. Sistema de puntuación: Ganará más puntos entre más compleja sea la solución que diseñe (añadiendo, por ejemplo, un sistema de advertencia en el noveno intento). Si su solución es sencilla pero brillante y diferente, ganará puntos por capacidad de asimilación.
5. ¡No se engañe! No busque la solución en internet. El valor del juego reside en que usted desarrolle su criterio y capacidad de resolución. Si no sale a la primera, descanse y vuelva a intentar.
Ejemplo Práctico Guiado: El Contador Automático
Vamos a crear un contador que nos salude cinco veces.
Paso Uno: Digite este código:
contador = 1
while contador <= 5:
print("Este es el saludo número", contador)
contador = contador + 1
print("Ciclo finalizado.")
Paso Dos: Análisis de la estructura.
Note que contador = contador + 1 es vital. Si usted olvida esta línea, el contador siempre valdrá 1 y el ciclo nunca terminará.
Paso Tres: Guárdelo como contador.py y ejecútelo. Observe cómo la computadora se encarga de repetir el proceso.
Ejercicios de Refuerzo de Lógica
Cree el archivo Algoritmos_Capitulo_7.txt y desarrolle:
Ejercicio 1: Algoritmo para un cajero automático que permite al usuario intentar ingresar su PIN hasta tres veces. Si falla tres veces, bloquea la tarjeta.
Ejercicio 2: Algoritmo para sumar todos los números del 1 al 10 usando un ciclo.
Ejercicios Prácticos de Programación en Python
Ejercicio 1: La cuenta regresiva.
Pregunte un número al usuario y haga un bucle que imprima los números desde ese valor hasta el 1. Use contador = contador - 1.
Ejercicio 2: Tabla de multiplicar.
Pida un número y use un bucle para mostrar su tabla de multiplicar del 1 al 10.
Ejercicio 3: El menú infinito.
Haga un programa que pregunte "¿Desea salir? (s/n)". Mientras la respuesta sea "n", el programa debe seguir preguntando.
Prácticas con tu Lector de Pantalla y CMD
Abra Tarea_Siete.txt en su carpeta Capitulo 7 y responda:
1. ¿Qué sonido o mensaje da su lector de pantalla al encontrarse con una línea indentada dentro de un while?
2. Si un programa entra en bucle infinito, ¿cómo se siente auditivamente? ¿Qué comando usa para detenerlo?
3. ¿Por qué es necesario sumar 1 a la variable contador en cada vuelta?
4. ¿Qué comando de CMD usaría para ver rápidamente si el archivo contador.py fue creado correctamente antes de intentar ejecutarlo?
5. ¿Cómo utiliza su lector de pantalla para verificar que la sangría del print dentro del while es idéntica a la sangría del contador = contador + 1?
6. En la consola CMD, ¿cómo utiliza la tecla Flecha Arriba para corregir un programa que dio error en la lógica de su while?
7. Al usar el lector de pantalla para revisar el código, ¿qué comando específico usa para leer el "final de línea" y asegurarse de que no haya espacios en blanco innecesarios tras los dos puntos?
8. ¿Para qué sirve el comando "dir" antes de ejecutar su archivo .py, y cómo ayuda a confirmar que el archivo existe en la carpeta correcta?
9. ¿Cómo usa el lector de pantalla para deletrear la palabra "while" y verificar que no se haya escrito mal?
10. ¿Por qué es recomendable limpiar la consola con "cls" cada vez que prueba una nueva combinación de un programa de bucle?
Información Institucional sobre la Evaluación
Usted está aprendiendo a dar autonomía a sus programas. Recuerde: el orden en la carpeta Bloque Dos es su carta de presentación como futuro programador. Sea riguroso. Nos vemos el domingo para seguir construyendo lógica.
Profesor: Diego R. Solano C.