32
Concepto y representaciones de un Algoritmo. Estructura y elementos básicos de un programa. Diagramas de Flujo JOAQUÍN LARA SIERRA

Concepto y representaciones de un Algoritmo

Embed Size (px)

DESCRIPTION

Concepto y representaciones de un Algoritmo

Citation preview

Page 1: Concepto y representaciones de un Algoritmo

Concepto y representaciones de un Algoritmo.

Estructura y elementos básicos de un programa.

Diagramas de Flujo

JOAQUÍN LARA SIERRA

Page 2: Concepto y representaciones de un Algoritmo

1 Programación estructurada y modular

Desde el nacimiento de la informática y con el sucesivo paso de los años, se han ido desarrollando métodos y herramientas con el objetivo de facilitar y mejorar el diseño y resolución de programas. Estos adelantos en el ámbito de la programación, originaron lo que actualmente conocemos como programación estructurada o modular

Page 3: Concepto y representaciones de un Algoritmo

1.1 Programación estructurada

● Hace referencia a un conjunto de técnicas que incorporan:

● Diseño descendente ( Top-down)● Posibilidad de descomponer una acción

compuesta o compleja en términos de acciones más simples.

● El uso de estructuras básicas de control (secuencial, alternativa y repetitiva).

Page 4: Concepto y representaciones de un Algoritmo

1.2 Programación modular.● Hacemos referencia a la división de un

programa en módulos de manera que cada uno de ellos tenga encomendada la ejecución de una única tarea, simplificando la solución del problema al máximo.

● Cada módulo se caracteriza por ser programado y depurado con independencia del resto de los módulos

Page 5: Concepto y representaciones de un Algoritmo

1.3 En resumen

● De todo ello podemos concluir:

1)Se minimiza la complejidad del problema y por tanto se reducen errores en la fase fe codificación o construcción.

2)Aumenta considerablemente la productividad, no sólo en el diseño y desarrollo inicial de la aplicación. sino también en sucesivas fases o etapas en las que se requiera una modificación o actualización del producto desarrollado facilitando así la depuración y puesta a punto de los programas.

Page 6: Concepto y representaciones de un Algoritmo

2 Partes de un programa

Page 7: Concepto y representaciones de un Algoritmo

2 Partes de un programa● Entrada de datos, En este bloque se engloban todas aquellas

instrucciones que toman datos de un dispositivo o periféricos externo, depositándolos posteriormente en memoria central o principal para poder ser procesados.

● Proceso o algoritmo. Engloba todas aquellas intrucciones encargadas de procesar la información o aquellos datos pendientes de elaborar y que previamente habían sido depositados en memoria principal para su posterior tratamiento. Finalmente, todos los resultados obtenidos en el tratamiento de dicha información son depositados nuevamente en memoria principal, quedando de esta manera disponible.

● Salida de datos o resultados. Este bloque está formado por todas aquellas instrucciones que toman los resultados depositados en memoria principal una vez proceado los datos de entrada, enviándolos seguidamente a un dispositivo o periférico externo.

Page 8: Concepto y representaciones de un Algoritmo

3 Algoritmos● Un algoritmo se puede definir como la descripción abstracta de

todas las acciones u operaciones que debe realizar un computador de forma clara y detallada. así como el orden en el que éstas deberán ejecutarse junto con la descripción de todos aquellos datos que deberán ser manipulados por dichas acciones y que nos conducen a la solución del problema facilitando así su posterior traducción al lenguaje de programación correspondiente.

● El diseño de todo algoritmo debe reflejar tres partes de un programa que son entrada, proceso y salida.

● Es importante tener en cuenta que todo algoritmo debe ser totalmente independiente del lenguaje de programación.

Page 9: Concepto y representaciones de un Algoritmo

3.1 Para tener en cuenta

● La dificultad a la hora de conseguir una solución a un problema en concreto reside en la fase de diseño, no en la traducción del algoritmo a un lenguaje de programación determinado, por ello, se debe dar mayor importancia y prestar mas atención al desarrollo de algoritmo que a la propia codificación, ya que al conseguir un buen diseño nos facilitará totalmente su traducción.

Page 10: Concepto y representaciones de un Algoritmo

3.2 Características● Debe ser conciso y detallado, es decir debe reflejar con el

máximo detalle el orden de ejecución de cada acción u operación que vaya a realizar el computador.

● Nunca debe ser rígido en su diseño, debiendo mantener esta cualidad o característica de flexibilidad en sus representaciones gráficas , permitiendo y facilitando así las futuras modificaciones o actualizaciones del diseño realizado.

● Debe tener un comienzo y un final. Por ello se puede decir que es infinito o limitado.

● Al aplicar el algoritmo n veces con los mismos datos de entrada, se deben obtener los mismos resultados o datos de salida. Por ello se puede decir que es exacto o preciso.

● Debe ser lo mas claro y sencillo posible para facilitar su entendimiento y comprensión por parte del personal informático

Page 11: Concepto y representaciones de un Algoritmo

4 Diagramas de Flujo● Para el diseño de los algoritmo se utilizan

