Page 1

I.E:

"Año de la Inversión para el Desarrollo Rural y la My.PNP Félix Tello Rojas

Nombre: Tuesta Rodríguez Guillermo Castillo Coronel Blanca Flores Cruzado Maryori Céspedes Carbajal Fabrizio Galindo Privat Nicole Profesor: Nerita Tarrillo Dávila Grado: 4to Sección: “A” Tema: Libro Interactivo


Dedicatori

a Éste libro va dedicado, principalmente, a nuestros padres, ya que ellos nos ayudan a mejorar día a día. A nuestra profesora, que nos ha guíado para tener una mayor sabiduría. A nuestros compañeros y amigos, que sin su apoyo no hubiésemos podido aprender más.


Índice

Carátula

1

Dedicatoria

2

Índice

3

Presentación

4

Conociendo Algoritmos

5

Variables, Constantes, Tipos de Datos, Expresiones, operadores

17

Diagrama de Flujo de Datos

28

Solucionando Problemas de Diagramas

35

Integrando Aprendizajes

44

Creando Diagramas de Flujo con el Software DFD

49

Estructuras condicionales Simples, Dobles, Múltiples

54

Bibliografía


Presenta ción Tenemos el agrado de presentar éste trabajo que, con tanto esfuerzo que nos ha costado, lo hemos publicado. Éste trata acerca de un manual de algoritmos, donde se darán varias posibilidades de cómo resolverlo, e incluso saber qué es –que es lo primordial-. Lo explicaremos paso por paso para un mejor entendimiento. Esperamos sea de su completo agrado.


Conociendo Algoritmos


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.

¿Que son los algoritmos?:

¿Para qué sirven los algoritmos?


En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que cuestan algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón.

Características de los algoritmos 1. Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos". 2. Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". Cada instrucción deberá especificarse en cada caso exactamente y sin ambigüedad. 3. Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos específicos de objetos".

4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica con las entradas". 5. Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".

6. Resolución. El algoritmo deberá llegar a un resultado específico, producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.


Cómo se pueden representar los algoritmos: Diagrama de flujo.

Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción A los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

Pseudocódigo El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.


El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él. Así el pseudocódigo cumple con las funciones antes mencionadas para representar algo abstracto los protocolos son los lenguajes para la programación

Pro pied ade


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. 2. Análisis de la solución general.

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.

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.

Elab orac


Para esto debemos saber y tener en cuenta las propiedades de un algoritmo. Luego debemos preguntarnos: ¿Qué se quiere? ¿Cómo se quiere? ¿Qué deseo obtener? Una vez resueltas estas interrogantes, debemos: -

Buscar diferentes alternativas.

Utilizar variables referentes a los datos.

Finalmente debemos imprimir el resultado.

Ejemplo 1 Imprimir el área de un triángulo y hacerlo por Pseudocódigo

Nos piden hallar el área del triángulo. Ésta es:

A= (B*H)/2

Para iniciar el pseudocódigo, escribimos:


Luego, declaramos variables escribiendo su grupo numeral al cuál pertenecen (Entero o Real)

Después, seguimos ingresando datos:

Inicio

Ingresar “La Altura, basebase del triángulo:”, es real B Ingresar “La altura del triángulo:”, H

Realizamos los cálculos:

A= (B*H)/2 Mostrar “El área del Triángulo”, A

Fin


Y mostramos los resultados:

Y finalizamos el Pseudoc贸digo con:

Fin De 茅sta forma, podemos resolver un algoritmo usando pseudoc贸digos.


EJEMPLO 2: Calcular e imprimir la edad actual de una persona por algoritmos. Analizamos primero y nos damos cuenta que:

Edad actual= Año Actual – Nac. De la persona

Inicio

Iniciamos el pseudocódigo:

Luego, declaramos variables escribiendo su grupo numeral al cuál pertenecen (Entero o Real). Pondremos a Edad Actual (EA), a Año Actual (AA) y el Año de Nac. De La EA, AA, AN es entero Persona

Ingresar “Año de Nac. De la Persona:”, AN Ingresar “Año Actual:”, AC


(AN)

DespuĂŠs, seguimos ingresando datos:

Realizamos los cĂĄlculos:

Y mostramos los resultados:

Y finalizamos el PseudocĂłdigo con:


De ésta forma, podemos resolver varios algoritmos usando Pseudocódigos.

NOTA: Las posiciones de “Inicio” y “Fin” van en diferentes posiciones que el resto.

Mostrar Fin “La edad actual de unaEA= persona es:”, EA AC-AN

Vari able


Variables

En programación, una variable está formada por un espacio en el sistema de almacenaje (memoria principal de un ordenador) y un nombre simbólico (un identificador) que está asociado a dicho espacio. Ese espacio contiene una cantidad o información conocida o desconocida, es decir un valor. El nombre de la variable es la forma usual de referirse al valor almacenado: esta separación entre nombre y contenido permite que el nombre sea usado independientemente de la información exacta que representa. El identificador, en el código fuente de la computadora puede estar ligado a un valor durante el tiempo de ejecución y el valor de la variable puede por lo tanto cambiar durante el curso de la ejecución del programa. El concepto de variables en computación puede no corresponder directamente al concepto de variables en matemática. El valor de una variable en computación no es necesariamente parte de una ecuación o fórmula como en matemáticas. En computación una variable puede ser utilizada en un proceso repetitivo: puede asignársele un valor en un sitio, ser luego utilizada en otro, más adelante reasignársele un nuevo valor para más tarde utilizarla de la misma manera. Procedimientos de este tipo son conocidos con el nombre


de iteración. En programación de computadoras, a las variables, frecuentemente se le asignan nombres largos para hacerlos relativamente descriptivas para su uso, mientras que las variables en matemáticas a menudo tienen nombres escuetos, formados por uno o dos caracteres para hacer breve en su transcripción y manipulación. El espacio en el sistema de almacenaje puede ser referido por distintos identificadores diferentes. Esta situación es conocida entre los angloparlantes como "aliasing" y podría traducirse como "sobrenombramiento" para los hispanoparlantes. Asignarle un valor a una variable utilizando uno de los identificadores cambiará el valor al que se puede acceder a través de los otros identificadores. Los compiladores deben reemplazar los nombres simbólicos de las variables con la real ubicación de los datos. Mientras que el nombre, tipo y ubicación de una variable permanecen fijos, los datos almacenados en la ubicación pueden ser cambiados durante la ejecución del programa. Las variables pueden ser de longitud: • Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas. • Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos. Las variables pueden ser intercambiadas entre rutinas, por valor y por referencia: • Por valor.- Se copia el valor (el dato) de la variable en la zona de la pila de llamadas —de ámbito local— que corresponde a la nueva subrutina llamada. Por tanto, esta subrutina obtiene dicho valor pero no puede modificar la variable original. Esto significa que si la variable sufre alteraciones dentro de esta rutina, para poder acceder a dichas modificaciones al finalizar, deberá devolver el nuevo valor de la misma. Si no se realiza esta operación, el valor de la variable será exactamente el mismo que tenía antes de pasar por la función. • Por referencia.- No se pasa el valor directamente de la variable, sino una referencia o puntero a la misma —que contiene la dirección de la zona de memoria donde se aloja el contenido—, de tal modo que se opera directamente sobre la zona de memoria que la contiene, lo cual implica que las modificaciones que sufra serán accesibles a posterior


Constantes

Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa. Como ya se ha comentado en el tema sobre las partes de un programa, las constantes se declaran en una sección que comienza con la palabra reservada const. Después de declarar una constante ya puedes usarla en elcuerpo principal del programa. Tienen varios usos: ser miembro en una expresion, en una comparación, asignar su valor a una variable, etc. En el siguiente ejemplo se contemplan varios casos:


En este ejemplo se declaran tres constantes (Min, Max y Sep). En la primera línea del cuerpo del programa se asigna una constante a una variable. En la siguiente, se usa una constante en una comparación. Y en la cuarta, la constante Sep interviene en una expresión que se asigna a una variable. El resultado de ejecutar este programa sería una impresión en pantalla de los números: 0, 10, 20, 30, 40, 50, 60, 70, 80 y 90. Se puede hacer una división de las constantes en tres clases: • constantes literales (sin nombre) • constantes declaradas (con nombre) • constantes expresión Constantes literales:

Son valores de cualquier tipo que se utilizan directamente, no se declaran ya que no tienen nombre. En el siguiente ejemplo tienes un par de constantes literales (el 3, el 4, y el 3.1416): Ejemplo:

Constantes declaradas También llamadas constantes con nombre, son las que se declaran en la sección const asignándoles un valor directamente. Por ejemplo:


Constantes expresión También se declaran en la sección const, pero a estas no se les asigna un valor directamente, sino que se les asigna una expresión. Esta expresión se evalúa en tiempo de compilación y el resultado se le asigna a la constante. Ejemplo:


Tipo de Dato:

Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc. Por ejemplo, por lo general el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas en este caso incluyen la adición y la sustracción, pero no la multiplicación. Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la matemática y la lógica.En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores.1 Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al


programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá, por ejemplo, un nombre y una fecha de nacimiento.Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, la interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.

Expresiones:

En programación, una expresión es una combinación de constantes, variables o funciones, que es interpretada de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Como en matemáticas, la expresión es su valor evaluado, es decir, la expresión es una representación de ese valor. EJEMPLOS: • • •

Expresión aritmética: 3+2, x+1,... Expresión lógica: x OR y, NOT x,... Expresión con predicados: P(a) AND Q(b),...


Operadores: En matemáticas, el término operador puede usarse con varios significados. Algunas veces, un operador es un símbolo matemático que indica que debe ser llevada a cabo una operación especificada1 sobre un cierto número de operandos (número, función, vector, etc.). Operadores de condición Relacionan un término A con otro B estableciendo su igualdad, jerarquía o cualquier otra relación posible, como ejemplos tenemos: • A = B establece que A es igual que B. En este caso hay que distinguir entre operador = de asignación y el operador = de comparación. El primero toma el valor de B y se lo asigna a A; el segundo solamente compara los valores de A y B sin modificarlos y devuelve un valor lógico o de verdad verdadero si ambos valores son iguales o falso si dichos valores no son iguales. • A ≠ B o desigualdad.


Este caso es justamente el opuesto al anterior, aunque aquí no podemos hablar de asignación, pero si de comparación. Ahora el resultado de esta operación será F si los valores A y Bson iguales y V si son distintos. Operadores de orden Los operadores de orden establecen o verifican clasificaciones entre números (A < B, A > B, etc.) u otro tipo de valores (caracteres, cadenas, ...). Todo tipo de dato susceptible de ser ordenado por cualquier criterio puede ser comparado con estos operadores; como los anteriores devuelven un valor de verdad en función del resultado que tenga la comparación en cada caso. • A > B Devuelve V si A es estrictamente mayor que B y F en caso contrario • A < B Devuelve V si A es estrictamente menor que B y F en caso contrario • A ≥ B Devuelve V si A es mayor o igual que B y F en caso contrario • A ≤ B Devuelve V si A es menor o igual que B y F en caso contrario • Otros operadores relacionales menos usuales son los llamados operadores geométricos: paralelismo (A || B), perpendicularidad y otros Operadores lógicos Muy utilizados en Informática, lógica proposicional y álgebra booleana, entre otras disciplinas. Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Esto genera una serie de valores que, en los casos más sencillos, pueden ser parametrizados con los valores numéricos 0 y 1, como se puede apreciar en los ejemplos de abajo. La combinación de dos o más operadores lógicos conforma una función lógica. • Los más sencillos son (nótese su relación con los operadores relacionales): • Operador NO-lógico: '¬A' significa todo lo que no es A' • Operador Y-lógico: 'A ∧ B' significa 'A y B a la vez'; resultando FALSO (0) si no se cumple y VERDADERO (1) si sí lo hace. • Operador O-lógico: 'A ∨ B' significa 'O bien A, o bien B, o bien los dos'; resultando FALSO (0) si no se dan ni A ni B y VERDADERO (1) si se da alguno de los dos o los dos a la vez.


Operador =: 'A = B' significa 'A debe ser igual a B'; resultando FALSO (0) si esto no es así y VERDADERO (1) en caso contrario. • Operador <: 'A < B' significa 'A debe ser menor que B'; resultando FALSO (0) si no se satisface y VERDADERO (1) en caso contrario. • Operador >: 'A > B' significa 'A debe ser mayor que B'; resultando FALSO (0) si no se satisface y VERDADERO (1) en caso contrario. • Los operadores más complejos se construyen a partir de los anteriores (podría incluirse alguno más) y ya entran dentro de lo que sería una función lógica. Un ejemplo muy utilizado sería 'SI(condición;A;B)' ('IF condición THEN A ELSE B' en la mayoría de los lenguajes de programación) cuyo resultado sería A si se satisface la 'condición' o B en caso contrario. Operaciones aritméticas Las operaciones aritméticas pueden ser entendidas, desde un punto de vista operacional, como operadores bivariantes o como operadores a derecha. Por ejemplo, '2 × 3' puede ser el operador bivariante de la multiplicación actuando sobre los números 2 y 3, o el operador '2 ×' que actúa sobre 3. En este grupo se encuentran la adición, la sustracción, multiplicación y la división. Otras operaciones, derivadas de las operaciones aritméticas usuales son la potenciación, radicación y logaritmación. •


Dia gra


Diagrama de actividades para un loop

(bucle). El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas comoprogramación, economía, procesos industriales y psicología cognitiva. En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.


En SysML el diagrama de actividades ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos. Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

Características Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de término. Las siguientes son acciones previas a la realización del diagrama de flujo: • Identificar las ideas principales a 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 UML donde los "estados" representan operaciones, y las transiciones representan las actividades que ocurren cuando la operación es completa. El diagrama de actividades 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 Modelado Unificado (UML) 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, aún 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/o 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). Cursograma •

Se trata de la más común y práctica entre todas las clases de flujogramas. Describe el flujo de información en un ente u organización, sus procesos, sistemas administrativos y de control. Permite la impresión visual de los procedimientos y una clara y lógica interpretación. Simbología y normas del cursograma[editar] • Círculo: Procedimiento estandarizado. • Cuadrado: Proceso de control. • Línea ininterrumpida: Flujo de información vía formulario o documentación en soporte de papel escrito. • Línea interrumpida: Flujo de información vía formulario digital. • Rectángulo: Formulario o documentación. Se grafica con un doble de ancho que su altura. • Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etcétera). Se grafica con un cuádruple de ancho que su altura, siendo su ancho igual al de los formularios. • Triángulo (base inferior): Archivo definitivo. • Triángulo Invertido (base superior): Archivo Transitorio. • Semi-óvalo: Demora. • Rombo: División entre opciones. • Trapezoide: Carga de datos al sistema. • Elipsoide: Acceso por pantalla.


Hexágono: Proceso no representado. • Pentágono: Conector. • Cruz de Diagonales: Destrucción de Formularios. Según la normativa, el flujo presupuesto es de izquierda a derecha y de arriba hacia abajo, siendo optativo el uso de flechas. Cuando el sentido es invertido (de derecha a izquierda o de abajo hacia arriba), es obligatorio el uso de la flecha. 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áficasPrimeros 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 Placid, Nueva 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. Ventajas de los diagramas de flujo Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto. • Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión. • Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas. • Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso. • Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de programación puede ser ejecutado en un ordenador, con un IDE como Free DFD. Software para diseño de diagramas de flujo •

Actualmente existe una gran cantidad de software para la elaboración de diagramas de flujo. A continuación se enlistan los programas mas comunes para elaborar diagramas de flujo. • Microsoft Office nos ofrece 3 herramientas utiles para la elaboración de diagramas. Uno de ellos es Microsoft Office Word, que nos permite crear diagramas de flujo básicos a travez de la opción "Formas" que tiene un apartado especial para diagramas de flujo. De igual manera Microsoft Office Power Point nos ofrece las mismas opciones para crear nuestros diseños de diagramas de flujo. Otra herramienta un poco mas sofisticada es Microsoft Office Visio, que además de la simbologia básica de los diagramas de flujo cuanta con una variedad de herramientas para elaborar otros tipos de diagramas


como es el caso diagramas UML entre otros tipos de diagramas de flujo. • Otro programa eficiente y muy fácil de usar es el programa "Dia" que nos brinda una solución rápida para la creación de diagramas de flujo además de otro tipo de diagramas usados en el ambiente informático. Es considerado la versión no comercial de Microsoft Visio.

Soluci onand o


SOLUCIONAN DO PROBLEMAS CON EL DRIAGRAMA DE FLUJO DE DATOS


APRENDIZAJE I •

Desarrolle un algoritmo para la empresa Constructora Tecnovivir Casas C.A., que le permita calcular e imprimir la nómina para su cancelación a un total de 50 obreros calificados a quienes debe cancelar por horas trabajadas. La hora trabajada se pautó en 30.000 Bolívares.

Desarrolle un algoritmo que permita calcular Promedio de Notas; finaliza cuando N = 0Realice un algoritmo que a partir de proporcionarle la velocidad de un automóvil, expresada en kilómetros por hora, proporcione la velocidad en metros por segundo.

Realice un algoritmo que calcule el monto a pagar por el servicio de estacionamiento, teniendo en cuenta que por la primera hora de estadía se tiene una tarifa de 1000 bolívares y las restantes tienen un costo de 600 bolívares. Se tiene como datos: hora de entrada, hora de salida (formato militar), iniciada una hora se contabiliza como hora total.


Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o no.

. Realiza un algoritmo que le permita determinar el área de un rectángulo

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

. •

Desarrolle el algoritmo correspondiente.

Desarrolle un algoritmo que realice la sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria

b. Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria

Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B, y C respectivamente. El algoritmo debe indicar cual es el menor. Asumiendo que los tres valores introducidos por el teclado son valores distintos.


Desarrolle un algoritmo que lea cuatro números diferentes y a continuación imprima el mayor de los cuatro números introducidos y también el menor de ellos.

Realizar un algoritmo que permita leer dos valores, determinar cual de los dos valores es el menor y escríbalo.

Realizar un algoritmo que sume dos números.


Inte gran

1. Hacer el pseudocĂłdigo para sumar dos nĂşmeros leĂ­dos por teclado y escribir el resultado. Inicio Num1, num2, suma=entero Leer num1, num2 Suma= num1 + num2


Escribir “la suma es:”, suma Fin

2. Modificar el anterior pero para sumar 100 números leídos por teclado. Inicio Cont.,=0 Num1, num2,…, num100, suma=entero Leer num1, num2 Suma=num1+num2 Cont.=1 hasta 99 incrementar de uno En uno Fin para Fin para Fin 3. Modificar el anterior para que permita sumar N números. El valor de N se debe leer previamente por teclado. inicio Acum.=NNum1, num2,…,num100, suma=entero Leer num1, num2 Suma=num1+num2 Mientras N mayor a cero hacer Fin para Fin para Fin


4. Hacer un pseudocódigo que permita escribir los 100 primeros pares. Inicio Acum.=0Num1, num2,…, num100, suma=enteroPara Cont.=1 hasta 100 decremento de 1 Acum.=acum.+2Escribir acum. Fin para Fin

5. Hacer el pseudocódigo para sumar los N primeros impares. Realizar después uno que haga lo mismo con los pares y, otro, con los múltiplos de 3. Inicio Cont.,=NNum1, num3, num5…, numN, suma=entero Leer num1, num3Suma=num1+num3Si Cont. Menor a N hacer Fin para Fin para Fin

7. La sucesión de Fibonacci se define de la siguiente forma: a1=1, a2=1 y an=an-1+an-2 paran>2, es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21,... Hacer un diagrama de flujo y pseudocódigo para calcular el N-ésimo término de la sucesión. Inicio N B=1


No Si S < N Fin S=A+B A=1 Escribir S Escribir A Y B A=B Y B=S Fin


Cre and


PASO 1: Bien, pues lo primero es analizar bien el problema. Saber que es lo que nos pide que realicemos, si ya comprendimos que debemos hacer entonces ahora vayamos a explicar cada parte de un diagrama de flujo:

Inicio o Fin del programa.

Condici贸n o Bifurcaci贸n.

Operaci贸n o Proceso.

Ingreso y salida de datos.

Conector. Es importante aclarar que apesar de que existe un lenguaje universal, en distintos pa铆ses, empresas o entre personas, las palabras pueden variar.

PASO 2:


Ahora, a comenzar, tomemos de ejemplo este problema: Calcular los promedios de X numero de alumnos, cada uno con 3 calificaciones, se debe mostrar por pantalla si esta aprobado o reprobado (si la calificación es igual o menor a 5 esta reprobado)

Hay que analizar que variables utilizaremos. Para este caso ocuparemos 5: * Nota1, Nota2, Nota3 ,Suma, y Promedio.

Los datos que debemos ingresar son: * Nota1, Nota2 y Nota3.

Las operaciones que utilizaremos: * Sumar las 3 calificaciones [Nota1, Nota2 y Nota3] * Dividir la suma entre 3 para sacar el Promedio.

Se verá si el promedio es mayor a 5, si lo es, mostrará "Aprobado" si no "Reprobado". También preguntaremos si se desea calcular el promedio de otro alumno. Y al final lo que imprimiremos será: * Promedio.

PASO 3: Bueno, lo primero será iniciar el programa y declarar nuestra variables:


Despu茅s ingresaremos valores para cada variable:

Ahora hacemos la operaci贸n de la suma, y despu茅s la divisi贸n:


Ahora la condición:

Y preguntamos si se sacará otro promedio:

PASO 4: Y listo, tu diagrama final deberá de quedar así:


En la lista de materiales incluĂ­ un programa llamado DFD para descargar. Es un programa muy Ăştil para realizar y comprobar tus diagramas de flujo.iĂłn


Estruc turas Condi 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. 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:


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:

Dónde: 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. 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:

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:

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:

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 05 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 Diagrama de flujo:


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! Diagrama de flujo:

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 Diagrama de flujo:


Bibliogr afĂ­a

http://jhonier-aa.blogspot.com/2012/05/conociendo-los-algoritmos.html http://aulatec.wordpress.com/caracteristicas-y-propiedades-de-los-algoritmos/ http://teleformacion.edu.aytolacoruna.es/PASCAL/document/vars.htm#ctes http://pastranamoreno.files.wordpress.com/2012/05/ejercicios-resueltos.pdf http://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n) http://es.wikipedia.org/wiki/Tipo_de_dato http://es.wikipedia.org/wiki/Operador http://www.desarrolloweb.com/articulos/2225.php http://es.wikipedia.org/wiki/Diagrama_de_flujo

Librocom