Imagen de portada del blog

La imagen tiene un fondo azul con cuatro iconos tecnológicos: un símbolo de señal Wi-Fi en la esquina superior izquierda, un portátil en la esquina superior derecha, dos engranajes (uno azul y otro amarillo) en la esquina inferior derecha y un navegador web con "www" en la esquina inferior izquierda. En el centro hay una placa base de computadora. Alrededor de la placa base está el texto "COMUNIDAD TIFLOTEC" en color naranja, formando un semicírculo.

Clase 11: Lenguajes Interpretados, Listas y la Memoria Dinámica


Indicación metodológica de lectura fundamental para el estudiante


Bienvenidos al Bloque Tres. Si ha llegado hasta aquí superando los exámenes anteriores, felicidades; su lógica y su madurez técnica están forjándose. Antes de presionar una sola tecla o abrir su Bloc de Notas para la parte técnica, lea este capítulo por completo con sumo cuidado. A partir de hoy, la dificultad se eleva drásticamente. Ya no trabajaremos con datos aislados, sino con colecciones enteras de información que cambian, se mueven y se transforman en tiempo real.


Pero antes de sumergirnos en el código, debemos hacer una pausa para entender la naturaleza íntima de nuestra herramienta. No podemos ser profesionales si no comprendemos cómo se comunica nuestro código con el procesador de la computadora.


Sección Especial: La naturaleza de Python y el Intérprete


Para que usted tenga un criterio técnico profesional, debe saber en qué se diferencia la forma de pensar de Python frente a otros lenguajes de programación tradicionales como C o C mas mas. La principal diferencia radica en cómo el texto que usted escribe en el Bloc de Notas llega a convertirse en acciones dentro del procesador.


El enfoque tradicional: Lenguajes Compilados.

En muchos lenguajes de programación, el código fuente debe pasar por un proceso llamado "compilación". Esto significa que un programa especial toma absolutamente todo el texto que usted escribió y lo traduce de una sola vez al lenguaje directo de la máquina, compuesto de unos y ceros. Este proceso genera un archivo ejecutable cerrado. Su principal ventaja es la velocidad extrema, ya que la computadora no tiene que pensar en lo que significa el código mientras lo ejecuta; ya está todo traducido. Sin embargo, si hay un solo error de sintaxis en mil líneas de código, la compilación se detiene por completo y no se genera el programa.


El enfoque de Python: Lenguaje Interpretado.

Python no se traduce de golpe. Es un lenguaje interpretado. Cuando usted escribe un programa en Python y lo ejecuta en la consola CMD, un programa llamado "Intérprete" entra en acción. Este intérprete actúa como un traductor humano simultáneo en una conferencia. Toma la línea 1, la traduce al procesador y la ejecuta. Luego baja a la línea 2, la traduce y la ejecuta, y así sucesivamente en tiempo real de arriba hacia abajo.


Las ventajas del intérprete para el programador:

La primera gran ventaja es la facilidad para encontrar errores (depuración). Si su programa tiene cien líneas y hay un error crítico en la línea cincuenta, el intérprete ejecutará perfectamente las primeras cuarenta y nueve líneas. Cuando llegue a la línea cincuenta, el programa se detendrá y le dirá con exactitud milimétrica en qué archivo y en qué número de línea falló la lógica.


La segunda ventaja es la portabilidad. Un programa compilado para Windows no funcionará en otro sistema operativo sin tener que reescribir y volver a compilar el código. En cambio, su archivo de texto de Python funcionará exactamente igual en cualquier computadora del mundo, siempre y cuando esa computadora tenga el intérprete de Python instalado. Nosotros escribimos una sola vez, y el intérprete se encarga de hablar el idioma local del sistema operativo.


Cuestionario de Contexto y Cultura Técnica


Antes de ir a la programación, responda estas preguntas en su hoja de respuestas para asegurar que ha asimilado la teoría:


Pregunta 1: Explique con sus propias palabras qué hace un intérprete y en qué se diferencia de un compilador.

Pregunta 2: Si usted comete un error en la última línea de un programa en Python, ¿se ejecutarán las líneas anteriores? Justifique su respuesta basándose en la naturaleza del intérprete.

Pregunta 3: ¿Por qué decimos que los lenguajes interpretados facilitan la detección de errores para los programadores?

Pregunta 4: Mencione una desventaja técnica que podría tener un lenguaje interpretado frente a un lenguaje compilado.

Pregunta 5: ¿Qué significa que el código de Python sea altamente portable entre diferentes sistemas operativos?


