Pág.26 - 9-nov-09 - Segunda Edición - Descargue gratuitamente esta Guía: http://www.eduteka.org/GuiaAlgoritmos.php
REPRESENTACIÓN DE ALGORITMOS
Los Algoritmos se puede expresar de muchas maneras,
pero en esta guía se tratarán solo dos formas:
Seudocódigo y Diagrama de Flujo. En Seudocódigo la
secuencia de instrucciones se representa por medio de
frases o proposiciones, mientras que en un Diagrama
de Flujo se representa por medio de gráficos.
EJEMPLO
Elaborar un Algoritmo para calcular el área de cualquier triángulo
rectángulo y presentar el resultado en pantalla.
SEUDOCÓDIGO
Paso 1: Inicio
Paso 2: Asignar el número 2 a la constante "Div"
Paso 3: Conocer la base del triángulo y guardarla en la variable
"Base"
Paso 4: Conocer la altura del triángulo y guardarla en la variable
"Altura"
Paso 5: Guardar en la variable "Area" el valor de multiplicar "Base"
por "Altura"
Paso 6: Guardar en la variable "Area" el valor de dividir "Area"
entre "Div"
Paso 7: Reportar el valor de la variable "Area"
Paso 8: Final
DIAGRAMA DE FLUJO
Ilustración 2-4: Algoritmo para calcular el área de cualquier
triángulo rectángulo
El seudocódigo está compuesto por proposiciones
informales en español que permiten expresar
detalladamente las instrucciones que llevan desde un
estado inicial (problema) hasta un resultados deseado
(solución). Por lo regular, los algoritmos se escriben por
refinamiento: se escribe una primera versión que luego
se descompone en varios subproblemas (el número
depende de la complejidad del problema)
independientes entre sí. Si es necesario se va refinando
cada vez las instrucciones hasta que las proposiciones
generales en español como las del ejemplo anterior se
puedan codificar en el lenguaje seleccionado para hacer
la programación (en el caso de esta guía será Logo).
Utilizar Diagramas de Flujo para representar un
algoritmo tiene claras ventajas, especialmente cuando
son construidos por estudiantes de básica y media.
Numerosas investigaciones han mostrado que el
Aprendizaje Visual es uno de los mejores métodos para
enseñar habilidades del pensamiento. Las técnicas que
utilizan formas graficas para representar ideas e
información ayudan a los estudiantes a clarificar su
pensamiento, y a procesar, organizar y priorizar nueva
información. Los diagramas visuales revelan patrones,
interrelaciones e interdependencias además de
estimular el pensamiento creativo.
La utilización de Diagramas ayuda a los estudiantes a:
• Clarificar el pensamiento : Ellos pueden ver cómo se
conectan los procesos y se dan cuenta de cómo
estos se pueden organizar o agrupar para darles el
orden lógico correcto.
• Identificar pasos erróneos : Sobre un diagrama es
más fácil identificar los cambios que se requieren
para el correcto funcionamiento de un programa de
computador que hacerlo sobre el código.
Los Diagramas de Flujo son una de las técnicas más
utilizadas para representar gráficamente la secuencia de
instrucciones de un Algoritmo. Estas instrucciones están
compuestas por operaciones, decisiones lógicas y ciclos
repetitivos, entre otros. La solución de un problema
puede contener varios conjuntos de instrucciones
(procedimientos o métodos) que tienen como finalidad
ejecutar cada uno de los procesos necesarios para
llegar a la solución de un problema a partir de los datos
disponibles (estado inicial).
Las ventajas de diseñar un Diagrama de Flujo antes de
empezar a generar el código de un programa (Rojas &
Ñacato, 1980) son, entre otras:
• Forzar la identificación de todos los pasos de una
solución de forma clara y lógica;
• Establecer una visión amplia y objetiva de la
solución;
• Verificar si se han tenido en cuenta todas las
posibilidades;
• Comprobar si hay procedimientos duplicados;
• Representar gráficamente una solución (es más
simple hacerlo con gráficas que mediante palabras);
• Facilitar a otras personas la comprensión de la
secuencia lógica de la solución planteada;
• Posibilitar acuerdos con base en la aproximación
común a una solución de un problema, resolver
ambigüedades o realizar mejoras;
• Establecer posibles modificaciones (resulta más fácil
depurar un programa con el diagrama que con el
listado del código);
• Agilizar la codificación (traducción) del algoritmo en
un lenguaje de programación;
• Servir como elemento de documentación de la
solución del problema.