viernes, 30 de agosto de 2013

Tamaño de un diagrama de flujo!

Cuando estamos creando nuestros diagramas de flujo, en ciertas ocasiones, nos topamos o nos encontramos con algún problema que puede ser complejo o muy extenso; en esta situación a veces nos podemos confundir en el desarrollo de los diagramas provocando accidentalmente errores involuntarios que nos pueden pasar desapercibidos.

¿En este caso, cómo puede ser el tamaño o extensión de un diagrama de flujo?


Por lo general, casi siempre los diagramas de flujo suelen ser usados para representar algoritmos pequeños. Pensando de esta manera, al diseñar los diagramas de flujo los creamos de acuerdo a las condiciones que se nos presente el problema a desarrollar. Cuando un determinado problema es muy complejo, por lo general utilizamos conectores o subprogramas indicándonos que existe otro diagrama de flujo conteniendo otras etiquetas y/o subprocesos que se ejecutarán dependiendo de nuestras condiciones de decisión.

Es así de esta manera, que utilizando subrutinas y/o subprogramas podemos reducir la extensión o el tamaño de los diagramas de flujo cuando estamos trabajando con problemas demasiado grandes.

La etiqueta que utilizamos para "abreviar" la extensión del diagrama de flujo es el siguiente:

Subrutina y/o Subprograma

Pero por lo general y por sentido común, cuando trabajamos con diagramas de flujo tratando de solucionar problemas poco complejos y extensos, no tenemos necesidad de utilizar esta clase de etiquetas, ya que solo estaríamos redundando en nuestro flujo de información; recuerda que nuestro diagrama de flujo debe ser lo más legible posible para que el usuario final pueda entender cómo es la dinámica del flujo de la información de nuestro diagrama.

jueves, 11 de octubre de 2012

Legibilidad o extensión en un diagrama de flujo.!


Regresando con todos ustedes mis queridos blogueros sobre el tema de la programación en base a diagramas de flujo, leyendo por internet en varias ocaciones he podido encontrar algunas dudas que los usuarios tienen cuando intentan crear un programa o software en base a diagramas de flujo.
Para recordar algunas cosas de antes, ¿porqué debemos usar diagramas de flujo al hacer un programa?

La respuesta es sencilla, debemos conocer cómo funciona y cuál es el comportamiento del flujo de información cuando los usuarios interaccionan con el software. Es esa la importancia de conocer este tema. En conclusión, cuando pensemos en crear un software debemos primero analizar cómo va a ser el comportamiento del flujo de la información.

Es así que me topé con una cuestión importante. No todos los usuarios son iguales al probar un determinado software, asi que analizé lo que probablemente quería un usuario al usar un programa, o tal vez al diseñar un programa en base de sus diagramas de flujo. ¿Te gustaría más la legibilidad al crear los diagramas? ¿O sea, que sean fáciles de entender? ¿O te gustaría los grandes diagramas donde podemos visualizar en todo "esplendor" el flujo de la información? Lo que si debemos tener claro es que lo que programemos debe solucionar un determinado problema ¿cierto? Entonces resumiré este problema:
1. Si nosotros elegimos crear un diagrama de flujo muy grande donde podamos ver todo el flujo de la información lo ideal es crear "subrutinas" o "subprogramas" partiendo así el diagrama de flujo para que al analizar su comportamiento no nos podamos perder en el camino y así empezar una y otra vez.
Las subrutinas o subprogramas también son diagramas de flujo por lo general de corta extensión que nos ayudan a separar parte de la diagramación para ver como actúa el flujo de la información para luego al culminar el subprograma  retornar ya con las variables o resultados listos para continuar con el diagrama de flujo "padre" y así terminar con lo que habiamos terminado.

2. Cierto es que la mezcla entre legibilidad y comportamiento del flujo de información van siempre de la mano porque a mayor legibilidad mayor entendimiento del flujo de la información. Nosotros como diseñadores debemos controlar la información y debemos cuidar de la estética del diagrama para que el usuario no tenga problemas al entender el diagrama de flujo.

