Qué Son Los Diagramas de Flujo

31
¿Qué son los Diagramas de Flujo? Un diagrama de flujo es un tipo de diagrama que representa un algoritmo o proceso, que muestra las etapas como bloques de varios tipos, y su orden mediante conexiones con flechas. Esta representación esquemática puede dar la solución paso a paso de un problema dado. Las operaciones de proceso están representadas en estos bloques y las flechas que los conectan representan el control de flujo. Los flujos de datos no se suelen representar en un diagrama de flujo, en contraste con diagramas de flujo de datos, sino que están implícitos en la secuencia de las operaciones. Los diagramas de flujo son usados en el análisis, diseño, documentación o la gestión de un proceso o programa en varios campos. Descripción general Los diagramas de flujo se utilizan en el diseño y documentación de procesos complejos o programas. Como otros tipos de diagrama, ayudan a visualizar lo que está pasando y de esa manera ayudan al espectador a entender un proceso, y tal vez también ha encontrar defectos, cuellos de botella, y otros problemas. Hay muchos tipos diferentes de diagramas de flujo, y cada tipo tiene su propio repertorio de cajas y convenciones de notación. 1

description

diagrama

Transcript of Qué Son Los Diagramas de Flujo

Page 1: Qué Son Los Diagramas de Flujo

¿Qué son los Diagramas de Flujo?

Un diagrama de flujo es un tipo de diagrama que

representa un algoritmo o proceso, que muestra

las etapas como bloques de varios tipos, y su orden

mediante conexiones con flechas. 

Esta representación esquemática puede dar la

solución paso a paso de un problema dado.

Las operaciones de proceso están representadas en

estos bloques y las flechas que los conectan

representan el control de flujo. 

Los flujos de datos no se suelen representar en

un diagrama de flujo, en contraste con diagramas

de flujo de datos, sino que están implícitos en la secuencia de las operaciones. Los

diagramas de flujo son usados en el análisis, diseño, documentación o la gestión de un

proceso o programa en varios campos.

Descripción general

Los diagramas de flujo se utilizan en el diseño y documentación de procesos complejos o

programas. Como otros tipos de diagrama,

ayudan a visualizar lo que está pasando y

de esa manera ayudan al espectador a

entender un proceso, y tal vez también ha

encontrar defectos, cuellos de botella, y

otros problemas. Hay muchos  tipos

diferentes de diagramas de flujo, y cada

tipo tiene su propio repertorio de cajas y

convenciones de notación.

Los dos tipos más comunes de cajas en

un diagrama de flujo son:

A un paso de procesamiento,

generalmente se le llama

actividad, y se denota como una

caja rectangular.

A una decisión, se le denota

generalmente como un diamante.

1

Page 2: Qué Son Los Diagramas de Flujo

Un diagrama de flujo es descrito como"multifuncional" cuando la página se divide en

diferentes "carriles"  que describen el control de las diferentes unidades organizativas. Un

símbolo que aparece en un "carril" está bajo el control de esa unidad organizativa. Esta

técnica permite al autor localizar la responsabilidad de realizar una acción o de tomar una

decisión correcta, mostrando la responsabilidad de cada unidad organizacional para

diferentes partes de un mismo proceso.

Los Diagramas de flujo representan ciertos aspectos de los procesos y por lo general se

complementan con otros tipos de diagrama. Por ejemplo, Kaoru Ishikawa definió el

diagrama de flujo como una de las siete herramientas básicas de control de calidad, al lado

del histograma, diagrama de Pareto, hoja de verificación, gráfico de control, diagrama de

causa y efecto, y el diagrama de dispersión. De manera similar, en UML, un lenguaje

estándar de modelado que se utiliza en el desarrollo de software, el diagrama de actividad

(que es un tipo de diagrama de flujo)  es sólo uno de los muchos tipos de diagramas

diferentes.

Historia

El primer método estructurado para documentar el flujo de un proceso, el "diagrama de

flujo del proceso", fue presentado por Frank Gilbreth a los miembros de la Sociedad

Americana de Ingenieros Mecánicos (ASME) en 1921 en la exposición  “Process Charts -

First Steps in Finding the One Best Way”.

Las Herramientas de Gilbreth rápidamente encontron su aplicación en los programas de

ingeniería industrial. A principios de 1930, un ingeniero industrial, Allan H. Mogensen

comenzó la formación de personas de negocios en el uso de algunas de las herramientas

