viernes, 21 de agosto de 2015

Diseño de Algoritmos

Diseño de algoritmos

Elementos básicos en el diseño de algoritmos

  • HERRAMIENTAS PARA EL DISEÑO DE ALGORITMOS
Las dos herramientas más utilizadas para diseñar algoritmos son el Pseudocódigo y el Diagrama de flujo.
  • 1. Pseudocódigo
Es un lenguaje simplificado para describir un algoritmo utilizando una mezcla de frases en lenguaje común, y palabras claves que indican el inicio y el fin del algoritmo y las instrucciones específicas a realizar.
Por ejemplo, el siguiente pseudocódigo corresponde al algoritmo para calcular el área del rectángulo: el algoritmo calcula el área (a) de un rectángulo cualquiera, si se le suministra la longitud de de la base (b) y la longitud de la altura (h).
Monografias.com
Las palabras subrayadas se llaman palabras reservadas, se deben utilizar sangrías que facilitan la lectura del algoritmo Las instrucciones en pseudocódigo son fáciles de codificar en un lenguaje de programación.
  • 2. Diagrama de flujo
El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American National Institute) e ISO (International Standard Organization para la elaboración de diagramas de flujo;
En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo se visualiza dentro del símbolo adecuado. Los símbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones.
Por ejemplo, el siguiente diagrama de flujo corresponde al algoritmo para calcular el área del rectángulo
Monografias.com
El ovalo rotulado con la palabra Inicio indica el comienzo del algoritmo, el paralelogramo es el símbolo de entrada de datos e indica que se lee el valor de la base (b) y el valor de la altura (h), el rectángulo es el símbolo de proceso e indica que se realiza un proceso sobre los datos de entrada para calcular el área (a) multiplicando la base por la altura, (utilizaremos el * como operador de multiplicación), el siguiente es el símbolo de salida y representa un documento e indica que se muestra el valor del área obtenido, en cualquier dispositivo de salida, finalmente el ovalo rotulado con la palabra Fin indica que se ha llegado al fin del algoritmo.
Los símbolos que se utilizaran para dibujar los diagramas de flujo son los siguientes:
Monografias.com
Reglas para la construcción de diagramas de flujo
  • 1. Todo diagrama de flujo debe tener un inicio y un fin.
  • 2. Las líneas de flujo nunca deben cruzarse, para evitarlo deben utilizarse el símbolo conector.
  • 3. Las líneas de flujo deben terminar siempre en un símbolo.
  • 4. No puede llegar más de una línea de flujo a un símbolo.
  • 5. Todos los símbolos en un diagrama deben estar conectados mediante una línea de flujo; todo símbolo debe tener una línea de flujo entrando y otra saliendo salvo el símbolo que indica inicio o fin del diagrama.
  • 6. Como regla general el flujo del proceso debe mostrarse de izquierda a derecha y de arriba abajo.
Se recomienda mantener uniforme el tamaño de los símbolos, por lo que el texto que se escribe dentro no debe ser muy extenso, recuérdese que el propio símbolo indica la operación a realizar. La forma en que se capturan los datos de entrada o se muestran los datos de salida se detallarán al codificar el algoritmo en el lenguaje de programación. Esto mismo se recomienda para la representación del algoritmo en pseudocódigo.

Diseño del algoritmo.
Se debe representar la alternativa de solución seleccionada mediante un algoritmo, el cual puede desarrollarse utilizando el pseudocódigo o el diagrama de flujo a preferencia del programador; luego se verifica si el algoritmo cumple con las características de un algoritmo. Esta verificación se conoce como prueba de escritorio.

Leer más: http://www.monografias.com/trabajos94/diseno-algoritmos-programacion-computadoras/diseno-algoritmos-programacion-computadoras.shtml#ixzz3jU2jLXIc




IMPLEMENTACIÓN DE ALGORITMOS

La implementación es el proceso que toma la especificación del algoritmo y la traduce
a una forma que pueda aplicarse a la solución del problema para el cual fue diseñado.
La implementación puede tomar formas muy diversas: podría significar la construcción
de un circuito eléctrico o de un dispositivo mecánico que cumpla con las condiciones
especificadas. Pero restrinjamos la definición al campo de la informática:
en este sentido, implementar significa traducir el algoritmo a un lenguaje que pueda
ser interpretado por un motor de ejecución.
Para el análisis y estudio de los algoritmos usualmente se utiliza una forma abstracta
de implementación, la cual no utiliza un lenguaje de programación específico, sino
que emplea formas de representar el algoritmo que luego pueden ser directamente
traducidas a un lenguaje en particular. Algunas de estas formas son los diagramas
de flujo, los diagramas de bloques y el seudo código. Este último es “casi”
un lenguaje imperativo, con la salvedad de que no toma en cuenta los tipos de datos
y, además, sus instrucciones pueden estar en idioma español o en cualquier otro,
ya que no serán interpretadas por ninguna computadora.
Un sencillo ejemplo de la implementación en seudo código de nuestro algoritmo
BuscarMaximo sería la siguiente:
Función BuscarMaximo(lista)
Mayor = lista(1)
Contador = 2
Mientras Contador ? longitud(lista) hacer
Si lista(Contador) > Mayor entonces
Mayor = lista(Contador)
Fin Si
Contador = Contador + 1
Fin Mientras
Devolver Mayor
Fin Función
Eficiencia de los algoritmos
La especificación de un algoritmo puede incluir consideraciones sobre su eficiencia,
dado que una implementación incorrecta puede hacer que demore en ejecutarse
mucho más tiempo de lo aceptable. Para ello se utilizan notaciones que expresan la
complejidad de los algoritmos en función del volumen de datos a procesar (ver el
Capítulo 4 para mayor información). Una de estas notaciones es la denominada “la
gran O”, que indica la cantidad de veces que el algoritmo debe repetir su bloque
principal de instrucciones para hacer su trabajo.
El ciclo principal del algoritmo BuscarMaximo –explicado en la página 20– recorre
una vez toda la lista de n elementos para determinar cuál es el mayor. Su bloque
principal (el delimitado entre Mientras y Fin Mientras) se repite tantas veces como
elementos haya en la lista. Por lo tanto, se dice que su complejidad es O(n) o que
tiene complejidad lineal, ya que el tiempo que demora en ejecutarse el algoritmo
aumentará proporcionalmente a la cantidad de elementos que tenga la lista.


http://www.ventics.com/implementacion-de-algoritmos/

Diagrama de flujo

El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

 https://es.wikipedia.org/wiki/Diagrama_de_flujo

Qué es un Diagrama de Flujo – Gestión de Procesos

Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.
 El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de cada actividad y su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de interdepartamentales… Facilita también la selección de indicadores de proceso

Beneficios del Diagrama de Flujo

  • En primer lugar, facilita la obtención de una visión transparente del proceso, mejorando su comprensión. El conjunto de actividades, relaciones e incidencias de un proceso no es fácilmente discernible a priori. La diagramación hace posible aprehender ese conjunto e ir más allá, centrándose en aspectos específicos del mismo, apreciando las interrelaciones que forman parte del proceso así como las que se dan con otros procesos y subprocesos.
  • Permiten definir los límites de un proceso. A veces estos límites no son tan evidentes, no estando definidos los distintos proveedores y clientes (internos y externos) involucrados.
  • El diagrama de flujo facilita la identificación de los clientes, es más sencillo determinar sus necesidades y ajustar el proceso hacia la satisfacción de sus necesidades y expectativas.
  • Estimula el pensamiento analítico en el momento de estudiar un proceso, haciendo más factible generar alternativas útiles.
  • Proporciona un método de comunicación más eficaz, al introducir un lenguaje común, si bien es cierto que para ello se hace preciso la capacitación de aquellas personas que entrarán en contacto con la diagramación.
  • Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las actividades que componen el proceso.
  • Igualmente, constituye una excelente referencia para establecer mecanismos de control y medición de los procesos, así como de los objetivos concretos para las distintas operaciones llevadas a cabo.
  • Facilita el estudio y aplicación de acciones que redunden en la mejora de las variables tiempo y costes de actividad e incidir, por consiguiente,  en la mejora de la eficacia y la eficiencia.
  • Constituye el punto de comienzo indispensable para acciones de mejora  o reingeniería.

Figuras de Diagramas de Flujo
Las actividades de análisis y diagramación de procesos ayudan a la organización a comprender cómo se están desarrollando sus procesos y actividades, al tiempo que constituyen el primer paso para mejorar las prácticas organizacionales.
Diagramar es establecer una representación visual de los procesos y subprocesos, lo que permite obtener una información preliminar sobre la amplitud de los mismos, sus tiempos y los de sus actividades.

http://www.aiteco.com/que-es-un-diagrama-de-flujo/



 

 

No hay comentarios.:

Publicar un comentario