63
1 Profesora: Nerita Tarrillo Dávila Alumna: Yanina Dávila Arévalo Grado y Sección: 4º “A”

manual de algortimos

Embed Size (px)

DESCRIPTION

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos se muestran en el siguiente manuale

Citation preview

Page 1: manual de algortimos

1

Profesora:

Nerita Tarrillo Dávila

Alumna:

Yanina Dávila Arévalo

Grado y Sección:

4º “A”

Page 2: manual de algortimos

2

Índice

1. CONOCIENDO LOS ALGORITMOS …………………………………………………………………………………………. 3

2. DIAGRAMAS DE FLUJOS DE DATOS .……………………………………………………………………………………. 15

3. DIAGRAMAS DE FLUJOS DE DATOS CON DFD ……………………………………………………………………… 44

4. ESTRUCTURAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES ………………………………………… 50

5. ENLACES WEB …………………………………………………………………………………………………………………….. 63

Page 3: manual de algortimos

3

Page 4: manual de algortimos

4

ALGORITMOS

DIFINICION:

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo 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 solución. Los

algoritmos son el objeto de estudio de la algoritmia.

En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos

son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe

un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para

calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de

dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos

autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un

Page 5: manual de algortimos

5

número finito de pasos convierten los datos de un problema (entrada) en una solución (salida). Sin

embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un

problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca termine

de calcular números primos no deja de ser un algoritmo.

A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos utilizando

modelos matemáticos como máquinas de Turing entre otros. Sin embargo, estos modelos están sujetos a

un tipo particular de datos como son números, símbolos o gráficas mientras que, en general, los algoritmos

funcionan sobre una vasta cantidad de estructuras de datos.3 1 En general, la parte común en todas las

definiciones se puede resumir en las siguientes tres propiedades siempre y cuando no

consideremos algoritmos paralelos:

Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así

una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos

que se le suministran al algoritmo antes de comenzar).

Page 6: manual de algortimos

6

Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando

una estructura de primer orden y cada algoritmo es independiente de su implementación (los

algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer

orden son invariantes bajo isomorfismo.

Exploración acotada. La transición de un estado al siguiente queda completamente

determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente

solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.

En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda

describir sin ambigüedad y sin hacer referencia a una computadora en particular, y además tiene

un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta

amplia definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría,

por ejemplo el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en

principio, con números de precisión infinita; sin embargo no es posible programar la precisión

Page 7: manual de algortimos

7

infinita en una computadora, y no por ello dejan de ser algoritmos. En particular es posible

considerar una cuarta propiedad que puede ser usada para validar la tesis de Church-Turing de

que toda función calculable se puede programar en una máquina de Turing (o equivalentemente,

en un lenguaje de programación suficientemente general):

Aritmetizabilidad. Solamente operaciones innegablemente calculables están disponibles en el

paso inicial.

La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-

Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latín, tales como Al-Khorezmi, Al-

Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.

Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros

eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas

corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para

Page 8: manual de algortimos

8

que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema

decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una

especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran

usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de

reducir el número de operaciones necesarias que formaban el cálculo.

Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté

asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en

cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la

primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el

algoritmo nunca se implementó.

La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la

errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David

Page 9: manual de algortimos

9

Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel,

Alonso Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de

problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era

computable, es lo que se ha denominado como la compatibilidad de los algoritmos.

CARACTERÍSTICAS:

Las características fundamentales que debe cumplir todo algoritmo son:

Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de

interpretación.

Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá

finalizar al completarlos.

Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son

generados de alguna forma) para llevar a cabo las operaciones que comprende.

Page 10: manual de algortimos

10

Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace

algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente

“verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros

mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta

forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los

efectos de las acciones del algoritmo.

Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni

nada menos que aquello que se requiera para y en su ejecución.

Las características fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo

resultado cada vez.

Un algoritmo debe ser finito. el algoritmo se debe terminar en algún momento; o sea, debe tener un

número finito de pasos.

Page 11: manual de algortimos

11

Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y