de la ingeniería industrial en sus "Work Simplification Conferences en Lake Placid, New

York.

Douglas Hartree explica que Herman Goldstine y John von Neumann elaboró un diagrama

de flujo (originalmente, el diagrama) para planificar los programas de ordenador. Su

versión contemporánea está respaldado por los ingenieros de IBM y por colecciones

personales de Goldstine. Los diagramas de flujo de programación originales de Goldstine y

von Neumann se puede ver en su informe no publicado, "Planificación y codificación de

problemas para un instrumento de computación electrónica, Parte II, Volumen 1" (1947),

que se reproduce en las obras completas de von Neumann. 

Los diagramas de flujo solía ser un medio popular para describir algoritmos

computacionales y todavía se utilizan para este fin. Técnicas modernas tales

comodiagramas de actividad de UML puede ser considerado como extensiones del

diagrama de flujo. En la década de 1970 la popularidad de los diagramas de flujo como

2

Page 3: Qué Son Los Diagramas de Flujo

método propio disminuyó cuando las terminales de ordenador y lenguajes de

programación de tercera generación se convirtieron en herramientas comunes, ya que los

algoritmos se pueden expresar de manera mucho más concisa como código fuente de un

lenguaje, y también porque era más probable que el diseño de algoritmos usando

diagramas de flujo resulte en código-espagueti, debido a la necesidad de los "gotos" para

describir saltos arbitrarios en el control flujo del programa.

Bloques de Construcción de Diagramas de Flujo

Símbolos

Un diagrama de flujo típico de los antiguos libros de texto básicos de informática puede

tener los siguientes tipos de símbolos:

Símbolos Inicio y Fin

Representado como círculos, óvalos o rectángulos redondeados, que normalmente

contiene la palabra "Inicio" o "Fin", u otra frase que marca el inicio o el final de un proceso,

como "enviar consulta" o "recibir producto".

Flechas

Muestran el  "control de flujo". Una flecha que viene de un símbolo y termina en otro

símbolo indica que el control pasa al símbolo que la flecha apunta. La línea de la flecha

puede ser continua o discontinua. El significado de la flecha con línea de trazos puede

diferir de un diagrama de flujo a otro y puede ser definido en la leyenda.

Pasos genéricos de procesamiento

Son Representados como rectángulos. Ejemplos: "Añadir 1 a X", "reemplazar parte

identificada", "guardar cambios", etc.

3

Page 4: Qué Son Los Diagramas de Flujo

Subrutinas

Son representados como rectángulos con doble borde vertical, los cuales se utilizan para

mostrar los pasos de procesamiento complejos que pueden ser detallados en un diagrama

de flujo separado.

Entrada / Salida

Representado como un paralelogramo. Ejemplos: Obtener X por parte del usuario, mostrar

en pantalla X.

Condicional o decisión

Representado como un diamante (rombo) mostrando donde una decisión se debe tomar,

comúnmente se realiza una pregunta que debe tener un tipo de respuesta Sí/No. El

símbolo condicional tiene la peculiaridad de que tiene dos flechas que salen de él,

correspondiente al  Sí o Verdadero, y  No o falso. (Las flechas siempre deben ser

etiquetadas.) Se pueden utilizar más de dos flechas, pero esto es normalmente un claro

indicador de que una decisión compleja está siendo tomada, en cuyo caso es posible que

tenga que ser descompuesto aún más.

Conectores con etiqueta

Son Representado por una etiqueta en el interior de un círculo, se emplean en los

diagramas complejos o multi-hoja para sustituir a las flechas. Para cada etiqueta, el

conector de "flujo de salida" siempre debe ser único, pero puede haber cualquier cantidad

de conectores de "flujo entrada". En este caso, un punto de unión en el flujo de control está

implícita.

Símbolo de concurrencia

Representada por una doble línea transversal con cualquier número de flechas de entrada

y salida. Estos símbolos se utilizan cada vez que dos o más flujos de control deben

funcionar simultáneamente. Los flujos de salida se activan simultáneamente cuando todos

los flujos de entrada han alcanzado el símbolo de concurrencia.

Es importante recordar que debe mantener estas conexiones lógicas en orden. Todos los

procesos deben fluir de arriba hacia abajo y de izquierda a derecha.

Tipos de diagrama de flujo

Sterneckert (2003) sugirió que los diagramas de flujo pueden ser modelados desde la

