Los algoritmos pueden ser expresados de muchas maneras,
incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de
programación entre otros. Las descripciones en lenguaje natural tienden a ser
ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas
ambigüedades del lenguaje natural. Dichas expresiones son formas más
estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres
niveles:
1.Descripción de alto nivel. Se establece el problema,
se selecciona un modelo matemático y se explica el algoritmo de manera verbal,
posiblemente con ilustraciones y omitiendo detalles.
2.Descripción formal. Se usa pseudocódigo para
describir la secuencia de pasos que encuentran la solución.
3.Implementación. Se muestra el algoritmo expresado en
un lenguaje de programación específico o algún objeto capaz de llevar a cabo
instrucciones.
También es posible incluir un teorema que demuestre que el
algoritmo es correcto, un análisis de complejidad o ambos.
Los algoritmos pueden ser creados de dos formas:
1)Seudocódigo.- Es un conjunto pequeño y claro de
instrucciones; en secuencia, que permite llevar a cabo una tarea.
2)Diagrama de flujo.- Es la representación de la
secuencia, a través de símbolos, de la tarea que se va a realizar.
Un ejemplo de algoritmo es el que realizamos para cambiar
una llanta a un automóvil:
Inicio
Aflojar tornillos de las llantas
levantar el coche con el gato
Sacar los tornillos de las llantas
Quitar la llanta
Poner la llanta de repuesto
Poner los tornillos
Bajar el gato
Apretar los tornillos
fin
1) ALGORITMO EXPRESADO EN PSEUDOCODIGO
Definición
Mucho se habla del pseudocódigo en las carreras de Analista
de Sistemas y Programación. Pero no existe mucha bibliografía al respecto.
Comencemos aclarando que no es una forma de programación. Se
trata de una herramienta que los analistas de sistemas utilizan para comunicar
a los programadores la estructura del programa que van a realizar, de forma de
tener una idea bien clara de lo que se necesita programar.
Digamos que el pseudo código es una forma de diagramar un algoritmo para
resolver un determinado problema, sin atenerse a ningún lenguaje de
programación en especial.
Un algoritmo es un conjunto de procedimientos que permiten
resolver un problema.
En vez de escribir el programa directamente en un lenguaje
de programación determinado (C, Basic, etc.), crearemos un borrador entendible
para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la
programación propiamente dicha.
El pseudo código se refiere a crear un código para orientar
a los programadores, pero sin la sintaxis ni la estructura propia de ningún
lenguaje.
Utilización en la práctica
En el trabajo de un analista de sistemas, una de las partes
más trabajosas es la de determinar que es lo que necesitan de un sistema los
usuarios finales. Se dedican muchas horas a hacer un relevamiento de los datos
que serán necesarios, los tipos de procesamientos, las salidas, etc. Y debe
existir una realimentación entre el diseño y el usuario, para garantizar que el
sistema cumpla con los requisitos del usuario.
Supongamos que tenemos un sistema para una empresa que
utiliza una interfaz gráfica en Visual Basic, algunas aplicaciones específicas
en C, y páginas PHP para trabajo vía Internet. Seguramente que crear un
diagrama específico para cada lenguaje sería una tarea tediosa.
Gracias a esta herramienta, podemos reunir a todos los programadores, dar las
pautas de trabajo, y mediante el pseudo código, cada programador sabrá lo que
hace el sistema, y podrá escribir el código correspondiente.
Incluso dos programadores que dominen el mismo lenguaje pueden tener
metodologías de trabajo distintas. Un problema puede ser resuelto de muchas
maneras, cada una más o menos eficiente que la otra, pero todas cumplen con el
objetivo.
El pseudo código elimina estas diferencias, dando libertad a
los programadores para que puedan ajustarse a su metodología de trabajo.
Generalmente, este código se escribe con la participación de
todos los programadores. Esto representa la ventaja de que muchas opiniones
ayudan a elegir la mejor entre todas, logrando una solución efectiva y eficaz
al problema planteado.
2) EXPRESAR UN ALGORITMO CON UN DIAGRAMA DE FLUJO
DIAGRAMA DE FLUJO
Es un esquema para representar gráficamente un algoritmo. Se
basan en la utilización de diversos símbolos para representar operaciones
específicas, es decir, es la representación grafica de las distintas
operaciones que se tienen que realizar para resolver un problema, con
indicación expresa el orden lógico en que deben realizarse.
Se les llama diagramas de flujo porque los símbolos
utilizados se conectan por medio de flechas para indicar la secuencia de
operación. Para hacer comprensibles los diagramas a todas las personas, los
símbolos se someten a una normalización; es decir, se hicieron símbolos casi
universales, ya que, en un principio cada usuario podría tener sus propios
símbolos para representar sus procesos en forma de Diagrama de flujo. Esto
trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía
interpretar. La simbología utilizada para la elaboración de diagramas de flujo
es variable y debe ajustarse a un patrón definido previamente.
El diagrama de flujo representa la forma más tradicional y
duradera para especificar los detalles algorítmicos de un proceso. Se utiliza
principalmente en programación, economía y procesos industriales.
Para realizar los diagramas de flujo utilizamos distintas
figuras geométricas en forma de caja de texto, que sirven para
distinguir el tipo de tareas que se ejecutan, las flechas indican el flujo del
proceso y se valen de determinada simbología específica para facilitar su
comprensión
Por otra parte, un algoritmo consta de tres partes,
secciones ó módulos principales, en la siguiente figura podemos observar las
secciones que constituyen un algoritmo.
El módulo 1.- representa la operación o acción que permite el ingreso de los
datos del programa.
El módulo 2.- representa la operación o conjunto de
operaciones secuenciales, cuyo objetivo es obtener la solución al problema.
El módulo 3.- representa una operación o conjunto de
operaciones que permiten comunicar al exterior el o los resultados alcanzados.
DIAGRAMA DE FLUJOS DE DATOS
Un diagrama
de flujo de datos (DFD sus siglas en español e inglés) es una
representación gráfica del flujo de datos a través de un sistema de información. Un
diagrama de flujo de datos también se puede utilizar para la visualización de
procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción
entre el sistema y las entidades externas. Este contexto a nivel de DFD se "explotó"
ESTRUCTURADO
En programación, un
lenguaje estructurado es aquel que soporta la división en bloques
(procedimientos y funciones) que pueden o no comunicarse entre sí.
Además la programación se controla con secuencia, selección e iteración.
Permite reutilizar código programado y otorga una mejor comprensión de la
programación.
Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna
estructura, es simplemente un “bloque”, como por ejemplo, los archivos batch (.bat).
https://www.youtube.com/watch?v=SDv2vOIFIj8