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”.