perspectiva de diferentes grupos de usuarios (por ejemplo, administradores, analistas de

sistemas y empleados) y que hay cuatro tipos generales: 

4

Page 5: Qué Son Los Diagramas de Flujo

Diagramas de flujo de documentos, mostrando los controles sobre el flujo de un

documento a través de un sistema.

Diagramas de flujo de datos, mostrando los controles sobre un flujo de datos de un

sistema.

Diagramas de flujo de sistemas  que muestran los controles a nivel físico o de

recursos.

Diagrama de flujo de programa, que muestra los controles en un programa dentro

de un sistema.

Observe que cada tipo de diagrama de flujo que se centra en algún tipo de control, en

lugar de en el propio flujo particular.

Software

Cualquier programa de dibujo puede ser usado para crear diagramas de flujo, pero éstos

no tienen un modelo de datos subyacente para compartir datos con bases de datos u otros

programas, como los sistemas de gestión de proyectos y hojas de cálculo.

Algunas herramientas ofrecen un apoyo especial para dibujar diagramas de flujo. Muchos

paquetes de software existentes que pueden crear diagramas de flujo de forma

automática, ya sea directamente desde el código fuente, o de un lenguaje de descripción

de diagrama de flujo.

5

Page 6: Qué Son Los Diagramas de Flujo

Problema   Ingrese un número y convierta a binario.

SoluciónEste algoritmo recibe un número decimal y lo convierte a número  binario.

Ejemplo

Entrada: 10

Salida: 1010

Se coloca un símbolo de Lectura para el ingreso de números por parte del usuario, el  cual captura dicho valor en la variable “Num”. Luego  aplicamos la función TRUNC para recibir solo números enteros, luego  inicializamos la variable “cad” con una cadena vacía.

Luego realizamos una comparación para verificar si el número es mayor a cero.Si es Falso (No)        Verificamos si  ”Num” es cero          Si es Verdadero(Si),  muestra como resultado  ‘0’Si es Falso (No),  entonces muestra el mensaje: “numero ingresado es negativo” Si es Verdadero (Si)      Creamos un ciclo While con la condición  de que Num sea mayor a cero(Num>0)        Verificamos el Valor de Num MOD 2 = 0            Si es Verdadero(Si)                 Entonces concatenaremos en la variable “cad” el carácter ‘0’            Si es Falso(No)  Entonces concatenaremos en la variable “cad” el carácter ‘1’            Una vez terminado la comparación actualizamos el valor de  Num                Num=TRUNC(Num/2)Regresamos de nuevo a la condición del ciclo while esto lo repetiremos hasta que el valor de Num sea mayor a ceroTerminado el ciclo mostraremos la cadena de salida

Ejemplo

Entrada Num = 10

10 >0 10 MOD 2 =0 cad=’0’ Num=TRUNC(10/2)=5

5>0 5 MOD 2 = 1 cad=’1’ Num=TRUNC(5/2)=2

2 >0 2 MOD 2 =0 cad=’0’ Num=TRUNC(2/2)=1

1>0 1 MOD 2 = 1 cad=’1’ Num=TRUNC(1/2)=0

0 >0 (No)sale del ciclo y muestra

la cadena

Resultado  = 1010    

6

Page 7: Qué Son Los Diagramas de Flujo

ProblemaHacer un programa o algoritmo que si  se ingresan 5 notas de un alumno, publicar las 2 peores notas.

Solución

Entrada: 15, 10, 13, 8,19 

Salida: 10, 8

Se Inicializa la variable “u” con cero, se solicita ingresar cinco notas, se llama a la subrutina CapturaNotas , se crea un ciclo While con condición de que “u” debe ser diferente de 4(esto nos indica que el arreglo ya está ordenado), se llama a la subrutina Ordena esta nos ordena el arreglo de forma ascendente, se finaliza el ciclo  se muestra el

7

Page 8: Qué Son Los Diagramas de Flujo

resultado. Finaliza 

Diagrama de flujo - Determinar las dos peores notas

En la subrutina CapturaNotas, se crea un ciclo For el cual tendrá cinco iteraciones para

capturar los cinco números en el arreglo Nota, finaliza el ciclo.

Diagrama de flujo - Subrutina CapturaNotas

En la subrutina Ordena, Se crea un ciclo For con cuatro iteraciones, luego

Se comprueba si el primer elemento es menor que el segundo elemento del arreglo 

Nota (Nota(k)<Nota(k+1))

