domingo, 6 de noviembre de 2022

Enchufado vs desenchufado

 

¿Se puede programar sin recursos digitales?

Si se puede, porque podemos enseñar a nuestros estudiantes como es el procedimiento que realizan las máquinas para poder funcionar.

Si en la escuela no tenemos Computadoras, tablet, celulares etc. podemos crear diferentes opciones para que ellos puedan programar. (Desenchufados)

 

Sin computadora

Con computadora

 

Resolución de Problemas

  1. Resolución de Problemas

La razón principal por las que personas aprenden lenguajes de programación es utilizar la computadora como una herramienta para resolver problemas.

DEFINICIÓN

Llamamos resolución de problemas a la formulación de una determinada cantidad de pasos tendientes a cumplir con el objetivo preasignado. Por ejemplo: si el problema fuera un cálculo matemático, al determinar qué cuentas se debe realizar, en qué orden y cómo presentar el resultado, tendríamos el problema resuelto.

En la vida cotidiana nos enfrentamos a un sinfín de “problemas”, que resolvemos en forma automática (no tenemos necesidad de determinar a priori qué pasos vamos a desarrollar para completar esa tarea con éxito).

Es una tarea tan rutinaria como tomar un baño por las mañanas; esto representa una serie muy amplia de decisiones y de acciones que, a pesar de ser llevadas a cabo con naturalidad y sin necesidad de pensar cómo hacerlo, si quisiéramos representarlas tendríamos que utilizar varias hojas de escritura.

Si tuviéramos que desarrollar la acción “tomar un baño” en un amplio nivel de detalle se podrían describir las siguientes acciones:

  1. Camino
  2. Tomo el picaporte
  3. Golpeo la puerta
  4. Giro el picaporte
  5. Empujo la puerta

Y continuar con las decisiones:

  1. Está ocupado
  2. Está cerrada la puerta
  3. Está caliente el agua
  4. Está cerrada la llave de gas
  5. Hay agua

Como vemos, algo tan simple y espontáneo como tomar un baño, se convirtió en un verdadero compendio de acciones y toma de decisiones que se ejecutan sin tener conciencia de ello.

Si llevamos la resolución de problemas al ámbito de la Programación, podríamos plantearlo como una serie de etapas básicas que pasaremos a detallar:

Formulación del problema: tener bien claro qué es lo que se pretende que haga nuestro programa, es decir, conocer claramente la perspectiva del mismo, ya que no se puede programar algo que no se entiende.

Elección del método de resolución: en programación ustedes aprenderán, que al igual que en Matemática, para un mismo planteo se pueden presentar varias soluciones, y demostrar que las mismas son válidas y correctas.

Frente a un mismo problema, siempre va a encontrar un abanico de posibilidades para resolverlo. Estará en su experiencia y conocimientos adquiridos tratar de determinar cuál será la más conveniente.

Codificación: traducir la solución elegida a un lenguaje de programación.

Compilación y Ejecución: puesta en marcha de su programa.

Verificación y Depuración: se buscan los errores de las etapas anteriores y se los elimina.

De estas cinco etapas mencionadas, nos ocuparemos en forma especial de las dos primeras. Para la codificación utilizaremos un lenguaje en castellano y de fácil lectura que es el pseudocódigo. 

  1. Entes intervinientes en la Resolución de Problemas

Existen cuatro entes, en forma genérica, que involucran la resolución de problemas. Estos pueden ser considerados como los elementos básicos comunes a todos los problemas. Si somos capaces de determinar y obtener todos y cada uno de estos, el problema será resuelto.

Procesador: es toda entidad capaz de comprender y ejecutar el trabajo para el cual fue seleccionado. Vemos que podemos considerar procesador tanto a una computadora, una persona o una máquina capaz de realizar la acción.

Ambiente: es el conjunto de todos los recursos necesarios para hacer un trabajo. Este es específico para el trabajo que se ha de realizar y de la obtención o no de esos recursos dependerá la posibilidad de resolución (o su imposibilidad) y la forma que se adoptará para hacerlo. En lo que hace a determinar el ambiente, volviendo al ejemplo de tomar un baño, podemos ver que para tomar un baño el ambiente debería tener todo lo necesario para ejecutar la acción (agua, jabón, ducha, etc.). Podría ocurrir que en lugar de ducha hubiese una bañera, con lo cual, mi ambiente satisface en cuanto al objetivo del problema, pero tendría que variar la forma de tomar el baño (mi ambiente condicionó la solución elegida).

Acción: es un evento que modifica el ambiente, ya sea generando nuevos recursos o modificando los existentes, en valor o forma. Podríamos considerar como acciones tanto abrir una canilla como realizar un cálculo matemático, buscar un fichero, etc. Estas acciones pueden ser simples o complejas.

Condición: es una afirmación lógica que puede ser verdadera o falsa sobre el estado del problema en el momento de la observación. Cuando tratamos con procesadores no humanos, no podemos permitirnos ambigüedades, ya que provocaríamos errores de interpretación al carecer de la capacidad de razonar. Podríamos preguntar si algo es blanco o negro, si llueve o hace frío, pero no podríamos preguntar si está más o menos nublado.

 

 

No hay comentarios.:

Publicar un comentario