Es así que yo como programador elegiría legibilidad pudiendo de esta manera brindar la correcta solución a un determinado problema.

jueves, 17 de marzo de 2011

Entrada y salida de variables.

En esta oportunidad nos ha tocado explicarles sobre la entrada y salida de variables dentro de un "Diagrama de Flujo". Pero para entender ésto es necesario saber e interpretar ¿que es una variable? "...En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador..." (Wikipedia)

¡Exacto! Las variables son espacios en la memoria de la PC donde podemos almacenar datos de tipo numérico o alfanuméricas. Bien! Entonces ya sabemos que es una variable pero ¿cómo le damos un valor? En programación nosotros habitualmente llamamos "asignar" a una variable un valor.

Un ejemplo sencillo es el siguiente :

X = 2; ó Y = x*5 - (A); 

En cualquiera de los casos estamos asignando un valor numérico o alfanumérico a una variable X ó Y del ejemplo. Alfanumérico porque usamos variables literales y números, numéricas porque solo estamos usando valores numéricos.

Bien! Pero nuestras variables también pueden ser alfanuméricas. Por ejemplo de la siguiente manera:

X2=A+B; 

Bien! Ahora, nuestras variables pueden estar representadas por letras del alfabeto o abecedario, no hay distinción entre mayúsculas y minúsculas; y además también podemos usar nombres cortos para llamar a nuestras variables.

Por ejemplo así:
pro=X+2; ABCD=25x+2; 

Bien! Ahora ya sabemos todo acerca de cómo crear nuestras variables. Pero ¿cómo es eso de entrada y salida de variables? Fácil! Mira: Cuando nosotros creamos diagramas de flujo usamos las etiquetas de asignación (simbolismo : paralelepípedo).

En ese simbolismo nosotros podemos crear nuestras variables y poder también asignarles un valor inicial; por eso que se llaman variables de entrada. Pero cuando la computadora ya ha realizado el PR (procesamiento de datos) nos muestra el resultado del PRO (procesamiento) dentro de otra etiqueta de asignación (simbolismo : paralelepípedo) con nuevas variables creadas por nosotros y asignándoles el resultado del PR. Al igual que en nuestras variables de entrada, nuestras variables de salida podrán ser variables alfanumericas o literales.

sábado, 12 de febrero de 2011

¿Dónde se utilizan los Diagrama de Flujo?

"Los diagramas de flujo se utilizan en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de término." Publicado por Wikipedia

¿Econonomía? ¿Procesos Industriales? ¿Psicología cognitiva? Ni siquiera sé qué es eso...
Wow! Entonces vemos que los diagramas de flujo pueden usarse no solamente en lo que respecta a la programación de software. Interesante! Pero... ¿Y porqué lo usan en otras disciplinas? ¿No vasta con saber ver el flujo de información? Vamos a ver...

DIAGRAMAS DE FLUJO EN LA ECONOMÍA.
En la disciplina de la economía se usan mayormente los diagramas de flujo circulares que son modelos que nos permiten ver cómo interactúan los hogares y las empresas. Un ejemplo gráfico sería el que ven a su izquierda.

DIAGRAMAS DE FLUJO EN LA INDUSTRIA.Por ejemplo en la induatria alimentaria el diagrama de flujo consiste en una representación esquemática de las fases del procesado de los alimentos. Es una herramienta muy útil para iniciar el estudio APPCC ya que permite una visión general del proceso y facilita la identificación de las posibles fuentes de contaminación así como el posterior análisis de los peligros por etapas del proceso.
Ha de incluir la secuencia de todas las etapas del proceso incluido los distintos tipos de almacenamiento, reprocesados, incorporación de materias primas y envases, eliminación de residuos, etc.


¡Muy bien!

miércoles, 9 de febrero de 2011

Simulación de Erupción Volcánica.