Si es Verdadero (Si)

    Indica que está en orden ascendente, se actualiza el valor de “u” adicionándole 1.

Si es Falso (No)

8

Page 9: Qué Son Los Diagramas de Flujo

Se realiza un intercambio, se asigna a la variable tem el primer elemento, y se asigna el

valor del segundo elemento en el primero, luego se asigna el valor de tem en el segundo

elemento. 

Finaliza ciclo.

ProblemaHacer un programa o algoritmo que dadas tres longitudes, decir mediante un mensaje si forma un triángulo o no (cada lado tiene que ser menor que de las otras dos).

Solución

Entrada: 3  4  5

Salida: Si forma un triangulo

Se solicita al usuario ingrese tres longitudes de lados, estos valores se capturan en las variables “a”, ”b” y “c”, luegoSe compara si cumple con la propiedad de la desigualdad triangular ((abs(a-c) < b)  AND (b < (a+c)))Si es Verdadero (Si)    Se muestra si forma un trianguloSi es Falso (No)    Se muestra que no forma un trianguloFinaliza.

9

Page 10: Qué Son Los Diagramas de Flujo

ProblemaHacer un programa o algoritmo que calcule las 30 primeras potencias de 3 y la suma de ellos. 

SoluciónInicializamos la variable ”Sum” en cero, luego se crea un ciclo For para generar las 30 potencias de 3, luego se muestra cada una de las potencias de tres, se actualiza el valor de “Sum” con (Sum + ( 3^i)) adicionándole el valor de cada potencia para obtener la sumatoria, finalmente se muestra  la sumatoria y Finaliza.

10

Page 11: Qué Son Los Diagramas de Flujo

ProblemaDesarrolle un algoritmo que convierta de grados Celsius a grados Fahrenheit y de grados Fahrenheit a grados Celsius.

Solución 

Entrada: 37 grados Celsius

Salida: 98.6 grados Fahrenheit

Solicitamos al usuario ingrese el tipo de conversión que desea realizar, se captura el valor en la variable “n”.Se comprueba si el valor de n es igual 1 (n =1)Si es Verdadero (Si)  Se solicita ingresar un valor en grados Celsius, la cual se captura en la variable “c” para luego realizar la  conversión con  la formula c*9/5 + 32.  Retornamos el valor en grados Fahrenheit.Si es Falso (No)  Se solicita ingresar un valor en grados Fahrenheit, la cual se captura en la variable “f” para luego realizar la  conversión con  la formula (f-32)*5/9.  Retornamos el valor en grados Celsius.

Diagrama de flujo - Conversión de grados Celsius a Fahrenheit y viceversa.

11

Page 12: Qué Son Los Diagramas de Flujo

ProblemaHacer un programa o algoritmo que dado el monto de una compra calcular el descuento considerado: Descuento es 20% si el monto es mayor a 100 soles. Descuento es 10% si el monto es mayor a 50 soles y menor o igual a 100 soles. No hay descuento si el monto es menor o igual a 50 soles.

Solución

Entrada: 100

Salida: 90

Se solicita al usuario ingrese el monto de la compra, la cual se captura en la variable “N”, luego Se comprueba su el monto es mayor a 100 (N>100)Si es verdadero (Si)  Se realiza un descuento del 20% al monto de la compra y se muestra el valor de la compra,  donde “monto” es N - N*0.2.Si es Falso (No)    Se compara si el monto esta entre  50 y 100 (N<=100 AND N>50)    Si es Verdadero (Si)           Se realiza un descuento del 10% al monto de la compra y se muestra el valor           de la compra, donde   “monto” es N - N*0.1.    Si es Falso (No)          Se muestra el valor de la compra. Finaliza.

Diagrama de Flujo - Calcular Monto de descuento en una compra.

12

Page 13: Qué Son Los Diagramas de Flujo

ProblemaRealizar un algoritmo que permita convertir un número arábigo  comprendido entre 1000 y 2000 a números romanos.

Solución

Entrada: 1597

Salida:  MDXCVII

Al comienzose llama a la subrutina Inicializar la cual inicializa en arreglos números romanos, se solicita al usuario ingrese un número entre 1000 y 2000, se captura el valor en la variable “N”, luego se llama a la subrutina  Convertirentre1000y2000 con parámetros donde N es  el numero ingresado, m representa a las milésimas, c a las centenas, d a las decenas, u a las unidades, Centena es la arreglo que contiene a las centenas, Decena es la arreglo que contiene a las decenas, Unidad es el arreglo que contiene a las unidades ,Mil arreglo que contiene a la milésimas y finaliza 

