Diagramas de Flujo

21
Diagramas de Flujo INFORMACION DE LOS DIAGRAMAS DE FLUJO Introducción Un diagrama de flujo es la representación grafica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestión, las unidades involucradas y los responsables de su ejecución; en pocas palabras es la representación simbólica o pictórica de un procedimiento administrativo. Son de gran importancia ya que ayudan a designar cualquier representación grafica de un procedimiento o parte de este; el diagrama de flujo como su nombre lo dice representa el flujo de información de un procedimiento. Existen diversos métodos que se pueden llevar a cabo en procedimientos de los arreglos (vector), ya sean en forma de ordenación, como de búsqueda. El método de ordenación es una de los procedimientos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganización un conjunto dado de objetos en una secuencia determinada. El método de ordenación más conocido y popular entre estudiantes y aprendices de programación, es el método burbuja, por su facilidad de comprensión y programación. El método de búsqueda es una operación que tiene por objeto la localización de un elemento dentro de la estructura de datos. Encontramos dos técnicas que utiliza este método de acceso, para encontrar elementos dentro de un array: Búsqueda secuencial y búsqueda binaria. La búsqueda secuencial es la técnica más simple para buscar un elemento en un arreglo. Consiste en recorrer el

description

Diagramas de Flujo

Transcript of Diagramas de Flujo

Diagramas de Flujo

Diagramas de Flujo

INFORMACION DE LOS DIAGRAMAS DE FLUJO Introduccin

Un diagrama de flujo es la representacin grafica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestin, las unidades involucradas y los responsables de su ejecucin; en pocas palabras es la representacin simblica o pictrica de un procedimiento administrativo.

Son de gran importancia ya que ayudan a designar cualquier representacin grafica de un procedimiento o parte de este; el diagrama de flujo como su nombre lo dice representa el flujo de informacin de un procedimiento.

Existen diversos mtodos que se pueden llevar a cabo en procedimientos de los arreglos (vector), ya sean en forma de ordenacin, como de bsqueda.

El mtodo de ordenacin es una de los procedimientos ms comunes y tiles en el procesamiento de datos, es la clasificacin u ordenacin de los mismos. Se considera ordenar al proceso de reorganizacin un conjunto dado de objetos en una secuencia determinada.

El mtodo de ordenacin ms conocido y popular entre estudiantes y aprendices de programacin, es el mtodo burbuja, por su facilidad de comprensin y programacin.

El mtodo de bsqueda es una operacin que tiene por objeto la localizacin de un elemento dentro de la estructura de datos. Encontramos dos tcnicas que utiliza este mtodo de acceso, para encontrar elementos dentro de un array: Bsqueda secuencial y bsqueda binaria.

La bsqueda secuencial es la tcnica ms simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (Clave). El resultado de la bsqueda es un solo valor, y ser la posicin del elemento buscado o cero.

La bsqueda binaria es el mtodo ms eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado.

Definicin y explicacin de los Flujogramas Son de gran importancia ya que ayudan a designar cualquier representacin grafica de un procedimiento o parte de este; el diagrama de flujo como su nombre lo indica representa el flujo de informacin de un procedimiento.

En la actualidad los diagramas de flujo son considerados en la mayora de las empresas o departamentos de sistemas como uno de los principales instrumentos en la realizacin de cualquier mtodo o sistema.

Son importantes los diagramas de flujo en toda organizacin y departamento, ya que este permite la visualizacin de las actividades innecesarias y verifica si la distribucin del trabajo esta equilibrada, es decir, bien distribuida en las personas, sin sobrecargo para algunas mientras otros trabajan con mucha holgura.

Los diagramas de flujo son importantes para el diseador por que le ayudan en la definicin, formulacin, anlisis y solucin del problema. El diagrama de flujo ayuda al anlisis a comprender el sistema de informacin de acuerdo con las operaciones de procedimientos incluidos, le ayudara analizar esas etapas, con el fin tanto de mejorarlas como de incrementar la existencia de sistemas de informacin para la administracin.

Ejemplo:

Caractersticas de los flujogramas De uso, permite facilitar su empleo. De destino, permite la correcta identificacin de actividades. De comprensin e interpretacin, permite simplificar su comprensin. De interaccin, permite el acercamiento y coordinacin. De simbologa, disminuye la complejidad y accesibilidad. De diagramacin, se elabora con rapidez y no requiere de recursos sofisticados.

Cmo se construye Debe de indicar claramente dnde inicia y dnde termina el diagrama. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. Organizar los smbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. No usar lenguaje de programacin dentro de los smbolos. Centrar el diagrama en la pgina. Las lneas deben ser verticales u horizontales, nunca diagonales.

o No cruzar las lneas de flujo empleando los conectores adecuados sin hacer uso excesivo de ellos.

1- No fraccionar el diagrama con el uso excesivo de conectores.2 - Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden llegar muchas lneas de flujo a otras lneas.

1 - Las lneas de flujo deben de entrar a un smbolo pro la parte superior y/o izquierda y salir de l por la parte inferior y/o derecha.2 - Evitar que el diagrama sobrepase una pgina; de no ser posible, enumerar y emplear los conectores correspondientes.3 - Usar lgica positiva, es decir, realizar procesos cuando es verdadera la condicin y expresar las condiciones de manera clara (por ej., "no es a =/= de b" ==> "a=b").4 -Comentar al margen nicamente cuando sea necesario.

Smbolos de los diagramas de flujoTipos de Diagramas de flujoHay varios tipos distintos de flujogramas que pueden usarse.

Flujograma de primer nivel o de direccin descendente. Un flujograma de primer nivel muestra los pasos principales de un proceso y puede incluir tambin los resultados intermedios de cada paso (el producto o servicio que se produce) y los subpasos correspondientes. Este tipo de flujograma se usa por lo general para obtener un panorama bsico del proceso e identificar los cambios que se producen en el proceso. Es sumamente til para identificar los miembros correctos para el equipo (aquellas personas que participan en el proceso) y para elaborar indicadores para observar y seguir el proceso por su concentracin en los resultados intermedios.

La mayora de los procesos pueden graficarse en 4 5 recuadros que representan los principales pasos o actividades del proceso. En realidad, es buena idea usar solamente 4 5 recuadros, porque no obliga a tener en cuenta los pasos ms importantes. Los dems pasos son normalmente subpasos de los ms importantes.

Flujograma de segundo nivel o detalladoUn flujograma detallado indica los pasos o actividades de un proceso e incluye, por ejemplo, puntos de decisin, perodos de espera, tareas que se tienen que volver a hacer con frecuencia (repeticin de tareas o tareas duplicadas) y ciclos de retroalimentacin. Este tipo de diagrama de flujo es til para examinar reas del proceso en forma detallada y para buscar problemas o aspectos ineficientes.

Flujograma de ejecucin o matriz

Un flujograma de ejecucin representa en forma grfica el proceso en trminos de quin se ocupa de realizar los pasos. Tiene forma de matriz e ilustra los diversos participantes y el flujo de pasos entre esos participantes. Es muy til para identificar quin proporciona los insumos o servicios a quin, as como aquellas reas en las que algunas personas pueden estar ocupndose de las mismas tareas.

Elaboracin de Flujogramas Este se rige por una serie de smbolos, normas y pautas convencionales las cuales son:1. El formato o esqueleto del flujograma debe dividirse en partes que representan a los departamentos, secciones o dependencias involucradas en el procedimiento. Cada departamento o seccin debe mostrarse una sola vez en el flujograma y en el mismo orden o secuencia cronolgica de su aparicin en el procedimiento que se describe de izquierda a derecha.2. Se debe mostrar una misma dependencia mas de una vez en el flujograma aun cuando las acciones del procedimiento regresen a la misma.3. Las lneas indicadoras del flujograma deben ser ms delgadas que las lneas divisorias del formato, rectas y angulares, dotadas de flechas en sus extremos terminales.4. Cada paso o accin del procedimiento debe enumerarse con claridad y describirse brevemente con muy pocas palabras.5. Cuando algn documento queda retenido en alguna dependencia del flujograma se indica segn sea archivado: definitivamente, temporalmente o retenido por algunos das (D), horas (O) o minutos ()6. Cuando hay que destruir algn documento luego de ser utilizado en el procedimiento se indica con una (X) grande.7. Cuando en el procedimiento algn documento da origen a otro se indicar en el flujograma mediante una flecha interrumpida.8. Al igual que vimos en los organigramas en los flujogramas cuando varias lneas se intercruzan sin tener relacin se indica mediante una inflexin en cualquiera de ellas.Siempre resultar mejor que el flujograma se muestre en una sola hoja, pero cuando en su extensin se tenga que continuar en otra pgina, se seala mediante un smbolo cualquiera dentro de un circulo, en la pgina donde se interrumpe y el mismo que suele llamarse conector se colocar en otra pgina como sigue.

Publicado por Manuel Gonzalez Sanchez en 07:39 0 comentarios

Etiquetas: programacion, pseudocodigo 2.- Pseudocodigos

EJERCICIOS DE PROGRAMACIN EN PSEUDOCDIGO

Representacin de variablesCuando representamos datos, numricos o alfanumricos, debemos darles un nombre. Una variable es un nombre que representa el valor de un dato. En esencia, una variable es una zona o posicin de memoria en la computadora donde se almacena informacin. En un pseudocdigo y tambin en un programa se pueden crear tantas variables como queramos.

Ejemplos:A = 50; Variable tipo numrica A cuyo valor es 50.Ciudad = "Asuncin"; Variable alfanumrica o de tipo carcter Ciudad, cuyo valor es "Asuncin"X = C + B; Variable numrica X cuyo valor es la suma de los valores de las variables numricas C y B. (Nota: C y B deben tener algn valor).

AsignacinPara asignar un valor a una variable se utilizar el smbolo = que en este contexto significa es reemplazado por. De forma general tendremos que:Nombre_variable = expresinEl valor de Nombre_variable se sustituye por el valor de expresinEjemplos:C = 13B = 25X = C + B (despus de estas instrucciones, X contendr el valor 13 + 25 = 38)

Existe otra forma de asignar un valor a una variable, a travs de la instruccin leer:Leer (Nombre_variable)Esta instruccin pide al usuario un valor que ser asignado a la variable Nombre_variable, es decir, en Nombre_variable se almacena el valor ingresado por el usuario.

Operadores de relacinLos operadores relacionales se utilizan para formar expresiones que al ser evaluadas producen un valor de tipo lgico: verdadero o falso.

Estructuras de seleccinEl formato de la estructura de seleccin es:

si (condicin) entoncesinstruccin 1instruccin 2...................instruccin nsi noinstruccin ainstruccin b...................instruccin zfin si

El resultado de evaluar la condicin puede ser verdadero o falso: en el caso de que sea verdadero, se ejecutarn: instruccin 1, instruccin 2, ... , instruccin n. Si el resultado de evaluar condicin es falso se ejecutarn: instruccin a, instruccin b, ... , instruccin z.

Ejemplo:Si A = 5 entoncesImprimir("A es 5")si noimprimir("A no es igual a 5")fin si

Estructuras de repeticinEl formato de la estructura de repeticin es:

mientras (condicin)instruccin 1instruccin 2.....instruccin nfin mientras

El resultado de evaluar condicin puede ser verdadero o falso:Mientras sea verdadero, se ejecutarn: instruccin 1, instruccin 2, ... , instruccin n. Estas instrucciones dejarn de ejecutarse cuando condicin sea falso.Ejemplo:leer(contrasea)mientras (contrasea < > "joshua")imprimir("La contrasea es incorrecta !")leer (contrasea)fin-mientrasimprimir("Ha tecleado la contrasea correcta")Nota: El bucle se repetir mientras que contrasea joshua sea verdadero

Salida de resultadosLos resultados de nuestros algoritmos los vamos a mostrar al usuario a travs de la instruccin imprimir, que tiene la siguiente forma general:Imprimir(argumento 1, argumento 2, argumento 3, ... , argumento n)Donde los argumentos pueden ser cadenas de caracteres entrecomilladas o variables: Si son cadenas de caracteres entrecomillados se imprime literalmente lo que est entre comillas Si son variables se imprime el contenido de dicha variable (no el nombre)Ejemplo:sueldo = 1000trabajador = MartnezImprimir( el sueldo de , trabajador , es , sueldo , Euros. )La instruccin imprimir, muestra lo siguiente: el sueldo de Martnez es 1000 Euros.

EJERCICIOS: PROPUESTOS

Ejercicio 1: Observa la siguiente secuencia de instrucciones:

1. A = 52. B = 73. C = 24. A = A + B + C5. B = C / 26. A = A / B + A ^ C7. Imprimir(A)

Ahora responde a las siguientes cuestiones:a) Qu valor contiene A despus de la cuarta instruccin?b) Qu valor contiene B despus de la quinta instruccin?c) Qu valor contiene A despus de la sexta instruccin?d) Qu valor imprime la ltima instruccin?e) Si en lugar de Imprimir(A) hubisemos escrito Imprimir(A) Qu aparecera?

Ejercicio 2: Observa la siguiente secuencia de instrucciones:

1. A = 52. B = 73. C = 14. D = (A == B)5. E = (A B)6. F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones:a) Qu valor contiene D despus de la cuarta instruccin?b) Qu valor contiene E despus de la quinta instruccin?c) Qu valor contiene F despus de la sexta instruccin?d) Cunto valen A, B y C despus de la ltima instruccin?

Ejercicio 3: Observa la siguiente secuencia de instrucciones:

1. leer(A)2. leer(B)3. leer(C)4. D = (A == B)5. E = (A B)6. F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

a) Qu valor contiene D despus de la cuarta instruccin?b) Qu valor contiene E despus de la quinta instruccin?c) Qu valor contiene F despus de la sexta instruccin?d) Cunto valen A, B y C despus de la ltima instruccin?

Ejercicio 4: Observa la siguiente secuencia de instrucciones:

1. leer (A)2. resultado = 13. mientras (A>1)4. resultado = resultado * A5. A = A 16. fin mientras7. imprimir(resultado)

Ahora responde a las siguientes cuestiones:a) Si en la primera instruccin se introduce un valor 2 en A Qu valor se imprime?b) Si en la primera instruccin se introduce un valor 3 en A Qu valor se imprime?c) Si en la primera instruccin se introduce un valor 4 en A Qu valor se imprime?d) Qu se est calculando?

Ejercicio 5: Observa la siguiente secuencia de instrucciones:

1. leer (A)2. Si (A>0)3. Imprimir (A,es positivo)4. Si no5. Imprimir (A,es negativo)6. Fin si

a) Describe, instruccin por instruccin, qu se est haciendo con este algoritmo.b) Qu pasa si A = 5? Y si A = - 100?c) Escribe otro algoritmo para distinguir mltiplos de 3 y compralo

Ejercicio 6: Observa la siguiente secuencia de instrucciones:

1. leer (NumeroA)2. leer (NumeroB)3. Si (NumeroA < numeroa =" 5" numerob =" -" numeroa =" 10" numerob =" 100?" numeroa =" 10" numerob =" 10?

Publicado por Manuel Gonzalez Sanchez en 07:10 0 comentarios

Etiquetas: algoritmo, programacion, pseudocodigo jueves 5 de marzo de 2009

1.- Concepto de algoritmo

ALGORITMOConjunto de acciones o secuencias de operaciones ejecutadas en un determinado orden para resolver un problema.

AccinAcontecimiento producido por un actor en un tiempo finito que produce un resultado definido y preciso y adems genera cierta transformacin.Analizaremos la accinExisten diferentes tipos de acciones: Accin simple: Realizadas directamente Accin compleja: No se pueden realizar directamente sino a travs de una descomposicin de acciones ms simples (diseo Top-down).

Transformacin Generada en los elementos intervinientes. Para determinar la transformacin debo conocer el ESTADO.

ESTADO Es la observacin de los elementos del sistema en un instante de tiempo dado.Hay tres tipos de estadoEstado inicial Instante donde comienza la accin.(Ei)Estado intermedio Instante observado en cualquier momento entre el comienzo y la finalizacin de la accin.Estado Final Instante observado donde finaliza la accin (Ef)Caractersticas de los algoritmosDefinido (confiable)Debe indicar un orden a seguirDebe ser finito, terminar en un nmero finito de pasos.*Nota: Algoritmo Se trata de una herramienta capaz de resolver un problema. Todas las situaciones problemticas pueden ser resueltas a travs de algoritmos.

ALGORITMOS: Lenguaje algortmico: Se realiza anlisis y se elige el mtodo a utilizar, el conjunto de operaciones y orden conforman el algoritmo.

PROGRAMAS:Lenguaje informtico: Es aquel por el cual dicho algoritmo se codifica a la computadora.Programa > algoritmo destinado a gobernar una computadora.

Lenguaje de programacin:Pueden haber diferentes lenguajes tales como: visual Basic, delphi, c++, java, etc.Pueden tener diferente metodologa de programacin tales como: Modular, estructurada, orientada a objetos, etc.

Cubren necesidades especficas como ser: el visual Fox Pro, es para programar bases de datos.

Metodologa para la resolucin de problemasHay cinco etapas para resolver problemas algortmicos, estas son:Definicin del sistema: definir que va a hacer el programa y que solucin obtendremos.Diseo del sistema: Establecer que tipo de metodologa usaremos para solucionar el problema (Ej. Top down o Botton up).Codificacin: Es la etapa en donde se escribe el algoritmo en un lenguaje de programacin.Cuando se compila el algoritmo, hay un antes y un despusAntes > Programa Fuente (lenguaje de programacin).Despus > Programa ejecutable (lenguaje de maquina).Prueba y depuracin: Se realizan pruebas para verificar el funcionamiento del programa, se prueba con valores vlidos y con no vlidos para ver como se comporta y corregir si es necesario.Documentacin y Mantenimiento: Se basa en la instalacin, funcionamiento y caractersticas del programa. Permite corregir errores o modificar el programa (estos cambios son el mantenimiento del programa).

Hay dos tipos de documentacin, estas son: Interna > viene dentro del programa (Ej. Readme, caractersticas operativas) Externa > Viene fuera del programa, diagramas de flujo, manuales de usuario, consejos de uso, etc.

Tcnicas de diseoHay tres tipos de tcnicas, estas son:TOP DOWN (Diseo descendente): Consiste en tomar el problema inicial y descomponerlo en problemas ms pequeos, de solucin sencilla.BOTTON UP: Consiste en partir de los detalles ms precisos del algoritmo completando mdulos de mayor complejidad es inverso al anterior - .WARNIER ORR: Utiliza una representacin semejante a cuadros sinpticos para Mostar el funcionamiento y organizacin del algoritmo.

Tcnicas para la formulacin de algoritmosHay dos tipos, estas son:*Estos no pueden ser ejecutados por una computadoraDiagramas de Flujo > se basan en la utilizacin de smbolos para representar las acciones.

Primera ParteCatedratico: M.E. Manuel Gonzalez

Publicado por Manuel Gonzalez Sanchez en 22:10 0 comentarios

lunes 23 de febrero de 2009

SOLUCION DE PROBLEMAS MEDIANTE ALGORITMOS

ETAPAS PARA LA SOLUCIN DE PROBLEMAS

Objetivos

Describir la diferencia entre la solucin de problemas algoritmica y herstica.Presentar y describir las seis etapas para resolver un problema.Etapas para la solucin de problemas

Identificar el problema.Cul es el problema?

Comprender el problema.Qu se sabe del el problema?

Antes de continuar hacia delante, es necesario comprender los aspectos que conlleva el problema, como la base de conocimiento de la persona o de la mquina para quien se va a resolver el problema.Comenta sobre aquello que ayuda a entender el problema.Describe el conocimiento bsico y lo que se espera debe conocerse para resolver el problema.Identificar las distintas alternativas (vias alternas) para resolver el problema.De cuntas formas se puede resolver el problema? Indica los:

Aspectos a favor de cada alternativaAspectos en contra de cada alternativaSeleccionar la mejor alternativa de la etapa anterior.Con qu alternativa me quedo? Para seleccionar la mejor via, se requiere establecer los criterios de evaluacin.Hacer una lista de instrucciones que faciliten la solucin del problema.Cmo resolver el problema? Dar instrucciones, paso por paso, a partir de la base de conocimiento establecida en la etapa 2. No se pueden dar instrucciones que el ser humano o la mquina no pueda entender. En el caso de las computadoras, la base de conocimiento es muy limitada.Lista de instrucciones, etapa por etapa:

Evaluar la solucin.Cul fue el resultado? Funcion? Si el resultado es incorrecto o insatisfactorio, hay que volver a empezar.

Tipos de problemas

Algunos problemas, como hacer caf o cambiar la rueda de un automoviel, se resuelven con una serie de actividades claras y especfcas. Esta forma de solucin se conoce como solucin algortmica. En este caso, las distintas actividades se ejecutan en un orden lgico, etapa por etapa. Estas etapas se llaman algoritmo, entre los cuales se encuentran los ordinogramas (flujogramas), las tablas de decisin y los pseudocdigos. La solucin a otros problemas menos sistemticos como qu computadora comprar, dnde invertir el capital, cundo mover las acciones de una cuenta a otra, requiere mayor conocimiento, experiencia e inmiscuirse en un proceso de intento y error. La solucin a este tipo de problemas que no resite la simpleza y claridad de ir etapa por etapa se conoce como solucin heurstica.Las computadoras estn construidas para trabajar con soluciones algortmicas. El campo de la computadora que trabaja con soluciones hersticas se conoce como inteligencia artificial (IA).

Solucin de problemas con computadoras

En el campo de las computadoras se entiende por solucin las instrucciones que se dan a la computadora, paso por paso (etapa 5 del proceso de solucin de problemas) con el propsito de obtener el mejor resultado. El resultado es la salida (output) o la respuesta asistida por la computadora. Se entiende por programa el grupo de instrucciones que, una vez codificadas en un lenguaje de computadora, hacen posible la solucin.

GLOSARIO

AlgoritmoSolucin algortmicaSolucin hersticaProgramaResultadosSolucin

Preguntas de discusinCu;es son las seis etapas para resolver un problema?Qu es una solucin de problemas algortmica?Menciona dos problemas de solucin algortmica.Qu es una solucin de problemas heurstica? Menciona dos problemas de este tipo.Cules de estos problemas puede resolver de forma eficiente la computadora?

Aplicacin de conocimiento

Completa las seis etapas del proceso de solucin de problemas con uno de los problemas mencionados en el nmero 3 de las "Preguntas de discusin".

Por cada una de las siguientes tareas, escribe una cadena numerada de instrucciones (una solucin), paso por paso, de tal forma que cualquier persona pueda realizarlas sin necesidad de preguntar. Define el conocimiento bsico que esperas debe poseer esa persona (prerrequisitos) para poder seguir las instrucciones. Por ejemplo, para hacer una taza de caf, se debe conocer a priori qu es leche, taza, agua, harina de caf, y as sucesivamente.

Hacer una taza de cafReponer una rueda del automvil.Estudiar en la universidad.