leerlo fácilmente.

Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. Ejemplo: el algoritmo de receta de cocina

se tendrá:

Entrada: ingrediente y utensilios.

Proceso: elaboración de la receta en la cocina.

Salida: terminación del plato (por ejemplo, Pollo al horno).

PROPIEDADES DE UN ALGORITMO:

Las propiedades de un algoritmo son puntos guías a seguir para su elaboración, ya que éstos permiten un

mejor desarrollo del problema.

1. Enunciado del problema. El enunciado del problema debe de ser claro y completo. Es importante que

conozcamos exactamente lo que deseamos que haga el computador. Mientras esto no se comprenda, no

tiene caso pasar a la siguiente etapa.

Page 12: manual de algortimos

12

2. Análisis de la solución general.

Entendido el problema, para resolverlo es preciso analizar:

Los datos de entradas que nos suministran.

El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados.

Los datos o resultados que se esperan.

Áreas de trabajo, fórmulas y otros recursos necesarios.

Definir condiciones si las hay

Diferentes alternativas de solución.

Analizando el problema, posiblemente tengamos varias formas de resolverlo. Lo importante es

determinar cuál es la mejor alternativa: la que produce los resultados esperados en el menor tiempo.

3. Elaboración Del Algoritmo

Los conocimientos adquiridos anteriormente son las herramientas necesarias para llevar a cabo la

elaboración de un algoritmo a través de un problema. Se recomienda tomar en cuenta cada una de las

propiedades de un algoritmo, ya que de ahí se inicia el proceso de elaboración.

Page 13: manual de algortimos

13

EJEMPLOS:

Diseñar un algoritmo para dar solución a los siguientes casos:

Hallar el área de un cuadrado:

A ■ = L*L

INICIO:

Lado, área es real

leer “ingresar lado:”, lado

área= lado^2

Imprimir “el área del cuadrado:”, área.

FIN

Page 14: manual de algortimos

14

Hallar el área de un circulo:

A = π.22

INICIO:

Área, radio, x es real

x = 3,1416

leer “ingresar radio:”, R.

área = X *(R^2)

imprimir “el área del circulo es:” Área.

FIN:

Page 15: manual de algortimos

15

Page 16: manual de algortimos

16

SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO

Las diversas organizaciones usan distintos símbolos, pero el comité

sobre computadoras y procesadores de información de la Asociación Norteamericana de Normas ha hecho

un gran esfuerzo para normalizar los símbolos de los diagramas de flujo. Esa normalización permite

comprender cualquier diagrama de flujo que use los símbolos recomendados.

Cada símbolo normal de diagrama de flujo tiene un significado especial.

Expresa Inicio o Fin de un Programa.

Expresa operación algebraica o de asignación.

Page 17: manual de algortimos

17

Expresa condiciones y asociaciones alternativas de una decisión lógica.

Expresa condición y acciones alternativas de una decisión numérica.

Entrada / Salida: Representa cualquier tipo de Fuente de entrada y salida

Page 18: manual de algortimos

18

Entrada: Lectura de datos por tarjeta perforadas.

Conector dentro de página.

Representa resultado mediante un reporte impreso

Conector fuera de página.

Page 19: manual de algortimos

19

Expresa operación cíclica repetitiva.

Expresa proceso de llamada a una subalterna.

Representa datos grabados en una cinta magnética.

Almacenamiento en línea Disco Magnético.

Page 20: manual de algortimos

20

REGLAS PARA ESTRUCTURAR UN DIAGRAMA DE FLUJO

El sentido de un diagrama de flujo generalmente es de arriba hacia abajo.

Es un símbolo solo puede entrar una flecha de flujo si varias líneas se dirigen al mismo símbolo, se

deben unir en una sola flecha.

Las líneas de flujo no deben cruzarse, para evitar los cruces se utilizan los conectores.

De un símbolo excepto el de decisión, solo puede salir una línea de flujo.

Los símbolos Terminal, Conector dentro de página y conector fuera de página solo pueden estar

conectados al diagrama por una sola flecha, ya que por su naturaleza es imposible que tenga una

