fernandocha.files.wordpress.com€¦  · web viewsegún, estudiantes de ingeniería...

21
INFORMÁTICA 2 “INVESTIGACIÓN SOBRE ALGORITMOS Y DIAGRAMAS DE FLUJO” Presenta : María Nájera Mijares Director de Tesis : Genaro Rangel Burciaga

Upload: others

Post on 18-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

INFORMÁTICA 2

“INVESTIGACIÓN SOBRE ALGORITMOS Y DIAGRAMAS DE

FLUJO”

Presenta : María Nájera Mijares

Director de Tesis : Genaro Rangel Burciaga

Victoria de Durango, Durango, México. Abril 2019

Page 2: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

RESUMEN

Estos conceptos se interrelacionan uno con el otro, ya que se aplican en el

mismo campo de la lógica de programación.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo

lenguaje natural, pseudológico, diagramas de flujo y lenguajes de programación

entre otros. Las descripciones en lenguaje natural se traducen en ambiguas y

extensas.

Los diagramas de flujo son utilizados 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.

Page 3: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

ÍNDICE

CAPÍTULO I.............................................................................................................4

INTRODUCCIÓN..................................................................................................4

CAPÍTULO II............................................................................................................5

ALGORITMOS......................................................................................................5

Historia...............................................................................................................5

Características principales y definición formal...................................................5

Medios de expresión de un algoritmo................................................................6

Algoritmos como funciones...............................................................................6

Análisis de algoritmos.......................................................................................7

Tipos de algoritmos según su función...............................................................7

Técnicas de diseño de algpritmos.....................................................................7

Complejidad akgorítmica...................................................................................8

CAPÍTULO III...........................................................................................................9

DIAGRAMAS DE FLUJO......................................................................................9

Historia...............................................................................................................9

Simbología de diagramas de flujo....................................................................10

Diagramas de flujo para algoritmos y programación informática.....................12

Cómo se usan los diagramas de flujo en muchos otros campos....................13

Tipos de diagramas de flujo............................................................................14

Cómo dibujar y planifacar un diagrama de flujo básico...................................14

Bibliografía............................................................................................................................15

ii

Page 4: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

CAPÍTULO I

INTRODUCCIÓN

Según, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema, un algoritmo está compuesto de una serie finita de pasos que convergen en la solución de un problema, pero además esos pasos tienen un orden específico”.

Por otro lado, se muestra en la página Lucidchart, la definición de un diagrama de flujo consiste en que “es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender”.

1

Page 5: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

CAPÍTULO II

ALGORITMOS

Mediante la búsqueda sobre los algoritmos, dicha página de internet llamada EcuRed, nos privilegia de la siguiente información.

Un algoritmo es un conjunto de reescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien o ejecute. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

HISTORIA

La palabra algoritmo proviene de un matemático árabe de siglo IX, Alheresni Khowarismi, originario de la antigua ciudad de Khowarism. Formulo las reglas de las cuatro operaciones aritméticas con varios dígitos. Posteriormente este concepto comenzó a utilizarse en general para designar las secuencias de operaciones que conducen a la solución de cualquier tarea matemática.

CARACTERÍSTICAS PRINCIPALES Y DEFINICIÓN FORMAL

En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver problemas. Algunos ejemplos son los manuales de usuario o las instrucciones que recibe un empleado por su patrón.

En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo, muchos autores lo señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

2

Page 6: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

los datos de un problema en una solución. Sim embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular.

Sin embargo, estos modelos están sujetos a un tipo particular de datos como son números, símbolos o graficas mientras que, en general, los algoritmos funcionan sobre una vasta cantidad de estructuras de datos.

En resumen, 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, además tiene un límite fijo en cuanto la cantidad de datos que se pueden escribir/leer en un solo paso.

MEDIOS DE EXPRESIÓN DE UN ALGORITMO

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.

La descripción e un algoritmo usualmente se hace en tres niveles:

1 De alto nivel: se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal (ilustraciones y omitiendo detalles)

2 Formal: se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.