técnicas de representación. Una de esas técnicas son los denominados diagramas de flujo, que se definen como la representación gráfica que mediante el uso de símbolos estándar conectados o unidos mediantes lineas de flujo, muestran la secuencia lógica de las operaciones o acciones que debe realizar un computador, así como la corriente o flujo de datos en la resolución de un programa.

Page 12: Concepto y representaciones de un Algoritmo

4 Diagramas de Flujo● Los diseños deben ser normalizados para

facilitar el intercambio de documentación entre el personal informático Para ello existen normas en las que basarse, dictadas por distintas organizaciones como la ISO (International Standard Organization), ANSI (American National Standard Institute)..

Page 13: Concepto y representaciones de un Algoritmo

4 Diagramas de Flujo● Los diagramas de flujo se pueden clasificar en

dos grandes grupos:– Organigramas

– Ordinogramas

● Una de las principales diferencias entre ambos, es que pertenecen a distintas fases o etapas de la resolución de un programa. Mientras que los organigramas corresponden a las fase de análisis, los ordinogramas corresponden a la fase de diseño.

Page 14: Concepto y representaciones de un Algoritmo

4.1 Organigramas

Todo organigrama debe reflejar:

(a) Las distintas áreas o programas en los que se divide el problema, así como el nombre de cada uno de ellos.

(b) Las Entradas y Salidas de cada área, indicando los soportes que serán usados para el almacenamiento tanto de los datos pendientes de elaborar o procesar, como de los resultados obtenidos.

(c) El flujo de los datos.

Page 15: Concepto y representaciones de un Algoritmo

4.1 Organigramas

REGLAS DE REPRESENTACIÓN

(1) En la parte central del diseño debe figurar el símbolo del proceso.

(2) En la parte superior del diseño y, siempre por encima del símbolo de proceso deben figurar los soportes de Entrada.

(3) En la parte inferior del diseño, y siempre por debajo del símbolo de proceso deben figurar los soportes de Salida.

(4) A la izquierda y derecha del diseño, y por tanto, a ambos lados del símbolo de proceso, figurarán los soportes que son tanto de entrada como de salida.

Page 16: Concepto y representaciones de un Algoritmo

4.1 Organigramas

Page 17: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas● Son representaciones gráficas que muestran la

secuencia lógica y detallada de las operaciones que se van a realizar para la resolución de un problema por medio del ordenador.

● El diseño de un ordinograma debe ser totalmente independiente del lenguaje de programación empleado en la codificación del algoritmo, evitando hacer cualquier referencia a la sintaxis del lenguaje.

Page 18: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas● Todo ordinograma debe reflejar:

(a) Un principio o inicio que marca el comienzo de ejecución del programa y que viene determinado por la palabra INICIO.

(b) La secuencia de operaciones, que debe ser lo más detallada posible y siguiendo siempre el orden en el que se deberán ejecutar (de arriba abajo y de izquierda a derecha).

(c) Un fin que marca la finalización de ejecución del programa y que viene determinado por la palabra FIN.

Page 19: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

REGLAS DE REPRESENTACIÓN :

(1) Todos los símbolos empleados en el diseño deben estar conectados por medio de líneas de conexión o líneas de flujo de datos.

(2) El diseño debe realizarse de arriba-abajo y de izquierda-derecha

(3) Queda terminantemente prohibido el cruce de líneas de conexión, pues indicaría un ordinograma mal diseñado. Ejemplos: 1.Diseño Correcto 2. Incorrecto

Page 20: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

Page 21: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

A un símbolo de proceso pueden llegarle varias líneas de conexión, pero de él sólo puede salir una:

Page 22: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

A un símbolo de decisión pueden llegarle varias líneas de conexión, pero de él sólo pueden salir 2 líneas que corresponden una a cada posibilidad de las existentes:

Page 23: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

A un símbolo de inicio no llega ninguna línea de conexión y de él sólo puede partir una línea:

Page 24: Concepto y representaciones de un Algoritmo

4.2 Ordinogramas

A un símbolo de final de proceso o ejecución de programa pueden llegar muchas líneas de conexión, pero de él no puede partir ninguna:

Page 25: Concepto y representaciones de un Algoritmo

5 Simbologia de organigramas y ordinogramas

● Símbolos de soporte de información o dispositivos físicos

Page 26: Concepto y representaciones de un Algoritmo

5 Simbologia de organigramas y ordinogramas

● 1) Símbolos de soporte de información o dispositivos físicos

Page 27: Concepto y representaciones de un Algoritmo

5 Simbologia de organigramas y ordinogramas

● 2) Símbolos de proceso

Page 28: Concepto y representaciones de un Algoritmo

5 Simbologia de organigramas y ordinogramas

● 3) Líneas de flujo de datos

Page 29: Concepto y representaciones de un Algoritmo

5.1 Símbolos usados en los ordinogramas:

1) Símbolos de operación o proceso:

Page 30: Concepto y representaciones de un Algoritmo

5.1 Símbolos usados en los ordinogramas:

2) Símbolos de estructuras de control (alternativas y bucles):

Page 31: Concepto y representaciones de un Algoritmo

5.1 Símbolos usados en los ordinogramas:

3) Líneas de flujo y símbolos de conexión:

Page 32: Concepto y representaciones de un Algoritmo

Gracias

Joaquín Lara Sierra