EJEMPLO APLICATIVO
Una estación vulcanológica realiza una simulación de computadora para observar si un volcán en particular hará erupción considerando los siguientes datos: fumarolas, sismos tectónicos y contaminación de geotermales.
La tabla de los datos del ejercicio lo pueden ver en el archivo PDF de la solución.

Escribir el diagrama de flujo y crea el pseudocódigo para ver cual es el comportamiento del flujo de la información y ver si habrá una posible erupción con los datos brindados.
Nota: Los datos proporcionados son ficticios y hechos al azar.
SOLUCIÓN.
DIAGRAMA DE FLUJO.
El gráfico del diagrama de flujo del ejercicio se encuentra en la siguiente dirección de Internet. Descárguenlo para que puedan ver la respuesta. Disfruten!
¡Reto! En el diagrama que van a descargar existen dos errores a propósito. ¿Puedes averiguar cuáles son? Tus respuestas las puedes escribir usando los comentarios. El diagrama de flujo sin errores está en la siguiente dirección para descargar, pero no lo veas hasta que lo resuelvas.

Etiquetas en los Diagramas de Flujo.

Hola! En esta entrada les comentaré sobre las funciones que cumplen algunas etiquetas, en sí, las que más se utilizan al diseñar diagramas de flujo. Para aquellos que se están iniciando en este mundo o les parece interesante aquí les va...

En anteriores entradas les mencioné que para diseñar diagramas de flujo lo primero que hay que hacer es manejar el flujo de información. ¿Y cómo hacemos esto? Bueno... lo primero que tenemos que hacer es determinar los datos de entrada (ED), el procesamiento de datos (PR) y la salida de los datos (SD).

Entrada de datos (ED).- Las etiquetas que nosotros usamos en esta parte del programa son las siguientes: terminal de inicio, operación de entrada (asignacion de variables y datos). Es la parte inicial del diseño de diagramas de flujo donde podemos imprimir mensajes en la pantalla, asignar variables que puedan contener datos numéricos o mostrar los valores de constantes.

* Terminal de Inicio : Es de vital importancia, sin esta etiqueta no podemos definir el inicio del programa, la computadora nunca sabrá cuando empezar. Es de forma rectangular con las esquinas redondeadas.
* Operación de entrada (Asignación de variables y datos) : Este tipo de etiqueta nos permite ingresar la cantidad de variables que usaremos dentro de nuestro diagrama (A,B,C, ..., a, b, c, ..., nombres cortos {pep, tos, etc}, etc.). La única desventaja de esta etiqueta es que no pedemos definir directamente el tipo de variable a usar. Esta etiqueta es de la forma de un paralepípedo

Procesamiento de Datos (PR).- Esta parte del programa es la que corresponde al tratado de los datos o las variables que nosotros estamos asignando al software. La computadora leerá nuestras variables o datos y las procesará por medio funciones, subprogramas, o fórmulas que el programador (nosotros) hallamos preparado. Además en esta sección tambiém usamos las etiquetas de control (decisión o repetición). Las etiquetas más comunes son:

* Operación en General: Este tipo de etiquetas tienen la forma de un rectángulo; en esta etiqueta podemos ingresar funciones matemáticas, ecuaciones simples y complejas, o mostrar mensajes que nos informa sobre la fómula a usar.
* Subprogramas: Son etiquetas especiales donde el programador utiliza para no mezclar las etiquetas de un diagrama de flujo con otro diferente, pero a la vez necesariamente tiene que usar. Es decir, necesitamos un diagrama de flujo diferente para que nuestro diagrama de flujo principal funcione correctamente. En esta etiquetas tambien podemos trabajar con datos de entrada ED, procesamiento de datos PR y salida de datos SD.
* Etiquetas de Control: Estas etiquetas pertenecen a las de decision (con nuestro conocido if, case) y las de repetición (for, repeat, while). Estas etiquetas permiten interactuar con el diagrama de flujo tomando decisiones o repitiendo "n" veces determinadas acciones.
Las etiquetas de decision tienen la forma de un rombo con dos salidas representadas con flechas (verdadero, falso; si, no; 1 ó 2) estas etiquetas usan datos "booleanos". Las etiquetas de repeticion, en el caso de while y repeat tienen la misma apariencia con ligeras modificaciones.
El for usa un exágono para poder repetir las "n" veces una acción.