entrada y una de salida.

Page 21: manual de algortimos

21

Los émbolos de decisión tendrán siempre una sola flecha de entrada y dos o tres flechas de salida

según la cantidad de alternativas que se presentan.

Un diagrama de flujo debe estar complemente cerrado, teniendo una continuidad de principio a fin, no

pueden quedar flechas en el aire ni símbolos sin conexión al diagrama pues el flujo seria interrumpido.

CONSIDERACIONES SOBRE DIAGRAMA DE FLUJO

Un diagrama de flujo, puede tener tipos de errores diferentes:

DE FORMA: Se genera por no seguir las reglas establecidas, puede hacer el diagrama difícil interpretación,

confundir el diagrama y hasta convertirlo en errado en cuanto ser lógica.

DE LÓGICA: Son errores de estructura del diagrama en cuanto al arden puede ser de distinta gravedad,

desde dejar de mostrar el resultado. O falta un cálculo hasta un error que determine que un programa

nunca llegue a su fin.

Page 22: manual de algortimos

22

DE OBJETIVO: Es cuando un diagrama de flujo esta correcto en cuanto a su estructura y forma pero no

soluciona el problema propuesto sino otro.

Una vez terminado e diagrama de flujo, es necesario asegurarse de que funcione correctamente

cumpliendo el objetivo fundamental, las condiciones especificas y las excepciones del problema propuesto

a esto se le llama generalmente "corrida en frió" prueba de escritorio.

Para ellos e selecciona algunos datos (creadas por el programador para fines de la prueba) que cubran

todos los casos posibles en todas las condiciones. Tomando estos datos se recorre el diagrama de flujo

símbolo a símbolo siguiendo la orden de cada uno de ellos, todo esto se hará a un lado del diagrama o en

una hoja aparte dándole valores a variables y ejecutando operación que se indique .Ejemplo:

Page 23: manual de algortimos

23

Page 24: manual de algortimos

24

¿QUÉ ES UN DIAGRAMA DE FLUJO DE DATOS?

Es una descripción grafica de un procedimiento para la resolución de un problema. Son

frecuentemente usados para descubrir algoritmos y programas de computador. Los diagramas de flujos

están compuestos por figuras conectadas con flechas. Para ejecutar un proceso comienza por el Inicio y se

siguen las acciones indicadas por cada figura: El tipo de figura indica el tipo de paso que representa.

Del Software, DFD es un software diseñado para contribuir y analizar algoritmos se puede crear diagramas

de flujos de datos para la representación de algoritmos de programación estructurada a partir de

las herramientas de edición que para este propósito suministra el programa .Después de hacer haber

ingresado el representado por el diagrama, podrá, ejecutarlo analizarlo y depurarlo en un entorno

interactivo diseñado para este fin. La interfaz grafica de DFD facilita en gran medida el trabajo con

diagramas ya que simula la representación estándar de diagramas de flujo en hojas de papel.

Page 25: manual de algortimos

25

LOS COMPONENTES DE UN DIAGRAMA DE FLUJO SON:

Proceso

Flujo

Almacén

Terminador

PROCESO:

El primer componente de diagrama de flujo de datos se conoce como Proceso. El proceso nuestra una

parte del sistema que transforman Entradas y Salidas. Algunas analistas prefieren usar un ovalo o un

rectángulo con esquinas redondeadas, otros prefieren usar un rectángulo. Las diferencias entre estas tres

formas son puramente cosméticas, aunque obviamente es importante usar la misma forma de la manera

consistente para representar todas las funciones de un sistema.

Page 26: manual de algortimos

26

FLUJO:

Un flujo se representa gráficamente por medio de una flecha que entra y sale de proceso; el flujo se usa

para describir el movimiento, de bloques o paquetes de información de una parte del sistema a otra.

Los flujos realmente representan Datos, es decir, Bits caracteres, mensajes, números, de puntos, flotante y

los diversos tipos de información con los que las computadoras pueden tratar.

