Pensamiento computacional para resolver problemas
Un lunes por la mañana, Esteban espera el bus de su ruta en San José y llega tarde al colegio por tercera vez en el mes. ¿Fue mala suerte o hay algo que se pueda descubrir y planear? El pensamiento computacional es una forma ordenada de pensar que sirve para responder preguntas como esa. En el Programa Nacional de Formación Tecnológica (PNFT) es el eje transversal: se trabaja en todos los niveles.
Qué es el pensamiento computacional
El pensamiento computacional es una manera de resolver problemas en la que usted los organiza de forma que una persona o una computadora pueda ejecutar la solución. No significa pensar «como una máquina» ni usar siempre una computadora: significa pensar con orden.
Los cuatro componentes no siguen un orden rígido: a veces usted aplica uno, a veces los cuatro. Las siguientes secciones los explican uno por uno.
Nombre los cuatro componentes del pensamiento computacional y explique en una frase corta en qué consiste cada uno.
Nombre los cuatro componentes del pensamiento computacional y explique en una frase corta en qué consiste cada uno.
Descomposición
Un problema grande asusta; varios problemas pequeños no. Descomponer es dividir un problema complejo en partes más pequeñas y manejables, que se pueden resolver por separado (incluso entre varias personas).
Ejemplo: organizar la feria de ciencias del colegio. Un grupo la divide en invitaciones, decoración, horarios y materiales. Cada parte se asigna a una persona y, al final, se juntan.
Un grupo quiere organizar la feria de ciencias del colegio y divide el trabajo en tareas más pequeñas: invitaciones, decoración, horarios y materiales. Indique cuál…
Un grupo quiere organizar la feria de ciencias del colegio y divide el trabajo en tareas más pequeñas: invitaciones, decoración, horarios y materiales. Indique cuál componente del pensamiento computacional están aplicando y explique por qué.
Reconocimiento de patrones
Un patrón es algo que se repite o se parece en distintos casos. Reconocerlo permite predecir y reutilizar soluciones.
Esteban observa que el bus llega tarde cuando hay mucho tránsito en la avenida Central, sobre todo los lunes y los viernes. Para comprobarlo, registra datos durante dos semanas:
| Día | Hora de llegada del bus | Tránsito en la avenida Central |
|---|---|---|
| Lunes | 7:20 a. m. | Mucho |
| Martes | 7:00 a. m. | Poco |
| Miércoles | 7:05 a. m. | Poco |
| Jueves | 7:02 a. m. | Poco |
| Viernes | 7:25 a. m. | Mucho |
El patrón: lunes y viernes, más tránsito y más atraso. Con eso Esteban puede decidir salir de su casa 20 minutos antes esos días.
Esteban observa que cada vez que el bus de su ruta llega tarde, también hay mucho tránsito en la avenida Central, y que ocurre sobre todo los lunes y los viernes.…
Esteban observa que cada vez que el bus de su ruta llega tarde, también hay mucho tránsito en la avenida Central, y que ocurre sobre todo los lunes y los viernes. Explique qué componente del pensamiento computacional está usando, qué información podría registrar en una tabla y cómo le ayudaría eso a planear a qué hora salir de su casa.
Abstracción
Abstraer es quedarse con lo importante de un problema y dejar de lado los detalles que no influyen en la solución.
Se quiere una aplicación que calcule el precio final de un casado con IVA del 13 %. ¿Qué datos hacen falta?
-
Necesarios (entradas): el precio del casado sin impuesto y la tarifa del IVA (13 %).
-
Irrelevantes: el color del plato, el nombre de la soda, si el casado lleva picadillo o frijoles.
Esa decisión de ignorar lo que no cambia el resultado es abstracción.
Se quiere diseñar una aplicación que calcule el precio final de un casado con IVA del 13 %. Describa qué información es necesaria (qué datos de entrada) y cuál es…
Se quiere diseñar una aplicación que calcule el precio final de un casado con IVA del 13 %. Describa qué información es necesaria (qué datos de entrada) y cuál es irrelevante, como el color del plato, y explique cómo esto es un ejemplo de abstracción. Luego escriba los pasos del algoritmo para obtener el precio final.
Algoritmos
Un algoritmo cotidiano: preparar un gallo pinto.
-
Cocinar o tomar el arroz y los frijoles ya cocidos.
-
Picar cebolla, chile dulce y culantro.
-
Calentar aceite en un sartén y sofreír los vegetales.
-
Agregar los frijoles con un poco de su caldo.
-
Añadir el arroz y revolver.
-
Sazonar con salsa y sal; servir caliente.
Cumple las tres condiciones: está ordenado (no puede servir antes de mezclar), es preciso (cada paso se entiende) y es finito (termina).
Decisiones
A veces el algoritmo debe elegir entre dos caminos según una condición. Eso se escribe con «si… entonces… si no…» y en un diagrama de flujo se dibuja con un rombo.
En lenguaje natural: «Leer la nota. Si la nota es mayor o igual que 65, mostrar “aprobado”; si no, mostrar “aplazado”».
Defina qué es un algoritmo y escriba un ejemplo cotidiano, como los pasos para preparar un gallo pinto, indicando al menos cinco pasos en orden.
Defina qué es un algoritmo y escriba un ejemplo cotidiano, como los pasos para preparar un gallo pinto, indicando al menos cinco pasos en orden.
Escriba un algoritmo en lenguaje natural o con un diagrama de flujo que le indique a una persona si aprueba una materia en noveno año, sabiendo que en III Ciclo se…
Escriba un algoritmo en lenguaje natural o con un diagrama de flujo que le indique a una persona si aprueba una materia en noveno año, sabiendo que en III Ciclo se aprueba con una nota mínima de 65. El algoritmo debe recibir la nota (de 0 a 100) y mostrar «aprobado» o «aplazado». Incluya una decisión.
Mejorar un algoritmo
Un algoritmo puede parecer correcto y tener fallas. Una estudiante propone repartir 24 refrescos entre los grupos de la feria así: «Dar refrescos a cada grupo hasta que se acaben».
Problemas:
-
No dice cuántos grupos hay ni cuántos refrescos recibe cada uno.
-
No considera si 24 no se divide exactamente entre los grupos (sobran refrescos).
-
«Hasta que se acaben» puede dejar a unos grupos con más que a otros.
-
No es general: no dice qué hacer si cambia el número de grupos.
Ahora es preciso (cada paso es claro), finito (termina tras atender los g grupos) y general (sirve para cualquier número de grupos).
Una estudiante propone este algoritmo para repartir 24 refrescos entre los grupos de la feria: «Dar refrescos a cada grupo hasta que se acaben». Analice por qué este…
Una estudiante propone este algoritmo para repartir 24 refrescos entre los grupos de la feria: «Dar refrescos a cada grupo hasta que se acaben». Analice por qué este algoritmo es deficiente, indique qué datos faltan y qué casos no considera, y reescríbalo de modo que sea preciso, finito y funcione si cambia el número de grupos. Justifique sus mejoras.
Los cuatro componentes juntos
Los problemas reales usan todos los componentes. Ejemplo: el colegio quiere reducir el consumo de agua en los servicios sanitarios.
| Componente | Aplicación |
|---|---|
| Descomposición | Medir el consumo actual, revisar fugas, revisar los inodoros y lavatorios, informar al estudiantado, evaluar resultados. |
| Patrones | ¿A qué horas sube el consumo? ¿Hay un baño que gasta más? ¿Aumenta después del recreo? |
| Abstracción | Interesan los litros por día y por servicio sanitario; no importan el color de las paredes ni la marca del jabón. |
| Algoritmo | Ver abajo. |
Una hoja de cálculo apoya el trabajo: guarda los datos, calcula promedios y hace gráficos que muestran los patrones. Un celular sirve para tomar fotos de las lecturas del medidor.
El colegio quiere reducir el consumo de agua en los servicios sanitarios. Aplique los cuatro componentes del pensamiento computacional a este problema: descomponga el…
El colegio quiere reducir el consumo de agua en los servicios sanitarios. Aplique los cuatro componentes del pensamiento computacional a este problema: descomponga el problema en partes, indique qué patrones buscaría en los datos, qué información dejaría de lado (abstracción) y escriba un algoritmo de al menos seis pasos para ejecutar la solución. Explique qué tecnología digital usaría para apoyar el trabajo.
Resumen
-
El pensamiento computacional es una forma ordenada de resolver problemas y es el eje transversal del PNFT.
-
Descomposición: dividir un problema grande en partes pequeñas.
-
Reconocimiento de patrones: encontrar lo que se repite para predecir y reutilizar soluciones.
-
Abstracción: quedarse con los datos relevantes y dejar de lado los detalles.
-
Algoritmos: pasos ordenados, precisos y finitos; pueden incluir decisiones.
Vuelva al principio: Esteban no tuvo mala suerte. Al registrar datos encontró un patrón (lunes y viernes con tránsito), y con un pequeño algoritmo («esos días salgo 20 minutos antes») resolvió su problema.