Algoritmos y pensamiento computacional
Valentina le pide a su hermano menor que le prepare un tinto con aguapanela y él se queda parado en la cocina: «¿Y ahora qué hago?». Ella solo dijo «prepáralo», pero nunca dijo los pasos. Un computador es como ese hermano: hace exactamente lo que se le dice, ni más ni menos. Por eso, antes de programar, hay que escribir los pasos con claridad. Esa lista exacta es un algoritmo, y pensar así es el pensamiento computacional.
Qué es un algoritmo
Una forma útil de pensar es entrada → proceso → salida: con qué empiezas, qué haces con eso y qué obtienes. Así no das por supuestos pasos que parecen obvios.
Escribe 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.…
Escribe 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. Revisa tu lista y comprueba que no falten pasos que dabas por supuestos.
En la receta «freír un huevo» identifica la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado). Explica…
En la receta «freír un huevo» identifica la entrada (los ingredientes y utensilios), el proceso (los pasos con el fuego y la sartén) y la salida (el resultado). Explica por qué pensar así ayuda a escribir algoritmos claros.
Escribe el algoritmo para preparar un vaso de leche con chocolate (o con cacao) en seis u ocho pasos, tan precisos que los pudiera seguir un robot: cantidades, orden de…
Escribe el algoritmo para preparar un vaso de leche con chocolate (o 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.
Una receta dice «remueve la salsa hasta que espese». Explica por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescribe ese paso…
Una receta dice «remueve la salsa hasta que espese». Explica por qué un algoritmo debe terminar siempre y qué podría pasar si la salsa nunca espesara. Reescribe ese paso para que el cocinero no se quede removiendo para siempre.
Decisiones, repeticiones y diagramas de flujo
Un algoritmo no siempre es una línea recta. A veces hay que decidir («si llueve, llevo paraguas») y a veces repetir («mientras queden cartas, reparte una»). Los tres bloques básicos son la secuencia, la decisión y la repetición, y se dibujan en un diagrama de flujo.
También puedes escribirlo en pseudocódigo en español: «Inicio… Si hay poca luz entonces encender lámpara, si no dejarla apagada… Fin». Para repetir se usa «Mientras…» o «Repetir 3 veces…».
Una variable es un espacio con nombre donde guardas un dato que cambia, como un «contador» que empieza en 0 y sube 1 cada vez que entra alguien.
La traza es anotar a mano el valor de las variables después de cada paso. Sirve para comprobar que el algoritmo hace lo que quieres antes de programarlo.
Estos pasos del algoritmo «ir al colegio» están desordenados: (a) entrar a clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta el…
Estos pasos del algoritmo «ir al colegio» están desordenados: (a) entrar a clase, (b) levantarse, (c) desayunar, (d) salir de casa, (e) vestirse, (f) caminar hasta el colegio. Ordénalos correctamente y añade 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. Indica…
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.
Indica qué bloque colocarías en el hueco y explica con tus palabras cómo funciona el algoritmo completo, paso a paso.
Lee este algoritmo: (1) toma la baraja, (2) mientras queden cartas en la mano, reparte una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas,…
Lee este algoritmo: (1) toma la baraja, (2) mientras queden cartas en la mano, reparte una a cada jugador empezando por tu izquierda, (3) cuando no queden cartas, anuncia «repartidas». Explica con una frase qué hace el algoritmo y señala qué parte es la repetición y cuándo termina.
Muchos aparatos cotidianos siguen algoritmos. Elige dos de esta lista —lavadora, microondas, semáforo— y describe para cada uno qué datos recibe (entrada), qué decide o…
Muchos aparatos cotidianos siguen algoritmos. Elige dos de esta lista —lavadora, microondas, semáforo— y describe para cada uno qué datos recibe (entrada), qué decide o repite (proceso) y qué hace al final (salida).
Haz 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. Anota el valor…
Haz 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. Anota el valor después de cada paso, da el resultado final y explica qué es una traza y para qué sirve hacerla a mano.
Escribe el algoritmo para contar cuántas personas entran por la puerta del salón usando solo una variable «contador» que empieza en 0: qué haces cada vez que entra…
Escribe el algoritmo para contar cuántas personas entran por la puerta del salón usando solo una variable «contador» que empieza en 0: qué haces cada vez que entra alguien, cómo sabes cuándo parar de contar y qué valor tendrá el contador al final.
Descomponer, reconocer patrones y abstraer
Descomposición: organizar la novena de Navidad es enorme; pero «comida», «música», «invitados» y «decoración» son partes que puedes repartir entre varios y resolver una por una.
Patrones: en 5, 10, 15, 20… la regla es «sumar 5». En 1, 2, 4, 8… es «multiplicar por 2». Si encuentras la regla, puedes predecir lo que sigue.
Descompón el problema «organizar la fiesta de fin de año» en cuatro subproblemas más pequeños y escribe dos pasos concretos para resolver cada uno. Explica qué ventaja…
Descompón el problema «organizar la fiesta de fin de año» en cuatro subproblemas más pequeños y escribe dos pasos concretos para resolver cada uno. Explica qué ventaja tiene dividir así un problema grande.
Reconocer patrones es encontrar la regla que se repite. Descubre el patrón de estas tres secuencias y exprésalo como una regla clara: (a) 5, 10, 15, 20, …, (b) 100, 90,…
Reconocer patrones es encontrar la regla que se repite. Descubre el patrón de estas tres secuencias y exprésalo como una regla clara: (a) 5, 10, 15, 20, …, (b) 100, 90, 80, 70, …, (c) lunes: 1 flexión, martes: 2, miércoles: 4, jueves: 8, … Indica 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. Explica 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. Explica qué es la abstracción usando este ejemplo y aplícala después al plano de tu colegio: qué tres cosas incluirías y qué tres cosas eliminarías.
Puedes hacerlo en papel y enviar una foto con tu respuesta.
Casos límite y algoritmos que mejoran
Por último, a veces hay varios algoritmos para el mismo problema y toca compararlos: ¿cuánto tarda en total?, ¿cuántos errores comete?, ¿quién hace el esfuerzo? Se elige el que mejor cumple lo que importa y se justifica con esos criterios.
Una receta dice: «añade sal y deja cocinar un rato a fuego medio». Explica por qué un computador no podría seguir esa instrucción y reescríbela como un paso de algoritmo…
Una receta dice: «añade sal y deja cocinar un rato a fuego medio». Explica por qué un computador no podría seguir esa instrucción y reescríbela 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) añadir 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) añadir detergente, (3) elegir el programa largo de agua caliente, (4) tender. Encuentra dos pasos problemáticos, explica qué puede salir mal en cada uno y reescribe 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. Explica 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. Explica qué es un «caso límite» en un algoritmo, propone cómo debería comportarse el reparto en esa situación y reescribe el paso conflictivo para que el algoritmo no falle.
Un cajero automático solo tiene billetes de $\$80\,000$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$300\,000$, por…
Un cajero automático solo tiene billetes de $\$80\,000$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$300\,000$, por qué es un caso límite y reescribe las reglas del cajero para que responda siempre algo razonable.
Diseña el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien pulsa el botón…
Diseña el algoritmo completo, con pasos numerados que incluyan decisiones y repeticiones, de un semáforo peatonal con botón: qué ocurre desde que alguien pulsa el botón hasta que el semáforo vuelve a su estado inicial, incluyendo los tiempos de cada luz.
Piensa en un programa que juega al triqui (tres en raya). Describe la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas…
Piensa en un programa que juega al triqui (tres en raya). Describe la estrategia que seguiría en cada turno: qué datos del tablero debe mirar, en qué orden, y qué reglas usarías 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.
Describe qué bloque (o bloques) colocarías en el hueco para que el juego le diga al jugador si su número es mayor o menor que el secreto, y explica 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 salón de clase se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en las tres canecas, y (b) cada…
Para el reciclaje del salón de clase se proponen dos algoritmos: (a) cada día, la persona responsable separa toda la basura del día en las tres canecas, y (b) cada semana, por turnos, una pareja clasifica lo acumulado. Evalúa ambos con criterios de tiempo total, errores de clasificación y reparto del esfuerzo, y elige uno justificándolo.
Vuelve al principio: Valentina solo dijo «prepáralo». Un buen algoritmo habría dicho cantidades, orden, tiempos y cómo saber que el tinto con aguapanela ya está listo.