Definición de problema y pensamiento computacional
Lázaro trabaja en la bodega de su barrio y le pide a un amigo: «Hazme un programa que calcule el total». El amigo se queda mirando la pantalla: ¿el total de qué? ¿Con qué precios? ¿Qué pasa si alguien pide más de lo que hay? Antes de escribir una sola línea de código hay que saber exactamente qué problema se quiere resolver. De eso trata esta página.
Del consumidor al creador
Casi todos usamos la computadora y el celular como consumidores: abrimos programas que otros hicieron. En este curso das un paso más: te conviertes en creador de productos informáticos. Para eso necesitas una forma de pensar, no solo saber manejar programas.
Fíjate en las tres partes de la definición:
-
Conocimientos: qué es un dato, un algoritmo, un programa.
-
Habilidades: analizar un problema, dividirlo en pasos, describir un algoritmo, probarlo.
-
Actitudes: orden, constancia, atención al detalle, ganas de revisar y mejorar lo hecho.
El pensamiento computacional se describe como un sistema de conocimientos, habilidades y actitudes para resolver problemas por vías informáticas. Explica con tus…
El pensamiento computacional se describe como un sistema de conocimientos, habilidades y actitudes para resolver problemas por vías informáticas.
Explica con tus palabras qué significa esa definición. Menciona además una habilidad y una actitud que pongas en práctica al resolver un problema con la computadora.
Ariel afirma: «Tener pensamiento computacional es saber usar bien la computadora y conocer muchos programas». Lisandra responde que se puede aplicar pensamiento…
Ariel afirma: «Tener pensamiento computacional es saber usar bien la computadora y conocer muchos programas». Lisandra responde que se puede aplicar pensamiento computacional incluso antes de sentarse frente a la máquina.
Analiza ambas posturas a partir de la definición de pensamiento computacional. Pon un ejemplo cotidiano, como organizar la entrega de la merienda escolar en el grupo, en el que se aplique sin computadora. Concluye quién tiene la razón y por qué.
¿Qué es un problema bien definido?
Un problema es una situación en la que tenemos un punto de partida y queremos llegar a un resultado, pero no tenemos todavía el camino. Para resolverlo por vía informática hay que definirlo con precisión. Una definición completa tiene tres elementos:
Daniela necesita un programa que reciba las notas de tres pruebas de un educando, calcule su promedio y diga si aprueba la asignatura. Se aprueba con 60 puntos o más.…
Daniela necesita un programa que reciba las notas de tres pruebas de un educando, calcule su promedio y diga si aprueba la asignatura. Se aprueba con 60 puntos o más.
Identifica en este problema los datos de entrada, la condición y el resultado esperado.
Al definir un problema aparecen estos elementos: 1. La cantidad de libras de arroz que compra una familia. 2. La libra de arroz cuesta 2 dólares. 3. El importe total que…
Al definir un problema aparecen estos elementos:
-
La cantidad de libras de arroz que compra una familia.
-
La libra de arroz cuesta 2 dólares.
-
El importe total que debe pagar.
-
El total debe ser mayor que cero.
Clasifica cada elemento como dato de entrada, condición o resultado esperado, y justifica brevemente cada respuesta.
Reescribir definiciones incompletas
Muchas definiciones que escribimos a la primera son vagas: «un programa que calcule el total». Una definición incompleta obliga a adivinar, y cada programador adivina distinto. Para mejorarla, hazte tres preguntas:
-
¿Con qué datos voy a trabajar? ¿De qué tipo son?
-
¿Qué valores son aceptables y cuáles no?
-
¿Qué quiero ver al final y de qué forma?
Fíjate en el caso de los límites. Si en el mercado agropecuario de Camagüey se vende yuca a 1 dólar la libra y se permiten 10 libras por día, la definición debe decir también qué hace el programa con 14 libras: por ejemplo, no calcular y mostrar un aviso de que se pasó del máximo. Una buena definición prevé esos casos.
Lázaro escribe esta definición para un programa de la bodega de su barrio: «Hacer un programa que calcule el total». Explica por qué el problema no está bien definido.…
Lázaro escribe esta definición para un programa de la bodega de su barrio: «Hacer un programa que calcule el total».
Explica por qué el problema no está bien definido. Indica qué datos de entrada, qué condición y qué resultado esperado faltan, y reescribe la definición completa.
En un mercado agropecuario de Camagüey se vende yuca a 1 dólar la libra. Un cliente puede comprar como máximo 10 libras por día. Se quiere un programa que reciba las…
En un mercado agropecuario de Camagüey se vende yuca a 1 dólar la libra. Un cliente puede comprar como máximo 10 libras por día. Se quiere un programa que reciba las libras que desea llevar y muestre cuánto debe pagar.
Redacta la definición del problema indicando:
-
los datos de entrada,
-
la condición que deben cumplir,
-
el resultado esperado.
Explica qué debería hacer el programa si el cliente pide 14 libras.
Dos educandos definen el mismo problema: Alejandro: «Quiero un programa para saber si un estudiante pasa de grado». Claudia: «Entrada: las notas finales de las seis…
Dos educandos definen el mismo problema:
-
Alejandro: «Quiero un programa para saber si un estudiante pasa de grado».
-
Claudia: «Entrada: las notas finales de las seis asignaturas, cada una entre 0 y 100. Condición: todas deben ser números dentro de ese intervalo. Resultado: mensaje que diga si el estudiante aprueba, es decir, si todas las notas son de 60 o más».
Compara las dos definiciones y argumenta cuál es más útil para programar. Señala qué elementos de la definición de Alejandro quedan ambiguos.
Etapas para resolver un problema por vía informática
Definir el problema es la primera etapa de un camino más largo. El orden lógico es este:
-
Definir exige analizar: es la habilidad de identificar datos, condición y resultado.
-
Describir el algoritmo exige descomponer el problema en pasos ordenados.
-
Escribir el programa exige conocer un lenguaje y traducir los pasos.
-
Probar exige una actitud crítica: buscar si el resultado es el esperado, incluso con datos que no cumplen la condición.
Para resolver un problema por vía informática, Yanelis ejecutó estas acciones, pero las anotó desordenadas: (a) Probar el programa con varios casos. (b) Escribir el…
Para resolver un problema por vía informática, Yanelis ejecutó estas acciones, pero las anotó desordenadas:
-
(a) Probar el programa con varios casos.
-
(b) Escribir el programa en un lenguaje.
-
(c) Definir los datos de entrada y el resultado esperado.
-
(d) Describir los pasos del algoritmo.
Ordénalas de manera lógica y explica qué relación tiene cada una con el pensamiento computacional.
Resumen
-
El pensamiento computacional es el sistema de conocimientos, habilidades y actitudes asociadas con la solución de problemas por vías informáticas; pasa de consumidor a creador.
-
No consiste solo en usar bien la computadora: se puede aplicar antes de sentarse frente a ella.
-
Un problema bien definido tiene datos de entrada, condición y resultado esperado.
-
Una definición vaga («calcular el total») se mejora preguntando con qué datos, qué valores valen y qué se quiere obtener.
-
Orden lógico: definir, describir el algoritmo, escribir el programa y probarlo.
Vuelve al principio: al amigo de Lázaro le faltaba saber el total de qué, con qué precios y qué hacer con cantidades no válidas. Con los tres elementos, el encargo ya se puede programar.