3 Implementación: se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar acabo instrucciones.

ALGORITMOS COMO FUNCIONES

Un algoritmo se puede concebir como una función que transforma los datos de un problema en los datos de una solución. Más aún, los datos se pueden representar a su vez como secuencias de bits, y en general, de símbolos cualesquiera. Como cada secuencia de bits representa a un número natural, entonces los algoritmos son en esencia funciones de los números naturales, en los números naturales que sí se pueden calcular. Es decir que todo algoritmo calcula una función donde cada número natural es la codificación de un problema o de una solución.

3

Page 7: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

ANÁLISIS DE ALGORITMOS

El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada.

El análisis y estudio de los algoritmos es una disciplina de las ciencias de la computación y en la mayoría de los casos, su estudio es completamente abstracto sin usar ningún tipo de lenguaje de programación ni cualquier otra implementación; por eso, en ese sentido, comparte las características de las disciplinas matemáticas. Así, el análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación particular. Una forma de plasmar un algoritmo es escribirlo en pseudocódigo o utilizar un lenguaje muy simple tal como Léxico, cuyos códigos pueden estar en el idioma del programador.

TIPOS DE ALGORITMOS SEGÚN SU FUNCIÓN

1 Ordenamiento: Algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden.

2 Búsqueda: Un algoritmo de búsqueda es aquel que está diseñado para localizar un elemento concreto dentro de una estructura de datos.

3 Agrupación star: Están compuestas por un conjunto de algoritmos basados en grafos, los cuales se identifican por la creación de sub-grafos en forma de estrella.

TÉCNICAS DE DISEÑO DE ALGORITMOS

1 Voraces: seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. 

2 Paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.

3 Probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.4 Determinísticos: el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.5 No determinísticos: el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos

4

Page 8: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.6 Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.7 Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.8 Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.9 Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.10 Vuelta atrás: se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.

COMPLEJIDAD ALGORÍTMICASea M un algoritmo y n el tamaño de los datos de entrada y/o salida. La complejidad es una función f (n) que da el tiempo y/o espacio de almacenamiento necesario en su ejecución. Dado que el espacio es un múltiplo de n, la complejidad por lo general se refiere al tiempo de ejecución. Usualmente se denomina a T(n) tiempo de ejecución de un programa de entradas de tamaño n. Aquí se refiere al peor de los casos, el mayor.

5

Page 9: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

CAPÍTULO III

DIAGRAMAS DE FLUJO

Retomando el tema de diagramas de flujo, se dio a conocer la siguiente información mediante la página de internet Lucidchart.

Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia.

Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).

HISTORIA

En 1921, los ingenieros industriales Frank y Lillian Gilbreth presentaron el "diagrama de flujo de procesos" en la Sociedad Americana de Ingenieros Mecánicos. A principios de la década de 1930, el ingeniero industrial Allan H. Morgensen empleó las herramientas de Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el trabajo a personas de negocios en su empresa.  En la década de 1940, dos estudiantes de Morgensen, Art Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger introdujo los métodos de simplificación del trabajo en Procter & Gamble. Graham, director

6

Page 10: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

de Standard Register Industrial, adaptó los diagramas de flujo de procesos al procesamiento de información. En 1947, ASME adoptó un sistema de símbolos para los diagramas de flujo de procesos derivado del trabajo original de Gilbreth.

SÍMBOLOS DE DIAGRAMAS DE FLUJO

Terminal/Terminador

Proceso

Documento

Decisión

7

Page 11: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

Datos o entrada/salida

Datos almacenados

Flecha de flujo

Comentario o anotación

Proceso predefinido

8

Page 12: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

Referencia/conector fuera de la página

 

DIAGRAMAS DE FLUJOS PARA ALGORITMOS Y PROGRAMACIÓN INFORMÁTICA

Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado. Puede ayudar a organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar.

Demostrar cómo el código está organizado. Visualizar la ejecución de un código dentro de un programa. Mostrar la estructura de un sitio web o aplicación. Comprender cómo los usuarios navegan por un sitio web o programa.

