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.
Created with BuildVu