siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. 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. .Es un conjunto prescrito de instrucciones o reglas bien definidas.

.

.

area 5. area = base x altura 4. El pseudocódigo es muy fácil de utilizar. muy parecido a un lenguaje de programación. Leer. altura. base. ya que es muy similar al español. Escribir. altura 3.Es un lenguaje de pseudoprogramación. Algunas palabras utilizadas en el pseudocódigo: – Inicio – Fin – Leer – Escribir – Asignar (x← y+z) Ejemplo Programa Calculo Área Rectángulo 1. Fin . base. Inicio 2.

normalmente 2 bytes. ‘1’ y ‘0’.Para desarrollar un pseudocódigo se necesita saber los tipos de datos que se deben tener : Entero: Subconjunto finito de los números enteros. El rango depende de cuantos bits utilice para codificar el numero. sino también en cuanto a la precisión Lógico: Conjunto formado por los valores Cierto y Falso. con 16 se pueden almacenar 216 Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño. Para números positivos. cuyo rango dependerá del lenguaje en el que posteriormente codifiquemos el algoritmo y del ordenador. Carácter: Conjunto finito y ordenado de los caracteres que el Ordenado .

Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo. . El diagrama de flujo es la representación gráfica del algoritmo o proceso. ya que indican el flujo lógico del algoritmo. se indica conectándolos con flechas llamadas líneas de flujo. Se utiliza en disciplinas como la programación.Un diagrama de flujo utiliza símbolos estándar en el que cada paso del algoritmo se visualiza dentro del símbolo y en el orden en que estos pasos se ejecutan. los procesos industriales y la psicología cognitiva. la economía. y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

Ejemplos: .

.

.

además todas las ramas se ejecutan simultáneamente. Algoritmos no determinanticos: el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores. .Técnicas de diseño de algoritmos Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima. Algoritmos paralelos: permiten la división de un problema en sub problemas de forma que se puedan ejecutar de forma simultánea en varios procesadores. Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.

Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial. Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones. almacenando las soluciones menos costosas. logrando así la solución al problema completo.Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas. . Vuelta atrás (backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente.

.

La función es una estructura autónoma similar a los módulos. y que por lo general se usan cuando se trata de hacer algún cálculo que será requerido en varias ocasiones en la parte principal del algoritmo. . Las funciones se dividen en estándares y definidas por el usuario. Estándar: Son funciones proporcionadas por cualquier lenguaje de programación de alto nivel.Un algoritmo cuenta con un inicio y sus subprogramas llamados también diseño modular. como si fuera una variable ordinaria de tipo simple. La diferencia radica en que la función se usa para devolver un solo valor de un tipo de dato simple a su punto de referencia. La función se relaciona especificando su nombre en una expresión. Definidas por el usuario: son funciones que puede definirlas el programador con el propósito de ejecutar alguna función específica. y se dividen en aritméticas y alfabéticas.

Sign up to vote on this title
UsefulNot useful