Los diagramas relacionados que se emplean en el software informático incluyen:

Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general usado en la ingeniería de software para el modelado.

Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada. Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron en 1972 en la Universidad Estatal de Nueva York en Stony Brook. También se denominan "estructogramas".

Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado para crear diagramas de flujo.

CÓMO SE USAN LOS DIAGRAMAS DE FLUJO EN MUCHOS OTROS CAMPOSEn cualquier campo pueden:

Documentar y analizar un proceso.

9

Page 13: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

Estandarizar un proceso para obtener eficiencia y calidad.Educación:

Planificar los requisitos académicos y las tareas del curso. Crear una presentación oral o un plan de clase. Organizar un proyecto grupal o individual. Mostrar un proceso civil o legal, como el registro de votantes. Planificar y estructurar la escritura creativa, como poesía o poesía lírica.

Ventas y marketing: Trazar el flujo de una encuesta. Dibujar un proceso de ventas. Planificar estrategias de investigación. Mostrar flujos de registro. Difundir políticas de comunicación, como un plan de R.R. P.P. de

emergencia.Negocios:

Comprender procesos de pedidos y compras. Representar la rutina diaria o las tareas de un empleado. Comprender las rutas que toman los usuarios en un sitio web o en una

tienda.Manufactura:

Indicar la composición química o física de un producto. Ilustrar el proceso de manufactura de principio a fin. Descubrir y resolver ineficiencias en un proceso de manufactura o

adquisición.Ingeniería:

Representar flujos de proceso o de sistema. Diseñar y actualizar procesos químicos y de planta. Evaluar el ciclo de vida de una estructura. Diagramar un flujo de ingeniería inversa. Demostrar la fase de prototipo y diseño de una estructura o producto

nuevos.

TIPOS DE DIAGRAMAS DE FLUJO

1 Diagramas de flujo de documentos: Estos "tienen el propósito de mostrar los controles existentes en el flujo de documentos a través de los componentes de un sistema. 2 Diagramas de flujo de datos: Estos indican "los controles que rigen los flujos de datos en un sistema.3 Diagramas de flujo de sistemas: Estos "indican el flujo de datos que pasa hacia los componentes principales de un sistema, o a través de ellos, tales como entrada de datos, programas, medios de almacenamiento, procesadores y redes de comunicación".4 Diagramas de flujo de programas: Estos muestran "los controles ubicados internamente en un programa dentro de un sistema".

10

Page 14: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

5 Diagrama de flujo de sistema: identifica los dispositivos que se emplearán.6 Diagrama de flujo general: vista general.7 Diagrama de flujo detallado: más detalles.

CÓMO PLANIFICAR Y DIBUJAR UN DIAGRAMA DE FLUJO BÁSICO1 Define tu propósito y alcance. ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.2 Identifica las tareas en orden cronológico. Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.3 Organízalos por tipo y figura correspondiente, como procesos, decisiones, datos, entradas o salidas.4 Crea tu diagrama, ya sea dibujándolo a mano o usando un programa como Lucidchart5 Confirma tu diagrama de flujo, verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito.

CONCLUSIÓN

Establecida dicha información, dedujo que los algoritmos y los diagramas de flujo son uno solo, pues se complementan el uno con el otro. Para poder dar una información más específica y sencilla de entender para los que ejecutan el trabajo.

Alguna de sus ventajas es que al momento de querer enseñar, podemos apoyarnos de dichos, completando la información de una manera más rápida, ya que en el diagrama de flujo podemos integrar los algoritmos que se presentan, y así poder tener la entrada y salida del problema establecido.

11

Page 15: fernandocha.files.wordpress.com€¦  · Web viewSegún, estudiantes de ingeniería (SlideShare.com) un algoritmo “nace en respuesta a la aparición de un determinado problema,

BIBLIOGRAFÍA.

https://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo

https://www.ecured.cu/Algoritmohttps://www.lucidchart.com/pages/es/que-es-un-diagrama-de-flujo

https://es.slideshare.net/waltermanero/algoritmos-y-diagramas-de-flujos-45454543

12