Pág.48 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php http://scratch.mit.edu/projects/jualop/42800 Muchos estudiantes logran construir la figura del procedimiento simetríaEstrella utilizando gran cantidad de comandos que se repiten sin estructura alguna (mediante experimentación). Es muy importante que ellos reflexionen sobre las ventajas que ofrecen los procedimientos cuando se los utiliza a manera de objetos que cumplen con una función determinada (dibujar un cuadrado, calcular un área, etc). Una tarea que debe realizarse varias veces es candidata ideal para tratarla como un procedimiento. Con la utilización de parámetros se pueden cambiar algunos valores cada vez que se ejecute esa tarea. De esta manera, si necesitamos dibujar varios cuadrados de diferentes tamaños, lo más adecuado será construir un procedimiento con el valor de Lado como parámetro y ejecutarlo varias veces asignando a este el valor del Lado del cuadro a dibujar, cada vez que se ejecute (ver el ejemplo 3-4). Este ejemplo ilustra la construcción de figuras simétricas mediante la utilización de procedimientos invocados desde otros procedimientos. El concepto de simetría es muy importante tanto en disciplinas como matemáticas y arte como en la cultura general del estudiante. La programación de computadores puede apoyar muy efectivamente el afianzamiento en el niño del concepto que este tiene de simetría, alcanzado en forma intuitiva a través del espejo. “Los espejos son para los niños su primera experiencia y permiten examinar muchos aspectos de las simetrías. Se puede uno preguntar acerca de la inversión mutua entre derecha e izquierda, acerca de las distancias entre el objeto y su imagen en el espejo, lo que ocurre cuando se mueve el objeto o se mueve el espejo, o lo que ocurre cuando estos giran” Fletchet, T. J. citado por Cajaraville (1989). Por otra parte, la construcción de figuras como estas requiere un dominio espacial del estudiantes ya que es mucho más difícil reproducir una acción correctamente en el pensamiento que llevarla a cabo en el nivel de la conducta. Por ejemplo, es más sencillo moverse de un lugar a otro en un espacio físico o dar vueltas en torno a objetos que representar mentalmente esos movimientos con precisión o representarlos en un plano e invertir mentalmente las posiciones de los objetos haciendo girar el plano (Piaget,1993). Por último, en este ejemplo se utilizan más comandos de los que realmente se requieren. Como el objetivo no es presentar códigos optimizados sino más bien que el estudiante se familiarice con los comandos disponibles, más adelante, cuando se vea la estructura repetitiva, el docente puede repetir este ejemplo y utilizar el comando “repetir”. Posteriormente, promover la reflexión de los estudiantes sobre la optimización del código y las múltiples maneras que hay en programación para realizar la misma tarea. EJEMPLO 3-6 Escribir un procedimiento para calcular el área de cualquier triángulo rectángulo. En él se debe pedir al usuario que ingrese los valores de la Altura y la Base del triángulo. R/. ANÁLISIS DEL PROBLEMA Formular el problema: Ya está claramente planteado. Resultados esperados: Un procedimiento que permita calcular el área de cualquier triángulo rectángulo. Datos disponibles: Base y Altura del triángulo (se deben solicitar al usuario). El estudiante debe preguntarse si sus conocimientos actuales de matemáticas le permiten resolver este problema; de no ser así, debe plantear una estrategia para obtener los conocimientos requeridos. Restricciones: Los valores de base y altura son variables y se deben solicitar al usuario. Procesos necesarios: definir variables; asignar el valor 2 a la constante div; solicitar al usuario el valor de la altura del triángulo; solicitar al usuario el valor de la base; aplicar la fórmula de área; mostrar el resultado.
Pág.49 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php DISEÑO DEL ALGORITMO TRADUCCIÓN DEL ALGORITMO EN MICROMUNDOS para triánguloRectángulo local "div ; declarar variables y constantes local "base local "altura local "área da "div 2 pregunta [Ingrese la Altura del Triángulo] ; ingresar altura y base da "altura respuesta pregunta [Ingrese la Base del Triángulo] da "base respuesta da "área :base * :altura / :div ; realizar cálculos anuncia frase [El Área del triángulo es:] :área ; reportar el resultado fin TRADUCCIÓN DEL ALGORITMO EN SCRATCH En este ejemplo, el procedimiento triánguloRectángulo también está compuesto únicamente por una estructura secuencial de instrucciones. En ella se utilizan las primitivas “pregunta” y “respuesta” para permitir que el usuario del programa suministre al programa los datos “altura” y “base” del triángulo. De esta forma, se logra un procedimiento generalizado para calcular el área de CUALQUIER triángulo rectángulo. En otras palabras, cada vez que se ejecute el procedimiento triánguloRectángulo, este le preguntará al usuario cuál es la altura y la base del triángulo del cual desea calcular su área. Tanto en la utilización de la estructura secuencial, como en las dos que veremos más adelante, es muy importante que los estudiantes reflexionen y determinen el orden de ejecución de las instrucciones (posición) ya que la conmutatividad no es una propiedad aplicable a los algoritmos. El lenguaje algorítmico, al igual que el lenguaje formal de las matemáticas, tiene carácter gráfico y posicional; busca la precisión, el rigor, la abreviación y la universalidad; y, su finalidad fundamental consiste en obtener resultados internamente consistentes (Onrubia & Rochera & Barbarà, 2001). La construcción de estructuras algorítmicas, entendidas estas como secuencias de instrucciones y operaciones, con el fin de lograr un resultado concreto, ayuda a afianzar en los estudiantes el conocimiento procedimental matemático. Este conocimiento se caracteriza por la acción (saber hacer) frente al conocimiento declarativo que se basa en la enunciación (saber decir). Saber explicar (enunciar) un teorema no garantiza que este se sepa aplicar (actuar) correctamente en la solución de una situación problemática determinada (Onrubia & Rochera & Barbarà, 2001). Toda secuencia de acciones tiene una estructura que debe planearse (consciente o inconscientemente) antes de ejecutarla. Cuando la acción se realiza de manera automática, quien actúa no es consciente de la estructura y por tanto no puede ver las correlaciones en su actuación y con el entorno de dicha acción; las acciones se convierten en operaciones cuando quien las realiza es consciente de las relaciones inherentes. Pero las acciones prácticas requieren tanta atención que puede ser difícil realizarlas dándose cuenta al mismo tiempo de las correlaciones inherentes a ellas. Por esto, son fundamentales los sistemas de signos a los cuales se traducen las acciones; con los signos se pueden expresar las relaciones que existen dentro de las acciones y entre sus objetos, y se puede proceder con los signos del mismo modo que con los objetos reales (Aebli, 2001). Según Saussure (1916), citado por Aebli (2001), hay tres grandes grupos dentro de los signos: los símbolos, los signos propiamente dichos y las señales. Un signo, a diferencia de un símbolo, no se parece a su significado; es elegido arbitrariamente y para conocer su significado hay que aprenderlo y fijarlo en la memoria: palabras de lenguajes naturales, cifras, signos algebraicos, etc. Los significados se pueden codificar básicamente de cuatro formas: mediante la palabra hablada, la palabra escrita, el signo gráfico, y la variable. Así, el número 2 se puede representar mediante el fonema “dos”, la palabra “dos”, el signo “2” o “..” y la variable “a”.
Created with BuildVu