Diagrama de flujo - Convertir numero arabigo a numero romano

En la subrutina Inicializar se llaman a las subrutinas

InicializaUnidades,InicializaDecenas, InicializaCentenas y InicializaMil.

13

Page 14: Qué Son Los Diagramas de Flujo

Diagrama de flujo - Subrutina Inicializar

En la subrutina InicializaUnidades, Se crea el arreglo Unidad que contiene a los 9

primeros números romanos Unidad = {“”,“I”,“II”,“III”,“IV”,“V”,“VI”,“VII”,“VIII”,“IX”}, donde

Unidad(7)=”VII” que corresponde al número 7 en romanos.

Diagrama de flujo - Subrutina InicializaUnidades

En la Subrutina InicializaDecenas, se crea el arreglo Decena que contiene a los números

del 10 al 90 en romanos, Decena={“”,“X”,“XX”,“XXX”,“XL”,“L”,“LX”,“LXX”,“LXXX”,“XC”} ,

donde Decena(8)=”LXXX” que corresponde al número 80 en romanos.

14

Page 15: Qué Son Los Diagramas de Flujo

Diagrama de flujo - Subrutina InicializaDecenas

En la subrutina InicializaCentenas, se crea el arreglo Centena que contiene a los

números romanos entre 100 y 900

Centena={“”,“C”,“CC”,“CCC”,“CD”,“D”,“DC”,“DCC”,“DCCC”,“CM”}, donde Centena(4)=”CD”

que corresponde al número 400 en romanos.

Diagrama de flujo - Subrutina InicializaCentenas

En la Subrutina InicializaMil, se crea el Arreglo Mil que contiene a los números romanos

1000 y 2000, Mil={“”,”M”,”MM”}, donde Mil(1)=”M”, que corresponde al número 1000 en

romanos.  

15

Page 16: Qué Son Los Diagramas de Flujo

Diagrama de flujo - Subrutina InicializaMil

En la subrutina ObtenerUnidadDecenaCentenaMil, se obtiene las unidades con N MOD

10 y se guarda en la variable “u”, las decenas con TRUNC(N/10) MOD 10 y se guarda en

la variable “d”, las centenas con  TRUNC(N/100) MOD 10 y se guarda en la variable “c”,

las milésimas con TRUNC(N/1000) y se guarda en la variable m.

Ejemplo:

Numero = 1584

  u = 584 MOD 10 = 4

 d = TRUNC(584/10) MOD 10 = 8

 c = TRUNC(584/100) MOD 10  = 5

 m = TRUNC(N/1000) = 1

Las variable m, c, d, u nos sirven como índices en los arreglos respectivos para hallar

número romano correspondiente.

Diagrama de flujo - Subrutina ObtenerUnidadDecenaCentenaMil

 En la Subrutina Convertirentre1000y2000, Se compara Si N es mayor igual a 1000 y

menor igual a 2000 (N>=1000 AND N<=2000)

    Si es Verdadero (Si)

16

Page 17: Qué Son Los Diagramas de Flujo

            Se llama a la subrutina ObtenerUnidadDecenaCentenaMil para extraer los

índices

           de  los arreglos, luego se muestra el número ingresado en romanos.

    Si es Falso (No)

             Se muestra un mensaje que esta fuera del rango.

Diagrama de flujo - Subrutina Convertirentre1000y2000

ProblemaImplemente un algoritmo de tal modo que al ingresar una hora en segundos, indique a cuantas horas, minutos y segundos corresponde.

Solución Se ingresa la cantidad de segundos y retornara esta cantidad de segundos representado en horas, minutos y segundos

Ejemplo:

Entrada: 3893s

Salida: 1h 4m 53s

Creamos Un “símbolo de entrada” para recibir el número de segundos que deseamos sean convertidos a horas minutos y segundos  el cual será capturado en la variable “num”.Para calcular las horas utilizamos  trunc(num/ 3600) donde la función trunc retorna solo la parte entera y obvia la parte decimal, no la redondea(Funcion round() redondea un numero).Para calcular los minutos: trunc((num -  hor*3600)/60)Para calcular los segundos:  num - (hor*3600 + min*60)Luego retornamos el resultado

17

Page 18: Qué Son Los Diagramas de Flujo