Los flujos también muestran la dirección: Una cabeza de flecha en cualquier extremo(o posiblemente

ambos) del flujo indica si los datos (o el material) se está moviendo hacia adentro a hacia fuera por ejemplo

indica claramente que el número se está mandando hacia el proceso denominado validar numero

Page 27: manual de algortimos

27

telefónicos, y el flujo denominado honorarios de entrega de chóferes. Los datos que se mueven a dicho

flujo viajaran ya sea de un proceso a otro.

Ejemplo:

Page 28: manual de algortimos

28

ALMACÉN:

Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por dos líneas paralelas,

de modo característico el nombre que se utiliza para identificar para los paquetes que entran y salen

del almacén por medios de flujo.

PEDIDOS:

Para el analista con conocimiento de proceso de datos es tentador referirse a

los almacenes como archivos o bases de datos; pro un almacén también pudiera consistir en datos

almacenados también pudiera consistir en datos almacenados en tarjetas perforadas, microfilm,

microfichas, discos ópticos, etc. y un almacén también puede ser en conjunto de fichas de papel en una

caja de cartón , nombres de fichas de papel en un directorio, diversos archivos en un archivero, o varias

formas no computarizadas.

Los almacenes se conectan por flujos a los procesos. Así el contexto en el que se muestra en un DFD

(Diagrama de Flujo de Datos) es uno de los siguientes:

Page 29: manual de algortimos

29

Un flujo desde un almacén.

UN flujo hacia un almacén.

TERMINADOR:

Se representa como un rectángulo como los terminadores ser representa en entidades externas con las

cuales el sistema se comunica, continuamente, puede ser una persona, o un grupo. Por ejemplo:

una organización externa n o una agencia gubernamental, o un grupo o departamento que este dentro de

la misma compañía u organización, pero fuera del control del sistema que se está modelando. En algunos

casos, un terminador puede ser otro sistema, como algún otro sistema computacional con el cual se

comunica este.

Page 30: manual de algortimos

30

Existen tres cosas importantes que debemos recordar acerca de los terminadores.

Son externos al sistema que se está modelando.

Es evidente que ni el analista ni el diseñador del sistema están en posibilidades de cambiar los

contenidos de un terminador o la manera en que esta trabaja.

Las relaciones que existen entre lo terminadores no se muestran en el modelo DFD (Diagrama de Flujo

de Datos).

REGLAS PARA LA CREACIÓN DE DIAGRAMAS

1. Los diagramas de flujo deben escribirse de arriba hacia abajo y/o de Izquierda a derecha.

2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica su dirección que

fluye la información procesos, se deben utilizar solamente líneas de flujo horizontal o vertical (nunca

diagonales).

Page 31: manual de algortimos

31

3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio

distinto, se pudiera realizar utilizando los conectores, se debe tener en cuenta que solo se van a

utilizar conectores cuando sean estrictamente necesario.

4. No deben quedar líneas de flujo sin conectar.

5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas

palabras.

6. Todos los símbolos pueden tener más de una línea de entrada, a excepto del símbolo final.

7. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.

Ejemplo de Diagrama de Flujo:

Diagrama de flujo que encuentra la suma de los primeros 50 números naturales.

Page 32: manual de algortimos

32

Page 33: manual de algortimos

33

El quinto bloque es un símbolo de suma de decisiones y ramificaciones lo q hay dentro del bloque es

una pregunta que se le hace a las valores que actualmente incluyen en el proceso.

¿Es N=50?, obviamente la respuesta es No, ya que N todavía es 1.Por lo que el flujo de nuestro programa se

dirigirá hacia la parte en donde se observa la palabra No. Tercer bloque, este le sumara1 (N=N+1) y vuelve

a llegar a este bloque, donde preguntará ¿es N=50? No todavía es 2 ha pues regresa al tercer bloque y

vuelve hacer lo mismo así la suma los primeros 50 números naturales.

Por último indicaciones que le resultado será mostrado en la impresora.

Page 34: manual de algortimos

34

EXPLICACIÓN DEL DIAGRAMA DE FLUJO

El primer bloque indica el inicio del diagrama de flujo.

