Algoritmos y pensamiento computacional
Antes de escribir una sola línea de código hace falta tener clarísimos los pasos que hay que dar. Piensa en el momento en que tu mamá te explica cómo hacer un sancocho: si se le olvida un paso, el sancocho sale mal. Esa lista de pasos exactos es un algoritmo, y pensar así, descomponiendo, buscando patrones y quedándote con lo importante, es el pensamiento computacional. Al final de la página verás por qué una computadora no entiende «cuece un rato».
Qué es un algoritmo
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.
Escribe 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…
Escribe 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» identifica la entrada (los ingredientes y utensilios), el proceso (los pasos con la estufa y el 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 la estufa y el sartén) y la salida (el resultado). Explica por qué pensar así ayuda a escribir algoritmos claros.
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 y repeticiones en el diagrama de flujo
Una decisión elige entre dos caminos según se cumpla o no una condición. Una repetición (o ciclo) vuelve atrás y repite pasos mientras una condición se cumpla; por eso siempre debe haber una condición que la haga terminar.
Estos pasos del algoritmo «ir al colegio» 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 colegio» están desordenados: (a) entrar en 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.
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.
Escribe el algoritmo para contar cuántas personas entran por la puerta del aula 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 aula 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
Al repartir tareas hay que respetar las dependencias: una tarea depende de otra si no puede empezar antes de que la otra termine. Las tareas que no dependen entre sí pueden hacerse a la vez si hay más de una persona.
Además, un mismo problema puede resolverse con varios algoritmos. Por ejemplo, para ordenar una baraja puedes ir carta por carta buscando la menor, o repartir las cartas en montones por palo y luego ordenar cada montón. Un algoritmo es «mejor» que otro si gasta menos tiempo, menos esfuerzo o comete menos errores.
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.
Para ordenar una baraja de cartas existen varios algoritmos distintos, y unos son más rápidos que otros. Explica 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. Explica 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. 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.
Dos personas preparan juntas el desayuno para cuatro invitados: hay que hacer café, tostar pan, exprimir jugo y poner la mesa. Reparte 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. Reparte las tareas entre los dos respetando las dependencias (no se puede servir el café antes de hacerlo) y explica 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: «añade sal y deja cocer un rato a fuego medio». Explica por qué una computadora no podría seguir esa instrucción y reescríbela como un paso de algoritmo…
Una receta dice: «añade sal y deja cocer un rato a fuego medio». Explica por qué una computadora 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 $\$20$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$75$, por qué es un…
Un cajero automático solo tiene billetes de $\$20$ y su algoritmo reparte la cantidad pedida en billetes. Explica qué ocurre cuando alguien pide $\$75$, 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.
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 recipientes, y (b) cada semana, por…
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 recipientes, 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.
Algoritmos en los aparatos de todos los días
Vuelve al principio: una computadora no puede seguir «cuece un rato» porque no interpreta; necesita cantidades, tiempos y una condición de parada. Por eso los aparatos que usas ya tienen algoritmos exactos.
Muchos aparatos cotidianos siguen algoritmos. Escoge 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. Escoge 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).