ProblemaHacer un programa o algoritmo que calcule el área de un cilindro. 

Solución

Entrada: 5 7

Salida: 376.98192

Se solicita al usuario ingresar el radio y la altura del cilindro, se captura el valor en las variables “r” y “h”, luego calculamos el área usando 2*3.141516*r*(r + h), se muestra el área del cilindro. Finaliza.

Diagrama de flujo - Calcular el área de un cilindro

18

Page 19: Qué Son Los Diagramas de Flujo

ProblemaHacer un programa o algoritmo que calcule las raíces de una ecuación de segundo grado (ax²+bx+c=0).

Solución

Entrada: 1 0 9

Salida: 3 y -3

Se inicializa las variables “X1” y “X2” con cero, se solicita al usuario ingrese los coeficientes de la ecuación cuadrática, se captura los valores en las variables “a”, ”b” y ”c”, Se verifica si la discriminante (b*b-4*a*c) es menor a cero, si es así las raíces son imaginarios si no se calcula las raíces con -b +(SQRT(b*b-4*a*c))/2*a para la raíz 1 y con -b - (SQRT(b*b-4*a*c))/2*a para la raíz 2 y se muestra el resultado.

Diagrama de flujo - Calculo de las raíces de una ecuación cuadrática

ProblemaDesarrolle un algoritmo que verifique si la suma de dos números de dos cifras es par.

Solución

Entrada: 11 85

Salida: la suma es par

Solicitamos el ingreso de dos  números de dos cifras al usuario, capturamos sus valores

en las variables “a” y “b”, luego se sumamos sus valores y lo asignamos a la variable “c”

Se comprueba si el  resultado de la suma MOD 2 nos da cero (c MOD 2 =0)

Si es Verdadero (Si)

                Se muestra que la suma resultante es par

Si es Falso (No)

19

Page 20: Qué Son Los Diagramas de Flujo

                Se muestra que la suma resultante es impar  

Diagrama de flujo - Verificar si la suma de dos números es par.

ProblemaDesarrolle un algoritmo que lea los primeros 300 números enteros y determine cuántos de ellos son impares; al final deberá indicar su sumatoria.

Solución Inicializamos las variables “Sum” y “cont” en cero, luego creamos un bucle For, inicializamos la variable “i” en 1 y aumentamos el valor de uno en uno, hasta que el valor de “i” sea menor igual a 300, Comparamos si el valor de i MOD 2 es diferente de 0Si es Verdadero (Si)Actualizamos el valor De “Sum” adicionándole el valor de” i”, también actualizamos el valor de “cont” adicionándole uno.    Si es Falso (No)    No se hace nadaFinalizamos el ciclo, se muestra la sumatoria total y también la cantidad de números impares entre 1 y 300.

20

Page 21: Qué Son Los Diagramas de Flujo

Diagrama de flujo - sumatoria de los 300 primeros impares

ProblemaDesarrolle un algoritmo que verifique si la suma de dos números de dos cifras es par.

Solución

Entrada: 11 85

Salida: la suma es par

Solicitamos el ingreso de dos  números de dos cifras al usuario, capturamos sus valores

en las variables “a” y “b”, luego se sumamos sus valores y lo asignamos a la variable “c”

Se comprueba si el  resultado de la suma MOD 2 nos da cero (c MOD 2 =0)

Si es Verdadero (Si)

                Se muestra que la suma resultante es par

Si es Falso (No)

                Se muestra que la suma resultante es impar  

21

Page 22: Qué Son Los Diagramas de Flujo

Diagrama de flujo - Verificar si la suma de dos números es par.

ProblemaDeterminar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos.

Solución 

Entrada: 4  3   

Salida: 5

Se solicita al usuario ingrese  los catetos del triángulo las cuales se capturan en las variables “a” y “b”, luego se realiza el cálculo de la hipotenusa  con SQRT(a*a + b*b)  y se muestra el resultado.

22

Page 23: Qué Son Los Diagramas de Flujo

Diagrama de flujo - Calculo de la hipotenusa

SoluciónSe ingresa un número entero y  retorna la suma de los números anteriores incluido el numero ingresado.

Ejemplo

Ingresa: 5

                       1+2+3+4+5 = 15    

Salida: 15

Se resuelve el problema de forma recursiva. Creamos un “símbolo de entrada” donde la

variable “N”  será la que capture la cantidad de números que se desea sumar, luego