El segundo bloque, es un símbolo de procesos.

Page 35: manual de algortimos

35

En este bloque se asume que las variables suman y N ha sido declarada previamente y las inicializa en o

para comenzar al conteo y la suma de valores.

Tercer bloque, es también un símbolo de procesos.

En este paso se incrementa en 1 la variable N(N=N+1), por lo que en la primera pasada esta valdrá 1, ya que

estaba inicializada en 0.

Page 36: manual de algortimos

36

Cuarto bloque, es exactamente lo mismo que el anterior.

Pero en este, ya se agrega el valor de N a la variable que contendrá la suma (en el primer caso contendrá 1,

ya que N=1).

VENTAJAS DEL ENFOQUE DE FLUJOS DE DATOS

El enfoque de flujo de datos tiene cuatro ventajas principales sobre la explicación narrativa de la forma en

que se mueven los datos a trabes del sistema .Las ventajas son.

1. Libertad para realizar en forma muy temprana la implementación de técnicas de sistema.

2. Una mayor comprensión de las interrelaciones de los sistemas y subsistemas.

Page 37: manual de algortimos

37

3. Comunicación del conocimiento del sistema actual a los usuarios por medio de diagramas de flujo de

datos.

4. Análisis de un sistema propuesto para determinar si han sido definidas los datos y procesos

necesarios.

SÍMBOLOS USADOS EN EL DIAGRAMA DE FLUJO DE DATOS

Page 38: manual de algortimos

38

SIGNIFICADO DE LOS SÍMBOLOS DE FLUJO

El cuadrado doble es representado y usado para una actividad externa (otro departamento, un negocio,

una persona, o una maquina) que puedan enviar datos y recibirlas del sistema. La entidad externa es

llamada una fuente de destino de datos y es considerada externa al estudio, cada entidad externa es

etiquetada con un nombre adecuado. La flecha muestra el movimiento de datos de un punto a otro , esta

señalada hacia suceden simultáneamente pueden ser representadas simplemente mediante el uso de

flechas paralelas, debido a que una flecha representada datos acerca de una persona lugar o casa, también

:Debe ser descrita con un nombre.

Un rectángulo con esquinas redondeadas es usado para mostrar la aparición de un proceso de

transformación. Los procesos siempre denotan un cambio o transformación de los datos.

USO DE DIAGRAMAS DE FLUJO DE DATOS

Los diagramas de flujo de datos son útiles a lo largo del proceso de análisis y diseños, .Existen compromisos

para decidir que tanto deben ser explotados de los flujos de datos. Se desperdiciara tiempo y se sacrificara

Page 39: manual de algortimos

39

compresibilidad si los diagramas de flujo de datos son exclusivamente complejos. Por otro lado, si los

diagramas de flujo de datos están muy poco explotados, pueden ocurrir errores u omisiones que pueden

eventualmente afectar el sistema que está en desarrollo. Por último, recuerde que los diagramas del

sistema de flujo pueden ser usados para documentar niveles altos o bajos del análisis y para ayudar a

sustentar la lógica subyacente en los flujos de datos de la organización.

CARACTERÍSTICAS DE LOS DIAGRAMAS DE FLUJO DE DATOS

Muestran que debe hacer el sistema sin referencias.

Son diagramas explícitos y comprensibles.

Dan la posibilidad de representan el sistema a diferentes niveles de complejidad, desde lo más global a

lo más detallado solo requieren de 4 símbolos.

Son fácil de mantenimiento, pues los cambios afectan solo algunos de sus elementos y no al todo.

¿CUÁLES SO LAS VENTAJAS DE LOS DIAGRAMAS DE FLUJO DE DATOS?

Fácil lectura, con esto se constituye en un instrumento de mucha versatilidad.

Page 40: manual de algortimos

40

Facilitan la interacción Usuario-Analista.

¿CUÁLES SON LAS LIMITACIONES DE LOS DIAGRAMAS DE FLUJO DE DATOS?

No permite recoger el comportamiento de sistema que deben responder a eventos en tiempos