Juego Mental de Descanso: El Acertijo de la Memoria


Para romper la monotonía y calentar el cerebro antes de la parte técnica, resuelva este acertijo lógico sin usar la computadora. Escriba su respuesta y su razonamiento.


Contexto del juego: Usted tiene tres cajas de seguridad frente a usted. Cada caja tiene una etiqueta, pero alguien de forma maliciosa cambió TODAS las etiquetas para que ninguna diga la verdad absoluta.


Caja 1: Etiquetada como "Teclados".

Caja 2: Etiquetada como "Ratones".

Caja 3: Etiquetada como "Teclados y Ratones".


Usted sabe que dentro de las cajas están esos artículos, pero todas las etiquetas actuales son falsas. Usted solo tiene permiso para meter la mano en UNA caja, sacar un solo artículo y, sin ver el resto, deducir exactamente el contenido correcto de las tres cajas.


El reto: ¿En cuál de las tres cajas debe meter la mano para resolver el problema al instante, sabiendo que TODAS las etiquetas mienten, y cuál es la secuencia lógica de su deducción?


Introducción a la Parte Técnica: Las Listas


En las primeras diez clases, nuestras variables eran como cajas pequeñas que solo podían guardar un objeto a la vez. Si guardábamos el nombre de un usuario y luego el de otro en la misma variable, el primer nombre se borraba de la memoria para siempre. Pero en el mundo real, necesitamos bases de datos y registros extensos.


Hoy aprenderemos a construir Listas. Una lista es como un archivero con muchos cajones numerados y ordenados. Aprenderemos a crear este archivero, a meter datos, a sacarlos y, lo más difícil, a comprender cómo la computadora cuenta. Aquí es donde debe preparar su mente para desaprender y volver a aprender.


Objetivos de la Clase Técnica


Primero: Comprender y declarar listas en Python utilizando corchetes.

Segundo: Dominar el concepto del Índice Cero, la base de la memoria.

Tercero: Utilizar métodos integrados de modificación.

Cuarto: Superar el Desafío Mental Técnico de memoria dinámica.


Explicaciones Detalladas


La sintaxis de una lista y los corchetes


Para indicarle al intérprete de Python que queremos crear una lista, utilizamos corchetes. En los teclados con distribución en español, generalmente se obtienen pulsando las teclas ubicadas a la derecha de la letra P, a veces combinadas con la tecla Alt Gr.


Ejemplo de lista vacía: mi_lista = []

Ejemplo de lista con datos: nombres = ["Ana", "Luis", "Carlos"]


Note que los elementos van separados por comas y los datos de texto llevan sus respectivas comillas.


El trauma del principiante: El Índice Cero


Los humanos empezamos a contar nuestros objetos desde el número uno. Las computadoras, debido a la forma en que gestionan la memoria, empiezan a contar desde el cero. Si usted no asimila este cambio de paradigma, enfrentará errores constantes.

En nuestra lista nombres = ["Ana", "Luis", "Carlos"]:

La palabra Ana está en la posición 0.

La palabra Luis está en la posición 1.

La palabra Carlos está en la posición 2.


Para decirle al sistema que imprima únicamente el segundo nombre, usted no escribe el número dos, usted escribe: print(nombres[1]).


Métodos de modificación en tiempo real


Las listas son estructuras de datos mutables. Esto quiere decir que podemos alterarlas en plena ejecución. Usamos herramientas llamadas métodos, que se conectan al nombre de la lista mediante un punto:


1. nombres.append("Diego"): Este comando agrega la palabra Diego al puro final de la lista, sin importar cuántos elementos haya antes.

2. nombres.pop(0): Este comando borra de la memoria el elemento que esté guardado en la posición cero.

3. nombres.remove("Carlos"): Este comando busca textualmente la palabra Carlos y la elimina, independientemente de la posición numérica que ocupe.

4. len(nombres): Esta es una función que le indica cuántos elementos hay guardados en total. Si usted tiene tres nombres, el resultado será tres. La función len sí cuenta como un ser humano.


Vocabulario técnico obligatorio


Investigue y defina en su cuaderno de respuestas:


1. Compilador: Programa que traduce un código completo a lenguaje de máquina antes de su ejecución.

2. Intérprete: Programa que ejecuta las instrucciones línea por línea en tiempo real.

3. Índice (Index): El número entero que representa la posición exacta de un dato en una colección.

4. Mutabilidad: La capacidad de un objeto informático para cambiar su contenido interno manteniendo su misma identidad.