Salida de Datos (SD).- Es la parte final del diagrama de flujo al diseñarlo y nos permite mostrar los resultados en la pantalla (imprimir). Las etiquetas que se usan en esta sección son las de operaciones de salida (las mencionadas en la entrada de datos (ED) y tienen la forma de un paralepípedo.

En resumen les presento estas etiquetas. Ahora ya hemos profundizado un poco más acerca de las etiquetas más usadas en los diagramas de flujo. En la siguiente sección ampliaremos con algunos ejemplos visuales.

martes, 8 de febrero de 2011

Diagramas de Flujo. El comienzo para hacer software.

Muchas personas me han preguntado para qué sirve hacer diagramas de flujo y cómo se hacen o se han encontrado con dificultades al realizar sus diagramas o simplemente no han tenido buenos resultados. Pues déjenme decirles que realizar un buen diagrama de flujo es necesario tener tres cosas fundamentales: buen conocimiento sobre las etiquetas, manejo sobre su flujo de información tanto de entrada de datos (ED), procesamiento de la información (PR), salida de los datos (SD) y tercero, mucha imaginación. Pasaré a explicarles todo sobre diagramas de flujo. Empezemos! ¿Qué es un Diagrama de Flujo? Brevemente un diagrama de flujo es una manera gráfica de presentar nuestro algoritmo que usaremos para crear nuestro software. Un algoritmo es una secuencia de pasos finitos que nos permite realizar nuestro programa. Como dijimos, un diagrama de flujo es una representación gráfica, por lo tanto, usaremos gráficos, nuestras etiquetas, para crear nuestro diagrama. Pero ¿qué etiquetas? Las de inicio y fin, las de entradas, las de proceso, las de decision, las lineas de flujo, las de subprogramas. Al menos esas son las más usadas para crear tus diagramas. ¿Cómo se hacen? Fácil! Mira.. un diagrama de flujo siempre empezará con una etiqueta de inicio, posteriormente se usarán las etiquetas de entradas para asignar tus variables que usarás en el diagrama, luego usarás las etiquetas de proceso o las de decisión dependiendo de la complejidad de tu programa y al final se usará la etiqueta de fin que es la que indica que termina el programa que has creado. Claro, todas estas etiquetas siempre estarán unidas con una linea de flujo. Muy bien! Ya sabes qué es un diagrama de flujo y cómo se hacen. Ahora debes comprender algo muy importante... todo software está divido fundamentalmente por tres partes como las mencioné más arriba: las entradas de datos (ED), el procesamiento de la información (PR) y la salida de datos (SD). Tú como usuario, debes ingresar datos a la computadora (ED) la computadora recibe tus datos y las procesa de acuerdo a los cálculos, fórmulas o comparaciones que tú le hallas asiganado (PR) y por último las computadora mostrará los resultados por pantalla (o imprimirá) (SD) de los cálculos, fórmulas o comparaciones que hallas asignado al programa; de forma similar eso realizará el diagrama de flujo que usarás para tu software, usarás el ED, luego PR y después SD. Así de simple. ¿Y si es tan fácil? ¿Porqué los problemas? Aquí radica la fuente de todo científico: la imaginación. Sin imaginación no podremos realizar todo lo que nosotros programemos, no veremos la forma más adecuada de resolver un problema si trabajamos con diagramas de flujo porque no sabremos identificar o reconocer cómo es el flujo de la información que maneja tu software para resolver el problema que deseas analizar. Aquí entras tú. Se imaginativo, piensa cómo podrías crear tu diagrama de flujo para resolver un determinado problema, qué etiquetas o gráficos usarías, cómo sería la forma de tu diagrama.