Está en la página 1de 14

Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos

sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin.

Es un lenguaje de pseudoprogramacin, muy parecido a un lenguaje de programacin. El pseudocdigo es muy fcil de utilizar, ya que es muy similar al espaol. Algunas palabras utilizadas en el pseudocdigo: Inicio Fin Leer Escribir Asignar (x y+z) Ejemplo Programa Calculo rea Rectngulo 1. Inicio 2. Leer; base, altura 3. area = base x altura 4. Escribir; base, altura, area 5. Fin

Para desarrollar un pseudocdigo se necesita saber los tipos de datos que se deben tener : Entero: Subconjunto finito de los nmeros enteros, cuyo rango depender del lenguaje en el que posteriormente codifiquemos el algoritmo y del ordenador. El rango depende de cuantos bits utilice para codificar el numero, normalmente 2 bytes. Para nmeros positivos, con 16 se pueden almacenar 216 Real: Subconjunto de los nmeros reales limitado no slo en cuanto al tamao, sino tambin en cuanto a la precisin Lgico: Conjunto formado por los valores Cierto y Falso. 1 y 0. Carcter: Conjunto finito y ordenado de los caracteres que el Ordenado

Un diagrama de flujo utiliza smbolos estndar en el que cada paso del algoritmo se visualiza dentro del smbolo y en el orden en que estos pasos se ejecutan, se indica conectndolos con flechas llamadas lneas de flujo, ya que indican el flujo lgico del algoritmo.

El diagrama de flujo es la representacin grfica del algoritmo o proceso. Se utiliza en disciplinas como la programacin, la economa, los procesos industriales y la psicologa cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas que conectan los puntos de inicio y de fin de proceso.

Ejemplos:

Tcnicas de diseo de algoritmos


Algoritmos voraces (greedy): seleccionan los elementos ms prometedores del conjunto de candidatos hasta encontrar una solucin. En la mayora de los casos la solucin no es ptima. Algoritmos paralelos: permiten la divisin de un problema en sub problemas de forma que se puedan ejecutar de forma simultnea en varios procesadores. Algoritmos probabilsticos: algunos de los pasos de este tipo de algoritmos estn en funcin de valores pseudoaleatorios. Algoritmos no determinanticos: el comportamiento del algoritmo tiene forma de rbol y a cada paso del algoritmo puede bifurcarse a cualquier nmero de pasos inmediatamente posteriores, adems todas las ramas se ejecutan simultneamente.

Divide y vencers: dividen el problema en subconjuntos disjuntos obteniendo una solucin de cada uno de ellos para despus unirlas, logrando as la solucin al problema completo. Programacin dinmica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial. Ramificacin y acotacin: se basa en la construccin de las soluciones al problema mediante un rbol implcito que se recorre de forma controlada encontrando las mejores soluciones. Vuelta atrs (backtracking): se construye el espacio de soluciones del problema en un rbol que se examina completamente, almacenando las soluciones menos costosas.

Un algoritmo cuenta con un inicio y sus subprogramas llamados tambin diseo modular. La funcin es una estructura autnoma similar a los mdulos. La diferencia radica en que la funcin se usa para devolver un solo valor de un tipo de dato simple a su punto de referencia. La funcin se relaciona especificando su nombre en una expresin, como si fuera una variable ordinaria de tipo simple. Las funciones se dividen en estndares y definidas por el usuario. Estndar: Son funciones proporcionadas por cualquier lenguaje de programacin de alto nivel, y se dividen en aritmticas y alfabticas. Definidas por el usuario: son funciones que puede definirlas el programador con el propsito de ejecutar alguna funcin especfica, y que por lo general se usan cuando se trata de hacer algn clculo que ser requerido en varias ocasiones en la parte principal del algoritmo.

También podría gustarte