5. IndexError: Excepción que se dispara cuando el código intenta acceder a una posición de memoria que no existe en la lista.


Desafío Mental Técnico: El Archivero Dinámico


Metodología: Las listas en Python son dinámicas y se reorganizan solas. Si usted borra el elemento del índice cero, todos los demás elementos se resbalan hacia la izquierda para llenar el hueco vacío automáticamente.


Instrucciones: Siga mentalmente esta secuencia paso a paso sin escribir código.


1. El programa inicia con este estado: inventario = ["Radio", "Teclado", "Cable", "Monitor"]

2. Se ejecuta el comando: inventario.pop(1)

3. Se ejecuta el comando: inventario.append("Raton")

4. Se ejecuta el comando: inventario.pop(0)


Pregunta para resolver y justificar: ¿Cuál es la lista exacta de palabras que queda al final, y en qué índice numérico quedó guardada la palabra Monitor? Gana puntos por explicar la reorganización paso a paso.


Ejemplo Práctico Guiado: El Gestor de Tareas


Paso Uno: Digite este código prestando suma atención a lo que le indica su lector de pantalla:


tareas = []

print("Gestor de tareas iniciado.")


tareas.append("Leer el manual")

tareas.append("Programar script")

tareas.append("Revisar correos")


print("Usted tiene", len(tareas), "tareas pendientes.")

print("La primera tarea es:", tareas[0])


print("Completando la primera tarea...")

tareas.pop(0)


print("Ahora la primera tarea es:", tareas[0])

print("Tareas restantes:", len(tareas))


Paso Dos: Guárdelo como tareas.py en su carpeta y ejecútelo desde la consola. Analice auditivamente cómo la tarea Programar script pasó de ser el índice uno a ser el índice cero automáticamente, demostrando el comportamiento de la memoria dinámica.


Ejercicios Prácticos de Programación en Python


Ejercicio 1: El registro infinito.

Cree un programa con una lista vacía. Use un bucle condicional que le pida nombres al usuario constantemente y los guarde en la lista. El bucle debe terminar únicamente cuando el usuario escriba la palabra salir. Al finalizar, imprima un mensaje informando cuántos nombres se registraron en total.


Ejercicio 2: Borrado seguro de memoria.

Cree una lista con los números del uno al cinco. Pida al usuario mediante un input que ingrese qué número desea eliminar. Use el método de remoción textual para borrar ese valor y luego imprima la lista resultante.


Ejercicio 3: El identificador de posiciones.

Pida al usuario tres colores y guárdelos ordenadamente en una lista. Luego, pida al usuario que ingrese un número del cero al dos. Su programa debe mostrar en pantalla qué color está guardado exactamente en ese índice numérico que el usuario solicitó.


Prácticas con su Lector de Pantalla y Consola


 Adapte sus respuestas a su lector de pantalla sin importar que lector de pantalla utilice.

 

Abra su archivo de tareas del capítulo 11 y responda desde su experiencia técnica:


1. ¿Cómo pronuncia exactamente su lector de pantalla los corchetes de apertura y cierre? ¿Siente que esa pronunciación le ayuda a ubicarse espacialmente en el código?

2. Si usted tiene una lista de tres elementos e intenta imprimir el índice tres, ¿qué texto exacto arroja la consola CMD en el Traceback?

3. En la consola CMD, ¿cómo aprovecha usted el historial de comandos pulsando la flecha arriba para probar su programa rápidamente después de corregir un error en el Bloc de Notas?

4. ¿Qué configuración debe revisar en su lector de pantalla JAWS o NVDA para garantizar que no omita la lectura de los puntos que unen el nombre de la lista con su respectivo método?

5. Evalúese con total honestidad: ¿Comprende firmemente la diferencia entre decir "el elemento número dos" y "el índice número dos"? Explíquelo con sus propias palabras.


Información Institucional sobre la Evaluación


Hemos cruzado un gran umbral lógico. Ahora usted comprende cómo el intérprete de Python procesa sus órdenes línea por línea, y tiene el poder de almacenar información dinámica en la memoria del sistema. Guarde todos sus archivos, sin excepción, en su carpeta correspondiente del Bloque Tres. Recuerde que el rigor y el orden lo separan de la frustración. Nos vemos el domingo.


Profesor: Diego R. Solano C. 

¿Te ha sido útil este artículo?

Lecturas del artículo: cargando...
Pulsa Enter aquí para leer los comentarios publicados por otros usuarios (0)

