Descripción: Una estructura iterativa o de repetición es aquella que permite que un proceso o conjunto de acciones se realice de manera cíclica (loop o bucle). Este proceso repetitivo se realiza mientras una condición lógica sea verdadera. Existen cuatro formas comunes de este tipo de estructuras: "Hacer mientras" (Do-While), "Mientras que", "Repite hasta que" y "Desde, hasta" (For-next). En este apartado sólo trabajaremos con la primera forma, pues es la que usa DescartesJS. En la figura de la izquierda se presenta la forma Do-While en un diagrama de flujo.
Importancia: La estructura iterativa (o bucle) es fundamental en programación porque permite repetir un conjunto de instrucciones múltiples veces, lo que proporciona eficiencia, claridad y control sobre la ejecución de un programa. Un aspecto a destacar es la automatización de tareas repetitivas, pues en lugar de escribir el mismo código varias veces, una estructura iterativa ejecuta una acción repetidamente.
Problema: Calcular la suma de los 100 primeros números naturales
Algoritmo en lenguaje natural:
En la figura de la derecha, mostramos el algoritmo como pseudo-código y como diagrama de flujo. Una buena práctica es hacer una prueba de escritorio; por ejemplo, toma papel y lápiz y sigue el algoritmo con los 5 primeros números naturales, la suma te debe dar 15.
En el siguiente video, puedes observar lo sencillo que es hacerlo con DescartesJS:
Descripción: En ocasiones se desea utilizar una gran cantidad de variables que guardarán un tipo similar de información. En estos casos, puede resultar engorroso crear muchas variables distintas, y conviene en su lugar definir una especie de “mueble con muchos cajones”. Aunque el nombre del mueble es el mismo, cada cajón tiene un número o índice que lo identifica.
Cuando se agrega un vector, sólo es necesario dar su nombre. Por ejemplo, el vector E. Una vez agregado, siempre se hará referencia al mismo indicando el número de cajón en cuestión. Por ejemplo, E[0] representa el primer cajón, E[1] representa el segundo cajón, y así sucesivamente. Como se puede notar, el índice de los cajones empieza siempre en cero. Cada cajón puede guardar un número o cadena de caracteres, como si fuera una variable común y corriente.
Problema: En un archivo se tienen los datos de la estatura de un grupo de 15 estudiantes. Elabora un pseudocódigo y ejecútalo en DescartesJS para calcular la estatura promedio.
Solución: El pseudocódigo que soluciona este problema se muestra en la figura de la izquierda. Nótese que se incluye la lectura de las estaturas, lo cual se podría hacer con controles tipo campo de texto; sin embargo, si queremos calcular la estatura promedio de los 4 000 estudiantes de un colegio, la lectura desde controles tipo campo de texto no es una opción conveniente, es aquí donde debemos recurrir a otro tipo de lectura como el uso de un vector que almacene estas estaturas, ¿cómo hacerlo?, observa el siguiente video:
Descripción: En el video anterior, asignamos 15 estaturas a los elementos de un vector, algo engorroso, pero válido. Pero, ¿qué hacer si tenemos los datos de 50 personas, almacenados en un archivo Excel o en un bloc de notas?, digitarlos no es una opción recomendable.
Lectura de archivos: DescartesJS permite que podamos leer un archivo en formato txt, tal como se ve en la siguiente imagen.
Descripción: En el ejemplo del apartado anterior, pese a usar un archivo externo, tuvimos que digitar las 15 edades. En la práctica, esos datos, usualmente, están almacenados en una base de datos, luego que los usuarios han ingresado esa información; por ejemplo, para inscribirte a este curso, ingresaste información a través de un formulario "Google", pero, ¿cómo usarlos en DescartesJS?
Lectura de datos externos: Una forma sencilla es copiar los datos, pegarlos en un bloc de notas y guardarlos en una archivo txt, para luego leerlos en un vector de DescartesJS; sin embargo, es importante recordar cómo deben leerse datos tipo cadena de caracteres, pues estos deben ir entre comillas simples.
En el siguiente video, explicamos cómo leer información de 50 registros en una hoja Excel y exportarlos a DescartesJS:
Iniciamos el segundo proyecto de aula, diseñando un chatbot con la API de pollinations, incluyendo varios modelos de lenguaje. Usaremos, además de la API de Pollinations, elementos de DescartesJS como: espacios, variables de espacio, controles tipo menú, texto y botón, funciones y vectores.
En el siguiente video, puedes ver la explicación, paso a paso, de cómo diseñar un chatbot básico, el cual iremos mejorando en las próximas sesiones.
TAREA 5
Descarga este archivo de Excel y resuelve:
Problema 1. Crea un programa en DescartesJS, que calcule:
Problema 2. Convierte el archivo a formato PDF con iLovePDF, sube el archivo al Chatbot Investiga y formula 5 preguntas; por ejemplo, ¿cuántas mujeres tienen más de 40 años?. ¿cuántos hombres tienen nombre que empiezan por vocal? o ¿cuántas mujeres mayores de 30 años, miden menos de 1,70?, etc. Sube esta tarea con las 5 preguntas y tus opiniones sobre los resultados y el comportamiento del chatbot.
¡Sube la solución de los dos problemas en una carpeta llamada "Tarea 5"!