Algoritmos y pensamiento computacional
Valeria quiere que su hermano menor prepare solo un gallo pinto con huevo, pero él pregunta: «¿cuánto rato lo dejo?». Antes de escribir una sola línea de código, hay que tener clarísimos los pasos exactos. Esa lista de pasos es un algoritmo, y pensar así (descomponer, buscar patrones y quedarse con lo importante) es el pensamiento computacional, el eje oficial de Formación Tecnológica.
Qué es un algoritmo
Una computadora hace exactamente lo que se le dice, ni más ni menos. Por eso cada paso debe ser claro. Observe el algoritmo más sencillo: una línea de pasos que se siguen de arriba abajo.
Escriba el algoritmo, como una lista de pasos numerados, para preparar un sándwich de queso, de forma que una persona que nunca ha hecho uno pueda seguirlo sin dudas.…
Escriba el algoritmo, como una lista de pasos numerados, para preparar un sándwich de queso, de forma que una persona que nunca ha hecho uno pueda seguirlo sin dudas. Revise su lista y compruebe que no falten pasos que daba por supuestos.
Escriba el algoritmo para preparar un vaso de leche con cacao en seis u ocho pasos, tan precisos que los pudiera seguir un robot: cantidades, orden de los pasos y cómo…
Escriba el algoritmo para preparar un vaso de leche con cacao en seis u ocho pasos, tan precisos que los pudiera seguir un robot: cantidades, orden de los pasos y cómo comprobar que el cacao se ha disuelto antes de terminar.
En la receta «freír un huevo» identifique la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado).…
En la receta «freír un huevo» identifique la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado). Explique por qué pensar así ayuda a escribir algoritmos claros.
Una receta dice «revuelva la salsa hasta que espese». Explique por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescriba ese…
Una receta dice «revuelva la salsa hasta que espese». Explique por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescriba ese paso para que el cocinero no se quede revolviendo para siempre.
Decisiones y repeticiones en el diagrama de flujo
Un diagrama de flujo dibuja un algoritmo con formas que todos entienden.
Los algoritmos tienen tres estructuras: secuencia (un paso tras otro), decisión (si pasa algo, hago una cosa; si no, otra) y repetición (repetir mientras se cumpla una condición). En este diagrama, una lámpara decide según la luz y luego vuelve a revisar.
Estos pasos del algoritmo «ir al cole» están desordenados: (a) entrar en clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta el…
Estos pasos del algoritmo «ir al cole» están desordenados: (a) entrar en clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta el cole. Ordénelos correctamente y añada al algoritmo una decisión: qué hacer si está lloviendo al salir de casa.
La figura muestra, con bloques encajados, el algoritmo de una lámpara de lectura automática que debe encenderse solo cuando hay poca luz, pero falta un bloque. Indique…
La figura muestra, con bloques encajados, el algoritmo de una lámpara de lectura automática que debe encenderse solo cuando hay poca luz, pero falta un bloque.
Indique qué bloque colocaría en el hueco y explique con sus palabras cómo funciona el algoritmo completo, paso a paso.
Lea este algoritmo: (1) tome la baraja, (2) mientras queden cartas en la mano, reparta una a cada jugador empezando por su izquierda, (3) cuando no queden cartas,…
Lea este algoritmo: (1) tome la baraja, (2) mientras queden cartas en la mano, reparta una a cada jugador empezando por su izquierda, (3) cuando no queden cartas, anuncie «repartidas». Explique con una frase qué hace el algoritmo y señale qué parte es la repetición y cuándo termina.
Haga la traza de este algoritmo con $n = 7$: (1) empezar con el valor de $n$, (2) repetir tres veces: sumarle 2, (3) restarle 5, (4) escribir el resultado. Anote el…
Haga la traza de este algoritmo con $n = 7$: (1) empezar con el valor de $n$, (2) repetir tres veces: sumarle 2, (3) restarle 5, (4) escribir el resultado. Anote el valor después de cada paso, dé el resultado final y explique qué es una traza y para qué sirve hacerla a mano.
Escriba el algoritmo para contar cuántas personas entran por la puerta del aula usando solo una variable «contador» que empieza en 0: qué hace cada vez que entra…
Escriba el algoritmo para contar cuántas personas entran por la puerta del aula usando solo una variable «contador» que empieza en 0: qué hace cada vez que entra alguien, cómo sabe cuándo parar de contar y qué valor tendrá el contador al final.
Descomponer, reconocer patrones y abstraer
Organizar la fiesta de fin de curso parece enorme, pero se parte en comida, música, decoración y permisos. Cada parte es un problema pequeño con sus propios pasos.
Patrones. En la secuencia $5, 10, 15, 20, \dots$ la regla es «sumar 5»; en $100, 90, 80, \dots$ es «restar 10»; en $1, 2, 4, 8, \dots$ es «multiplicar por 2». Si ve la regla, puede predecir lo que sigue y escribir un algoritmo con una repetición.
Dependencias entre pasos. Al descomponer un problema, algunas tareas deben esperar a otras (no se puede servir el café antes de hacerlo) y otras son independientes y pueden hacerse a la vez si hay más de una persona.
Descomponga el problema «organizar la fiesta de fin de curso» en cuatro subproblemas más pequeños y escriba dos pasos concretos para resolver cada uno. Explique qué…
Descomponga el problema «organizar la fiesta de fin de curso» en cuatro subproblemas más pequeños y escriba dos pasos concretos para resolver cada uno. Explique qué ventaja tiene dividir así un problema grande.
Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explique con un ejemplo de la vida diaria que un mismo problema…
Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explique con un ejemplo de la vida diaria que un mismo problema puede tener varios algoritmos que lo resuelven y qué significa que uno sea «mejor» que otro.
Reconocer patrones es encontrar la regla que se repite. Descubra el patrón de estas tres secuencias y exprese la regla de forma clara: (a) 5, 10, 15, 20, …, (b) 100, 90,…
Reconocer patrones es encontrar la regla que se repite. Descubra el patrón de estas tres secuencias y exprese la regla de forma clara: (a) 5, 10, 15, 20, …, (b) 100, 90, 80, 70, …, (c) lunes: 1 flexión, martes: 2, miércoles: 4, jueves: 8, … Indique qué valor vendría después en cada una.
El mapa del metro no dibuja la ciudad real: elimina distancias, curvas y calles, y se queda solo con estaciones y conexiones. Explique qué es la abstracción usando este…
El mapa del metro no dibuja la ciudad real: elimina distancias, curvas y calles, y se queda solo con estaciones y conexiones. Explique qué es la abstracción usando este ejemplo y aplíquela después al plano de su colegio: qué tres cosas incluiría y qué tres cosas eliminaría.
Puede hacerlo en papel y enviar una foto con su respuesta.
Dos personas preparan juntas el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Reparta las tareas entre los dos…
Dos personas preparan juntas el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Reparta las tareas entre los dos respetando las dependencias (no se puede servir el café antes de hacerlo) y explique qué tareas pueden hacerse a la vez y cuáles no, con su orden.
Casos límite y errores en los algoritmos
Una receta dice: «agregue sal y deje cocinar un rato a fuego medio». Explique por qué una computadora no podría seguir esa instrucción y reescríbala como un paso de…
Una receta dice: «agregue sal y deje cocinar un rato a fuego medio». Explique por qué una computadora no podría seguir esa instrucción y reescríbala como un paso de algoritmo preciso, indicando cantidades, tiempos y cómo comprobar que el paso ha terminado.
Este algoritmo de «lavar la ropa» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) agregar detergente, (3) elegir el programa largo de…
Este algoritmo de «lavar la ropa» tiene un error: (1) meter toda la ropa en la lavadora, blanca y de color junta, (2) agregar detergente, (3) elegir el programa largo de agua caliente, (4) tender. Encuentre dos pasos problemáticos, explique qué puede salir mal en cada uno y reescriba el algoritmo corregido con un paso de clasificación previa.
El algoritmo de un comedor reparte un sándwich a cada asistente, pero falla cuando hay más asistentes que sándwiches. Explique qué es un «caso límite» en un algoritmo,…
El algoritmo de un comedor reparte un sándwich a cada asistente, pero falla cuando hay más asistentes que sándwiches. Explique qué es un «caso límite» en un algoritmo, proponga cómo debería comportarse el reparto en esa situación y reescriba el paso conflictivo para que el algoritmo no falle.
Un cajero automático solo tiene billetes de $\text{₡}\ 10\,000$ y su algoritmo reparte la cantidad pedida en billetes. Explique qué ocurre cuando alguien pide…
Un cajero automático solo tiene billetes de $\text{₡}\ 10\,000$ y su algoritmo reparte la cantidad pedida en billetes. Explique qué ocurre cuando alguien pide $\text{₡}\ 37\,500$, por qué es un caso límite y reescriba las reglas del cajero para que responda siempre algo razonable.
Diseñe el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien presiona el…
Diseñe el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien presiona el botón hasta que el semáforo vuelve a su estado inicial, incluyendo los tiempos de cada luz.
Piense en un programa que juega al tres en raya. Describa la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas usaría…
Piense en un programa que juega al tres en raya. Describa la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas usaría para decidir dónde colocar la ficha. No hace falta escribir código: basta con las reglas en lenguaje natural.
La figura muestra, con bloques encajados, el esqueleto de un juego de adivinar un número secreto, pero dentro del bucle falta una pieza para que el juego dé pistas al…
La figura muestra, con bloques encajados, el esqueleto de un juego de adivinar un número secreto, pero dentro del bucle falta una pieza para que el juego dé pistas al jugador.
Describa qué bloque (o bloques) colocaría en el hueco para que el juego le diga al jugador si su número es mayor o menor que el secreto, y explique el funcionamiento completo del algoritmo: qué se repite, cuándo termina y qué pasa si el jugador acierta a la primera.
Para el reciclaje del aula se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en los tres contenedores, y (b) cada semana,…
Para el reciclaje del aula se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en los tres contenedores, y (b) cada semana, por turnos, una pareja clasifica lo acumulado. Evalúe ambos con criterios de tiempo total, errores de clasificación y reparto del esfuerzo, y elija uno justificándolo.
Vuelva al principio: el hermano de Valeria preguntaba «¿cuánto rato lo dejo?». Un algoritmo preciso le responde: «caliente la sartén 1 minuto a fuego medio, agregue el gallo pinto, revuelva 3 minutos y verifique que esté caliente antes de servir».