Aún no hay comentarios publicados en este artículo. Anímate a ser el primero en dejar uno.

Pulsa Enter aquí para ver los pasos y dejar un comentario nuevo

Cómo dejar un comentario desde tu computadora (JAWS, NVDA o Microsoft Narrator)

Al presionar el botón que aparece más abajo, se abrirá una nueva pestaña del navegador con el formulario oficial de comentarios de Google para esta publicación. El formulario se abre en una página separada para que funcione correctamente con tu lector de pantalla sin interferencias. Sigue estos pasos:

  • Paso 1: Presiona el botón de abajo. Una nueva pestaña se abrirá con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue completamente. Tu lector de pantalla debería anunciar el título de la nueva pestaña automáticamente.
  • Paso 3: Presiona la tecla E para ir al primer cuadro de edición, que es donde debes escribir tu comentario.
  • Paso 4: Escribe tu comentario.
  • Paso 5: Presiona Tab para navegar hasta el botón Publicar y actívalo con Enter.
  • Paso 6: Si Google te pide iniciar sesión con tu cuenta de Google, sigue el proceso de inicio de sesión con Tab y Enter.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla de verificación que dice "No soy un robot". Si aparece, presiona la tecla F para navegar hasta ese campo, luego presiona Espacio para marcarla. En algunos casos puede aparecer una prueba adicional con imágenes; si esto ocurre, sigue las instrucciones en pantalla que leerá tu lector de pantalla.
  • Paso 8 — Cerrar la ventana y regresar: Una vez que hayas enviado el comentario, la ventana de comentarios no se cerrará automáticamente ni regresará al blog por sí sola. Para regresar a la publicación, debes cerrar esa pestaña manualmente. Presiona la combinación de teclas Control + W para cerrar la pestaña activa. Al cerrarla, el navegador volverá automáticamente a la pestaña del blog donde estabas leyendo el artículo. Además, este blog detectará que cerraste la ventana y tu lector de pantalla anunciará que regresaste al artículo.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.

Cómo dejar un comentario desde tu dispositivo móvil (TalkBack o VoiceOver)

Al tocar el botón que aparece más abajo, se abrirá una nueva página con el formulario oficial de comentarios de Google para esta publicación. Sigue estos pasos:

  • Paso 1: Toca el botón de abajo. Se abrirá una nueva pestaña con el formulario de comentarios.
  • Paso 2: Espera a que la página cargue por completo. Tu lector de pantalla anunciará el contenido nuevo.
  • Paso 3: Desliza el dedo hacia la derecha hasta encontrar el cuadro de texto para escribir. Tu lector de pantalla anunciará "campo de texto" o "área de edición".
  • Paso 4: Toca dos veces el cuadro de texto para activarlo y escribe tu comentario.
  • Paso 5: Desliza hacia la derecha hasta el botón Publicar y tócalo dos veces para enviar.
  • Paso 6: Si Google te pide iniciar sesión, desliza hacia la derecha para encontrar los campos de correo y contraseña y completa el proceso.
  • Paso 7 — Verificación de seguridad: Es posible que Google muestre una verificación de seguridad llamada CAPTCHA, que consiste en una casilla que dice "No soy un robot". Si aparece, desliza con el dedo hasta encontrarla y tócala dos veces para marcarla. En algunos casos puede aparecer una prueba con imágenes; si esto ocurre, tu lector de pantalla leerá las instrucciones de esa prueba para que puedas completarla.
  • Paso 8 — Cerrar la pestaña y regresar en Android: Una vez enviado el comentario, la pestaña no se cerrará sola. Para regresar al blog, toca el botón de pestañas en tu navegador (en Chrome es un número entre un cuadrado en la parte de abajo o arriba de la pantalla). Busca la pestaña de Comunidad Tiflotec y tócala dos veces para volver a ella. También puedes deslizar hacia arriba o a un lado la pestaña del formulario para cerrarla directamente.
  • Paso 8 — Cerrar la pestaña y regresar en iPhone o iPad: Una vez enviado el comentario, toca el botón de pestañas en Safari (son dos cuadrados superpuestos en la esquina inferior derecha de la pantalla). Verás todas las pestañas abiertas. Busca la de Comunidad Tiflotec y tócala para volver al artículo. Si quieres cerrar la pestaña del formulario, busca su vista previa y desliza hacia la izquierda hasta el botón Cerrar.
  • Moderación: Todos los comentarios son revisados antes de publicarse. Tu mensaje no aparecerá de forma inmediata.