domingo, 25 de septiembre de 2011

Algoritmos. Técnicas de diseño.

Ya sabemos que en la fase de Diseño de la creación de un programa, una de las cosas que hay que hacer es definir el o los algoritmos a emplear para resolver el problema. Y, ¿qué se entiende por "algoritmo"?

Se puede decir que un algoritmo es el conjunto de pasos a seguir para resolver un problema. Podemos encontrar algoritmos en la vida cotidiana, por ejemplo una receta de cocina, el manual de instrucciones de algún aparato doméstico, etc.

Un algoritmo debe ser:
  • Preciso: debe detallar el orden exacto de las operaciones a realizar.
  • Finito: debe acabar en algún momento, es decir, debe tener un número finito de pasos.
  • Definido: No ambiguo. Si se sigue dos veces, se ha de obtener el mismo resultado.
  • Efectivo: encuentra la solución en el menor tiempo posible, y con el menor número de recursos.
Además, los algoritmos siempre deben ser diseñados antes de implementar los programas que los ejecuten, y deberán ser independientes del lenguaje de programación en el que vayan a ser expresados.

Técnicas para el diseño de algoritmos

Aunque existen otras, las dos técnicas más utilizadas para diseñar algoritmos son el Diagrama de Flujo (u Ordinograma) y el Pseudocódigo.

Diagramas de flujo

Un diagrama de flujo sirve para representar visualmente el flujo de datos y la secuencia de ejecución de un programa. Los diagramas de flujo se dividen en:
  • Organigramas: son más generales. Representan el flujo de información entre los distintos soportes físicos del sistema informático.
Ejemplo de organigrama. www.iesjuandelacierva.com/
  •  Ordinogramas: representan con más detalle el flujo del programa. Muestran la secuencia lógica y detallada de las operaciones a realizar en el algoritmo.
Ejemplo de ordinograma. www.carlospes.com/curso_de_algoritmos/

Existe una colección de símbolos que representan cada uno de los elementos que intervienen en un diagrama de flujo. Cuando se usen estos símbolos, deberán contener en su interior un nombre relacionado con la función que realizan. Estos símbolos son:


Las reglas para la representación de ordinogramas son básicamente las siguientes:
  • Todos los elementos deberán estar conectados por medio de líneas de conexión, y éstas han de ser rectas.
  • No se pueden cruzar las líneas de conexión.
  • No deben quedar líneas de conexión sin conectar.
  • El flujo del programa deberá ir de arriba hacia abajo y de izquierda a derecha.
  • A un símbolo de proceso pueden llegarle varias líneas de conexión, pero solo puede salir una de él.
  • Al símbolo de INICIO no le puede llegar ninguna línea de conexión.
  • Al símbolo de FIN le pueden llegar varias líneas de conexión, no puede salirle ninguna.
Software para crear diagramas de flujo: smartdraw, yEd, DFD, Dia. Para Linux: Dia 0.97, SimpleDiagrams 1.0.19.

Visita el siguiente enlace para aprender más sobre los diagramas de flujo.

Pseudocódigo

Cuando los algoritmos se complican y crecen de tamaño, representarlos gráficamente daría lugar a ordinogramas tan grandes que habría que fragmentarlos y, además, serían muy difíciles de interpretar.

El pseudocódigo se utiliza para resolver problemas usando un lenguaje común, parecido al lenguaje humano pero simplificado, independiente de cualquier lenguaje de programación. Podríamos decir que el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación. Nos permitirá expresar de forma clara y sin ambigüedades el flujo de ejecución de las acciones de un algoritmo.

Ejemplos de algoritmos en pseudocódigo:



Aunque no se ha establecido una manera concreta de diseñar un pseudocódigo, se debe intentar seguir una serie de normas


Visita el siguiente enlace para aprender más sobre cómo diseñar un algoritmo en pseudocódigo.

No hay comentarios:

Publicar un comentario