Tema N°3: SALVANDO A LAS TORTUGAS
Existen diferentes códigos o lenguajes que sirven para programar distintos procesadores, pero todos describen una secuencia lógica de pasos o instrucciones. Algunas acciones requieren pocos pasos, como mostrar el corazón en el tablero de LED de la micro:bit, mientras otras pueden requerir miles y miles de pasos, como por ejemplo calcular la ruta más rápida para llegar de un punto a otro en el mapa de una ciudad. Quienes programan usan algoritmos.
Algoritmo
Un algoritmo es una secuencia lógica y finita de pasos que permite solucionar un problema o cumplir con un objetivo.
Los algoritmos deben ser precisos e indicar el orden lógico de realización de cada uno de los pasos, debe ser definido y esto quiere decir que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo resultado, también debe ser finito o sea debe iniciar con una acción y terminar con un resultado o solución de un problema.
Cuando se elabora un algoritmo se debe tener en cuenta lo siguiente.
1. Tener claro cuál es el problema que va a solucionar.
2. Establecer un objetivo que permita medir la solución del problema.
3. Elaborar un algoritmo que solucione el problema.
4. Realizar pruebas al algoritmo para verificar los resultados.
Ejemplo : Elabore un algoritmo que permita ir de la casa al colegio.
Objetivo: Ir de la casa al colegio.
Inicio
- Salir de la casa
- Si está lejos del colegio entonces tomar un medio de transporte que lo deje cerca del mismo.
- Si no está lejos del colegio entonces dirigirse caminando hacia él mismo
- Llegar a la puerta del colegio
Fin
Estos algoritmos pueden ser expresados en diagramas de flujo para representar procesos que tienen muchas instrucciones. Así se pueden organizar las instrucciones en el orden adecuado para luego realizar correctamente la programación.
Diagramas de flujo
Un diagrama de flujo permite representar de forma gráfica un algoritmo a través de símbolos.
Símbolos de un diagrama de flujo
- Las entradas son datos o insumos que necesita el algoritmo para que se pueda elaborar.
- Los procesos son las acciones que permiten transformar las entradas (insumos o datos) en otros datos u otros insumos que permitirán dar solución el problema.
- Las salidas hacen referencia a los resultados que debe dar al final el algoritmo.
- Las decisiones se usan para tomar decisiones lógicas y de acuerdo a estas ejecutar o no conjuntos de instrucciones.
- Las iteraciones permiten repetir un conjunto de instrucciones dentro de un algoritmo.
Para elaborar un diagrama de flujo se deben tener en cuenta las siguientes reglas:
- Los diagramas se deben realizar de arriba hacia abajo y de izquierda a derecha.
- El algoritmo debe arrancar con el símbolo de inicio y terminar con símbolo de fin.
- La dirección de flujo se debe representar por medio de flechas.
- Todas las líneas de flujo deben llegar a un símbolo o a otra línea.
Ejemplo: Representar en un diagrama de flujo el programa "ir desde la casa al colegio"
En este diagrama podrás observar que hay un condicional en rojo. En un condicional si la condición es verdadera (sí), se realizan unos pasos, pero si es falsa (no) se realizan otros pasos. En nuestro ejemplo el condicional tiene la pregunta ¿Estás lejos del colegio? Según la respuesta se toma uno de los dos caminos: dirigirse caminando al colegio o tomar un medio de transporte que lo deje cerca del colegio.
Ejemplo N°2:
Variables booleana
En resumen
Un diagrama de flujo se compone de instrucciones, condicionales y flechas que permiten describir el orden en que se deberán ejecutar las instrucciones. Un condicional permite realizar o no un conjunto de instrucciones o seleccionar entre dos alternativas de instrucciones según si se cumple la condición o no.
Identifica el tipo de diagrama flujo empleado
Actividad N°1:
Diseñar un diagrama de flujo de una actividad cotidiana: realizar tareas, conectarme en una clase virtual, desayunar.
Actividad N°2:
Recordemos las partes de la micro:bit
Es hora de programar y simular en el editor MakeCode un programa para verificar si funciona.
1. Observa el siguiente programa. ¿qué crees que hace?
2. Ahora prográmalo en el editor MakeCode. ¿Hizo lo que esperabas? Si no se oprime el botón, ¿funciona?
3. Ahora prográmalo para que cuando presiones el botón A haga lo que acaba de hacer y que cuando presiones B, la flecha gire en dirección contraria. Para realizar este programa usa el mismo bloque para siempre.
4. ¿Qué pasa cuando presionas A y muy rápidamente B? ¿Es lo que esperabas?
INFORMACIÓN COMPLEMENTARIA
Un procesador tiene variables de entrada. Por ejemplo:
• Un botón es una variable booleana ya que puede estar oprimido o no: si está oprimido su valor es verdadero, si no está oprimido su valor es falso.
• Un sensor permite medir variables físicas como la temperatura, que pueden tomar muchos valores.
• Un procesador también puede tener salidas booleanas.
• Un LED, que también es booleano, puede estar encendido (verdadero) o apagado (falso).
Muchas especies de tortugas marinas están en peligro de extinción. Por eso, los biólogos de la conservación y muchos voluntarios recogen cada año los huevos que depositan las tortugas en las playas y los llevan a incubadoras para protegerlos de depredadores y humanos. Los huevos de tortuga, como los de todos los reptiles, son muy sensibles a la temperatura y si se exponen a más de 34°C no se desarrollan. De la misma manera, temperaturas inferiores a 26°C no permiten que se desarrollen los embriones. Un centro de preservación de tortugas marinas te pide ayuda programando un dispositivo, que les permita mantenerse informados sobre la temperatura del sitio de incubación; quieren saber si es muy baja, adecuada o muy alta para el desarrollo de los huevos. Tu misión será programar la micro:bit para que detecte la temperatura e informe el valor en el tablero de LED. Además, deberá avisar a los biólogos cuando la temperatura sea muy baja con un mensaje que diga “T. baja”, cuando la temperatura sea normal “T. normal”, y cuando la temperatura sea muy alta, “T. alta”. Si quieres, puedes inventar iconos que reemplacen los textos pero que resulten evidentes para quien observa. Para empezar, puedes intentar hacer un diagrama de flujo sobre lo que debe hacer el programa. Luego usa el MakeCode para escribir estas instrucciones en el lenguaje de bloques. Usa el simulador para ver si tu programa funciona apropiadamente.
Yury Niño Roa estudió en el Instituto Técnico Industrial Nacional en Garagoa Boyacá donde pasó los primeros 15 años de su vida, luego estudió su pregrado y maestría en Ingeniería de Sistemas y Computación en la Universidad Nacional de Colombia. Ella es una de las líderes mundiales en Ingeniería del Caos, una disciplina que busca mejorar la confiabilidad de los sistemas computacionales simulando la ocurrencia de fallas.
Referencia
Bitish Council (2021) Ficha N°2:Salvando las tortugas. Disponible en: