jueves, 30 de octubre de 2008

Símbolos Usados en Algoritmos

Hasta este momento todo lo que hemos visto es prácticamente teoría, llegó la hora de plasmar nuestros algoritmos de alguna forma que sean claros para cualquier personaque necesite leerlos. Muchas veces los infotmáticos se saltan este paso y llegan directamente a la implementacion en algún lenguaje de programación; para ello se necesita tener mucha practica y memoria fotografica, ya que muchas veces se omiten pasos que a la hora de implementarlos en algún lenguaje producen que el programa no llege a la solucion que habiamos planteado como óptima.
De esta manera se han creado lenguajes que puedan representar nuestros algoritmos y que de esa manera se construya una solucion correcta sin omitir algunos pasos. Imaginense que si se desea crear un algoritmo para que un robot solde una pieza en una ensambladora de automóviles y la persona encargada de implementar el algoritmo olvida, por muy obvio que sea, comprobar si las piezas están en su lugar, obviamente podria terminar en tragedia.
Asi que la gente que se encarga de los estándares en cuanto a lo que se refiere a las tecnologías de la informacion vio la necesidad de representar algoritmos sin tener que referirse a un lenguaje de programación en específico.


Graficos:
Este tipo de lenguaje tiende a representar a los algoritmos de una forma grafica. De esta manera se hace mas facil la representación de cada uno de los procesos que debe llevar a cabo una computadora para resolver problema.



Diagramas de Flujo:
Sin lugar a duda el lenguaje algorítmico gráfico más común son los Diagramas de Flujo. Éstos pueden definirse como esquemas usados para representar gráficamente un proceso. Pero no sólo se utilizan para representar procesos informaticos, tambien en otras áreas como la economia, la administracion, procesos industriales, etc.
A continuacion explicaremos los símbolos más comunes que se utilizan en la informática para representar diagramas de flujo.






Existen otros simbolos más especificos para otro tipo de procesos, pero en su mayoria ya no se usan porque representaban procesos en dispositivos que hoy en día son obsoletos, como grabar en cinta magnética o leer una tarjeta perforada.



No graficos:
Los lenguajes algoritmicos no graficos generalmente son utilizados para representar procesos informaticos ya mas especificos. Dicho de otra forma, para representar la codificacion de un programa sin la necesidad de conocer un lenguaje de programacion especifico.



Pseudocodigo:
Sin lugar a duda, el pseudocodigo es el lenguaje algoritmico no grafico mas utilizado hasta la fecha. Cualquier persona que se diga que tiene experiencia como programador, alguna vez se ha visto en la necesidad de representar sus programas en pseudocodigo.
El pseudocodigo significa que vas a convertir tu algoritmo en un lenguaje escrito que se entienda sin utilizar la sintaxis y la gramatica de un lenguaje de programacion en especifico. Existen diferencias entre las normas de como debe realizarse correctamente un pseudocodigo debido a que, como no es necesariamente un lenguaje de programacion, debe adaprtarse a las necesidades del algoritmo en si; por eso varios autores definen su propia sintaxis y gramatica de forma diferente.



Datos:
En un pseudocodigo los datos se dan por creados desde el momento en el que son utilizados, asi que no es necesario avisar que variables vamos a ocupar a lo largo de nuestro algoritmo, ni que tipo de datos es el que se va a almacenar dentro de él; pero, una ves que se a utilizado una variable para almacenar cierto tipo de dato debe seguir siendo usada para este tipo. Por ejemplo, si al inicio de nuestro pseudocodigo declaramos que vamos a usar una variable que llamaremos “A” y le asignamos un valor numérico entero como 8, la variable “A” en el resto del algoritmo deberá solamente poder alamacenar datos numéricos enteros.





Ejemplo: