martes, 28 de abril de 2015


Normas de trabajo

Un diagrama de flujo presenta generalmente un único punto de inicio y un único punto de cierre, aunque puede tener más, siempre que cumpla con la lógica requerida.
Las siguientes son acciones previas a la realización del diagrama de flujo:
  • Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar presentes el autor o responsable del proceso, los autores o responsables del proceso anterior y posterior y de otros procesos interrelacionados, así como las terceras partes interesadas.
  • Definir qué se espera obtener del diagrama de flujo.
  • Identificar quién lo empleará y cómo.
  • Establecer el nivel de detalle requerido.
  • Determinar los límites del proceso a describir.
Los pasos a seguir para construir el diagrama de flujo son:
  • Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.
  • Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
  • Si el nivel de detalle definido incluye actividades menores, listarlas también.
  • Identificar y listar los puntos de decisión.
  • Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
  • Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.
  • Descripción

    En UML 1.x, un diagrama de actividades es una variación del diagrama de estado UNL donde los "estados" representan operaciones, y las transiciones representan las actividades que ocurren cuando la operación es completa.
    El diagrama de mensajes de UML 2.0, mientras que es similar en aspecto al diagrama de actividades UML 1.x, ahora tiene semánticas basadas en redes de Petri. En UML 2.0, el diagrama general de interacción está basado en el diagrama de actividades. El diagrama de actividad es una forma especial de diagrama de estado usado para modelar una secuencia de acciones y condiciones tomadas dentro de un proceso.
    La especificación del Lenguaje de Notificación Unificado (UNL) define un diagrama de actividad como:
    “… una variación de una máquina estados, lo cual los estados representan el rendimiento de las acciones o subactividades y las transiciones se provocan por la realización de las acciones o subactividades.”1
    El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo (workflow) y/o modelar operaciones.
    Una Operación es un servicio proporcionado por un objeto, que está disponible a través de una interfaz.
    Una Interfaz es un grupo de operaciones relacionadas con la semántica.

    Tipos de diagramas de flujo

    • Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
    • Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
    • Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.
    • Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.
    • Simbología y significado

      • Óvalo o Elipse: Inicio y término (Abre y cierra el diagrama).
      • Rectángulo: Actividad (Representa la ejecución de una o más actividades o procedimientos).
      • Rombo: Decisión (Formula una pregunta o cuestión).
      • Círculo: Conector (Representa el enlace de actividades con otra dentro de un procedimiento).
      • Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente).
      • Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del documento).
      • Historia

        La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado para documentar gráficamente un proceso como un flujo de pasos sucesivo y alternativos, el "proceso de diagrama de flujo", fue expuesto por Frank Gilbreth, en la Sociedad Americana de Ingenieros Mecánicos (ASME), en 1921, bajo el enunciado de "Proceso de Gráficas-Primeros pasos para encontrar el mejor modo". Estas herramientas de Gilbreth rápidamente encontraron sitio en los programas de ingeniería industrial.
        Al principio de los 30, un ingeniero industrial, Allan H. Mogensen comenzó la formación de personas de negocios en Lake PlacidNueva York, incluyendo el uso del diagrama de flujo. Art Spinanger, asistente a las clases de Mogesen, utilizó las herramientas en su trabajo en Procter & Gamble, donde desarrolló su “Programa Metódico de Cambios por Etapas”. Otro asistente al grupo de graduados en 1944, Ben S. Graham, director de ingeniería de Formcraft Standard Register Corporation, adaptó la gráfica de flujo de procesos al tratamiento de la información en su empresa. Y desarrolló la gráfica del proceso de múltiples flujos en múltiples pantallas, documentos, y sus relaciones. En 1947, ASME adoptó un conjunto de símbolos derivados de la obra original de Gilbreth como Norma ASME para los gráficos de procesos (preparada Mishad, Ramsan y Raiaan).
        Sin embargo, según explica Douglas Hartree fueron originalmente Herman Goldstine y John von Neumann quienes desarrollaron el diagrama de flujo (inicialmente llamado "diagrama") para planificar los programas de ordenador. Las tablas de programación original de flujo de Goldstine y von Neumann, aparecen en un informe no publicado, "Planificación y codificación de los problemas de un instrumento de computación electrónica, la Parte II, Volumen 1 "(1947), reproducido en las obras completas de von Neumann.
        Inicialmente los diagramas de flujo resultaron un medio popular para describir algoritmos de computadora, y aún se utilizan con este fin. Herramientas como los diagramas de actividad UML, pueden ser considerados como evoluciones del diagrama de flujo.
        En la década de 1970 la popularidad de los diagramas de flujo como método propio de la informática disminuyó, con el nuevo hardware y los nuevos lenguajes de programación de tercera generación. Y por otra parte se convirtieron en instrumentos comunes en el mundo empresarial. Son una expresión concisa, legible y práctica de algoritmos. Actualmente se aplican en muchos campos del conocimiento, especialmente como simplificación y expresión lógica de procesos, etc.


Para el proceso de Algoritmos es necesario aprender a desarrollar un conjunto de elementos.
Todo estos elementos con los cuales se construyen dichos algoritmos se basan en una disciplina llamada: Programación Estructurada. 

Empecemos por conocer las reglas para cambiar fórmulas matemáticas a expresiones válidas para la computadora, además de diferenciar constantes e identificadores y tipos de datos simples. 

Tipos De Datos 

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable. 


Tipos de Datos Simples 

Datos Numéricos: 
Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes. 

Datos lógicos: 
Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). 

Datos alfanuméricos (string): 
Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas. 

Identificadores 

Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que permite acceder a su contenido. 
Ejemplo:
» Nombre

» Num_hrs

» Calif2


Reglas para formar un identificador 
  • Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco.
  • Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter.
  • La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres.

¿QUÉ ES ALGORITMO? 

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. 
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 
¿TIPOS DE ALGORITMOS…? 
Existen dos tipos y son llamados así por su naturaleza: 


  • Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
  • Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

Lenguajes Algorítmicos 

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso. 

Tipos de Lenguajes Algorítmicos 

  • Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). 

  • No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo). 

    INICIO 
       Edad: Entero 
       ESCRIBA “cual es tu edad?” 
       Lea Edad 
       SI Edad >=18 entonces 
          ESCRIBA “Eres mayor de Edad” 
       FINSI 
       ESCRIBA “fin del algoritmo” 
       FIN

Metodología para la creación de algoritmos

Ahora que ya sabemos qué es un algoritmo, vamos a estudiar la metodología para la solución de un problema mediante un ordenador. La creación de un algoritmo y su programación es una etapa, pero como programador debes realizar varios pasos antes y después.
El computador es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u ordenes que le digan lo que tiene que hacer. Un programa es la solución a un problema inicial, así que todo comienza allí: en el Problema. El proceso de programación es el siguiente: Dado un determinado problema el programador debe idear una solución y expresarla usando un algoritmo (aquí es donde entra a jugar); luego de esto, debe codificarlo en un determinado lenguaje de programación y por último ejecutar el programa en el computador el cual refleja una solución al problema inicial. Esto es a grandes rasgos lo que hace el programador de computadores. 

La parte que corresponde a este manual es la de: “Dado un determinado problema debemos idear una solución y expresarla usando un ALGORITMO!”. 

Metodología para la solución de problemas por medio de computadora 

  • DEFINICIÓN DEL PROBLEMA 

    Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. 
  • ANÁLISIS DEL PROBLEMA 

    Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
    • Los datos de entrada.
    • Cual es la información que se desea producir (salida)
    • Los métodos y fórmulas que se necesitan para procesar los datos.
    Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados. 
  • DISEÑO DEL ALGORITMO 

    Las características de un buen algoritmo son:
    • Debe tener un punto particular de inicio.
    • Debe ser definido, no debe permitir dobles interpretaciones.
    • Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
    • Debe ser finito en tamaño y tiempo de ejecución.
    • Diseño del Algoritmo
    • Prueba de escritorio o Depuración
Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.
                                                              Diagrama de Flujo 

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados. 

Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI): 

SímboloDescripción
Indica el inicio y el final de nuestro diagrama de flujo.
Indica la entrada y salida de datos.
Símbolo de proceso y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación aritmética.
Indica la salida de información por impresora.
Conector dentro de página. Representa la continuidad del diagrama dentro de la misma página.
Conector fuera de pagina. Representa la continuidad del diagrama en otra pagina.
Indica la salida de información en la pantalla o monitor.
Símbolo de decisión. Indica la realización de una comparación de valores.
Símbolo de Selección Múltiple. Dada una expresión permite escoger una opción de muchas.
Símbolo del Mientras. Dada una expresión al principio de la iteración esta es evaluada; si la condición es verdadera realizará el ciclo, si es falsa la repetición cesará.
Símbolo del Para. Esta estructura de control repetitiva se usa generalmente cuando se conoce de antemano el numero de iteraciones.
Símbolo Repita Hasta. funciona igual que la estructura Mientras, con la diferencia que al menos una vez hará el grupo de instrucciones y luego evaluará una condición. Si la condición evaluada es falsa continua dentro del ciclo y si es verdadera termina la iteración.
Líneas de flujo o dirección. Indican la secuencia en que se realizan las operaciones.