acotados. Para ello se usa el diagrama de transición de Estados.

No permite dar cuenta de la de las relaciones entre los datos que se precisan almacenar .Para ello se

usan el diagrama Entidad-Relación.

No permite reflejar situaciones en las cuales es preciso dejar de manifiesto la necesaria concurrencia de

dos o más flujo de datos para un subproceso pueda iniciar efectivamente su tarea. Para ello se utiliza la

especificación de procesos.

No permite recoger el contenido de los flujos de datos ni el contenido de los archivos .Para ello se

utiliza el diccionario de datos.

Page 41: manual de algortimos

41

Page 42: manual de algortimos

42

Page 43: manual de algortimos

43

Page 44: manual de algortimos

44

Page 45: manual de algortimos

45

Page 46: manual de algortimos

46

Page 47: manual de algortimos

47

Page 48: manual de algortimos

48

Page 49: manual de algortimos

49

Page 50: manual de algortimos

50

Page 51: manual de algortimos

51

Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado

de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación

se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos,

las simples, las dobles y las múltiples.

Page 52: manual de algortimos

52

Simples:

Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión

tienen la siguiente forma:

Pseudocódigo: Diagrama de flujo:

Page 53: manual de algortimos

53

Dobles:

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función

del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:

Pseudocódigo: Diagrama de flujo:

Donde:

Si:Indica el comando de comparación

Condición : Indica la condición a evaluar

Entonces : Precede a las acciones a realizar cuando se cumple la condición

Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición

si no :Precede a las acciones a realizar cuando no se cumple la condición

Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.

Page 54: manual de algortimos

54

Múltiples:

Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar

una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones

especificas. La forma común es la siguiente:

Pseudocódigo: Diagrama de flujo:

Page 55: manual de algortimos

55

Múltiples (En caso de):

Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una

variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas.

La forma es la siguiente:

Pseudocódigo: Diagrama de flujo:

Page 56: manual de algortimos

56

Veamos algunos ejemplos donde se aplique todo lo anterior: Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos.

Pseudocódigo: Diagrama de flujo:

Page 57: manual de algortimos

57

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga

si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.

Pseudocódigo:

INICIO

Not1, Not2, Not 3 :REAL

Def: REAL

LEA Nota1, Nota2, Nota3

Def ß (Not1 + Not2 + Not3) /3

Si Def < 3 entonces

Escriba “Reprobó el curso”

Sino

Escriba “Aprobó el curso”

Fin-Si

FIN

Page 58: manual de algortimos

58

Diagrama de flujo:

Page 59: manual de algortimos

59

Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: INICIO Altura: ENTERO ESCRIBA “Cuál es tu altura? ” LEA Altura Si Altura <=150 entonces ESCRIBA “persona de altura baja” Sino Si Altura <=170 entonces ESCRIBA “persona de altura media” Sino Si Altura>170 ENTONCES ESCRIBA “persona alta” Fin-Si Fin-Si Fin-Si FIN ¡Es importante ser ordenado en el código que se escribe!

Page 60: manual de algortimos

60

Diagrama de flujo:

Page 61: manual de algortimos

61

Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: Pseudocódigo: INICIO Dia: ENTERO ESCRIBA “Diga un número para escribir su día” LEA Dia En-caso-de Dia haga Caso 1: ESCRIBA “Lunes” Caso 2: ESCRIBA “Martes” Caso 3: ESCRIBA “Miércoles” Caso 4: ESCRIBA “Jueves” Caso 5: ESCRIBA “Viernes” Caso 6: ESCRIBA “Sábado” Caso 7: ESCRIBA “Domingo” SINO: ESCRIBA “Escribió un numero fuera del rango 1-7” Fin-Caso FIN

Page 62: manual de algortimos

62

Diagrama de flujo:

Page 63: manual de algortimos

63

Enlaces web:

http://es.wikipedia.org/wiki/Algoritmo

http://html.rincondelvago.com/dfd.html

http://www.javaya.com.ar/detalleconcepto.php?codigo=80&inicio=

GRACIAS!