llamamos a la subrutina Sumatoria con parámetros (X,N), la cual nos retorna la sumatoria

cuyo resultado se muestra en un “símbolo de salida”.

En la subrutina Sumatoria comparamos si la variable Nivel (tomara el valor de la variable “N”)  es mayor a 0 (Nivel>0)    Si es Falso (No)        Cargaremos en la variable X el valor de 0 que corresponderá a la sumatoria de 0 números.    Si es Verdadero (Si)         Llamamos recursivamente a la Subrutina Sumatoria en la cual en sus  parámetros         tendremos a  Temp  y  Nivel -1, Luego cargamos el valor de Temp + Nivel en la          Variable “X” y retornamos el  valor de la sumatoria. 

23

Page 24: Qué Son Los Diagramas de Flujo

ProblemaIngrese un número y convierta a letras.SoluciónEsta solución solo acepta números que van desde el número cero al noventa y nueve, donde el usuario ingresa un numero decimal y la aplicación retornara como respuesta dicho número en letras.Ejemplo

Entrada: 35

Salida:  treinta y cinco.

Primero  inicializamos un arreglo donde estarán las unidades, este arreglo será igual a los números del cero al diez en letras.

Unidades={“cero”, ”uno”, ”dos” ,”tres” ,”cuatro” ,”cinco” ,”seis” ,”siete” ,”ocho” ,”nueve” ,”diez”} donde el elemento Unidades(3)=”tres”, Unidades(9)=”nueve”, etc.

24

Page 25: Qué Son Los Diagramas de Flujo

Procederemos de igual manera para los números del 11 al 19 cuyo arreglo se llamara Inicializar11a19,  este arreglo contendrá  a todos los números del once al diecinueve en letras.

Finalmente inicializaremos el arreglo “Decenas” que contendrá los números  veinte, treinta,..., noventa en letras.

25

Page 26: Qué Son Los Diagramas de Flujo

 

Luego de inicializar solicitaremos al usuario que ingrese un numero para ser evaluado para lo cual se coloca un recuadro de lectura y creamos una variable llamada “num” Luego de ello realizamos una comparación para determinar si “num” es mayor  a 10Si es Falso tomaremos el camino izquierdo donde nos mostrara el resultado  buscadoEjemplo

Entrada: 6

Resultado:  seis

Si es Verdadero  nos iremos por el lado derecho y llamaremos a una subrutina llamada NumeroMayora10 el cual recibirá 4 parámetros num, Decenas, Unidades, num11a19  las cuales serán utilizadas en la subrutina.

26

Page 27: Qué Son Los Diagramas de Flujo

Luego se hace otra consulta si “num” es mayor a 19 Si el resultado de la comparación es  falsa, lo que haremos será extraer el numero en letras del arreglo num11a19, que recibe como parámetro “num-11”(num menos once), debido a que en este arreglo los índices van de 0 a 8(el dato en la posición 0 es el once , en la posición 1 es el doce, etc.).Ejemplo

Entrada: num=15

           Num11a19 (num-11) = “quince”

Resultado: quince

Si el resultado de la comparación  es verdadera, entonces llamaremos a la subrutina ObtenerUnidades,las unidades se obtienen sacando modulo 10  a “num”.Ejemplo          MOD(36,10) = 6  el modulo nos retorna el residuo de una división Esta subrutina nos retorna la unidad de un numero por ejemplo 36 nos retorna 6

Una vez obtenido la unidades pasamos a la subrutina ObtenerDecenas,  para obtener las decenas las decenas la operación a realizar es: al número dado le restamos las unidades y

27

Page 28: Qué Son Los Diagramas de Flujo

lo dividimos entre diez,  d=(num-u)/10,  así obtenemos las decenas

Ahora haremos una pregunta si las unidades son iguales a cero De ser Verdadero, mostraremos el resultado con los datos del arreglo Decenas, para acceder a un elemento a las decenas obtenidas le restamos 2 (Decenas(0)=veinte,Decenas(1)=treinta, …,Decenas(7)=noventa)Ejemplo 

Entrada: num = 50  donde d=5

          Decenas(d-2)=”cincuenta”

Resultado = cincuenta

De ser falso,  mostraremos el arreglo de Decenas  y Unidades a la vezEjemplo

Entrada: num=39

          d = 3, u = 9          Decenas(d-2)=”treinta”    y  Unidades(u)=”nueve”

Resultado:  treinta y nueve

28