SlideShare une entreprise Scribd logo
1  sur  30
DIAGRAMA DE FLUJO
  Pedro Sebastián lazo Ortiz
INDICE

DIAGRAMA DE FLUJO «CONCEPTO ENTRE
          OTRAS COSAS »


         PROGRAMACION


          LENGUAJE C++
DIAGRAMA DE FLUJO «CONCEPTO»
El diagrama de flujo es la representación gráfica
del algoritmo o proceso. Se utiliza en disciplinas
como la programación, la economía, los procesos
industriales y la psicología cognitiva. Estos
diagramas utilizan símbolos con significados bien
definidos que representan los pasos del algoritmo,
y representan el flujo de ejecución mediante
flechas que conectan los puntos de inicio y de 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
dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de
otros procesos interrelacionados, otras 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.
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.
TIPOS DE DIAGRAMAS DE FLUJO
Formato vertical: En él, el flujo o 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).
IMAGEN SIMBOLOGIA
HISTORIA
La paternidad del diagrama de flujo es en principio algo difusa. El método
estructurado para documentar graficamente 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".
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.
EJEMPLO DE DIAGRAMA DE FLUJO
PROGRAMACION
CONCEPTO
La programación es el proceso de diseñar, codificar, depurar y mantener
el código fuente de programas computacionales. El código fuente es escrito en
un lenguaje de programación. El propósito de la programación es crear programas
que exhiban un comportamiento deseado. El proceso de escribir código requiere
frecuentemente conocimientos en varias áreas distintas, además del dominio del
lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no
involucra necesariamente otras tareas tales como el análisis y diseño de la
aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el
desarrollo de pequeñas aplicaciones.
HISTORIA
Para crear un programa, y que la computadora interprete y ejecute las instrucciones escritas en
él, debe usarse un Lenguaje de programación.
En sus inicios las computadoras interpretaban sólo instrucciones en un lenguaje específico, del
más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para
programar. De hecho sólo consiste en cadenas de números 1 y 0 (Sistema binario).
Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área
decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras
provenientes del inglés; codificándolas así y creando un lenguaje de mayor nivel, que se conoce
como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra
inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que
hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y
entender que secuencias de números binarios.
LÉXICO Y PROGRAMACIÓN
La programación se rige por reglas y un conjunto más o menos reducido de
órdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una
lengua natural acotada (en inglés); y que además tienen la particularidad de una
reducida ambigüedad. Cuanto menos ambiguo es un lenguaje de
programación, se dice, es más potente. Bajo esta premisa, y en el extremo, el
lenguaje más potente existente es el binario, con ambigüedad nula (lo cual lleva
a pensar así del lenguaje ensamblador).
En los lenguajes de programación de alto nivel se distinguen diversos elementos
entre los que se incluyen el léxico propio del lenguaje y las reglas semánticas y
sintácticas.
PROGRAMAS Y ALGORITMOS
Se han propuesto diversas técnicas de programación
cuyo objetivo es mejorar tanto el proceso de creación
de software como su mantenimiento. Entre ellas, se
pueden mencionar las siguientes:
Programación estructurada
Programación modular
Programación orientada a objetos (POO)
Programación declarativa
COMPILACIÓN
Normalmente la creación de un programa ejecutable (un típico.exe para Microsoft
Windows o DOS) conlleva dos pasos. El primer paso se llama compilación
(propiamente dicho) y traduce el código fuente escrito en un lenguaje de programación
almacenado en un archivo a código en bajo nivel (normalmente en código objeto, no
directamente a lenguaje máquina). El segundo paso se llama enlazado en el cual se
enlaza el código de bajo nivel generado de todos los ficheros y subprogramas que se
han mandado compilar y se añade el código de las funciones que hay en las
bibliotecas del compilador para que el ejecutable pueda comunicarse directamente
con el sistema operativo, traduciendo así finalmente el código objeto a código
máquina, y generando un módulo ejecutable.
PROGRAMACIÓN E INGENIERÍA DEL SOFTWARE

El proceso de creación de software, desde el punto de vista de la ingeniería, incluye los
siguientes pasos:
Reconocer la necesidad de un programa para solucionar un problema o identificar la
posibilidad de automatización de una tarea.
Recoger los requisitos del programa. Debe quedar claro qué es lo que debe hacer el
programa y para qué se necesita.
Realizar el análisis de los requisitos del programa. Debe quedar claro cómo debe realizar el
programa las cosas que debe hacer. Las pruebas que comprueben la validez del programa
se pueden especificar en esta fase.
Diseñar la arquitectura del programa. Se debe descomponer el programa en partes de
complejidad abordable.
Implementar el programa. Consiste en realizar un diseño detallado, especificando
completamente todo el funcionamiento del programa, tras lo cual la codificación
(programación propiamente dicha) debería resultar inmediata.
REFERENCIAS HISTÓRICAS

La primera programadora de computadora conocida fue Ada Lovelace,
hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las
matemáticas a Ada quien, después de conocer aCharles Babbage,
tradujo y amplió una descripción de su máquina analítica. Incluso aunque
Babbage nunca completó la construcción de cualquiera de sus
máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título
de primera programadora de computadoras del mundo. El nombre
del lenguaje de programación Ada fue escogido como homenaje a esta
programadora.
No olvidemos que este proceso está aplicado a todos los métodos
científicos que actualmente se practican.
OBJETIVOS DE LA PROGRAMACIÓN

Es muy importante que el programa sea lo más claro y legible posible, para
facilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa se
debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo
en la edición; de esta forma se ve facilitado el trabajo del programador, tanto en la
fase de creación como en las fases posteriores de corrección de
errores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadas
incluso por otro programador, con lo cual la claridad es aún más necesaria para
que otros programadores puedan continuar el trabajo fácilmente. Algunos
programadores llegan incluso a utilizar Arte ASCII para delimitar secciones de
código. Otros, por diversión o para impedir un análisis cómodo a otros
programadores, recurren al uso de código ofuscado.
IMAGEN
LENGUAJE C++
CONCEPTO

C++ es un lenguaje de programación diseñado a mediados
de los años 1980 por Bjarne Stroustrup. La intención de su
creación fue el extender al exitoso lenguaje de programación
C con mecanismos que permitan la manipulación de objetos.
En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido.
TIPOS DE DATOS
C++ tiene los siguientes tipos fundamentales:
Caracteres: char (también es un entero), wchar_t
Enteros: short, int, long, long long
Números en coma flotante: float, double, long double
Booleanos: bool
Vacío: void
El modificador unsigned se puede aplicar a enteros para obtener números sin signo
(por omisión los enteros contienen signo), con lo que se consigue un rango mayor de
números naturales.
TAMAÑOS ASOCIADOS

Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++
no dice nada acerca de cuál es el número de bits en un byte, ni del tamaño de estos
tipos; más bien, ofrece solamente las siguientes "garantías de tipos":
De acuerdo al estándar C99, un tipo char debe ocupar exactamente un byte compuesto
de un mínimo de 8 bits independientemente de la arquitectura de la máquina.
El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1.
Un tipo short tiene al menos el mismo tamaño que un tipo char.
Un tipo long tiene al menos el doble tamaño en bytes que un tipo short.
Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive,
preferentemente el tamaño de un apuntador de memoria de la máquina.
Un tipo unsigned tiene el mismo tamaño que su versión signed.
LA PALABRA RESERVADA "VOID"

La palabra reservada void define en C++ el
concepto de no existencia o no atribución de un
tipo en una variable o declaración. Como tal, puede
ser usada para destacar que una función no recibe
parámetros, como en:
int funcion (void);
PRINCIPIOS
La primera es la forma por omisión de un programa que no recibe parámetros ni
argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el
número de argumentos del programa (incluyendo el nombre del programa mismo), y argv,
un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa
el i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad de
poder acceder a las variables de entorno de ejecución de la misma forma que se accede a
los argumentos del programa, pero reflejados sobre la variable env.
El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de
retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores
de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por
medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el
compilador es responsable de agregar la salida adecuada.
EL CONCEPTO DE CLASE
Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la
programación orientada a objetos un objeto consta de:
Identidad, que lo diferencía de otros objetos (Nombre que llevara la clase a la que
pertenece dicho objeto).
Métodos o funciones miembro
Atributos o variables miembro
Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas
características (atributos). Su número de patas, el color de su pelaje o su tamaño son
algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento...
esas son las funciones de la clase.
HERENCIA SIMPLE

La herencia en C++ es un mecanismo de abstracción creado para poder facilitar y
mejorar el diseño de las clases de un programa. Con ella se pueden crear nuevas
clases a partir de clases ya hechas, siempre y cuando tengan un tipo de relación
especial.
En la herencia, las clases derivadas "heredan" los datos y las funciones miembro de
las clases base, pudiendo las clases derivadas redefinir estos comportamientos
(polimorfismo) y añadir comportamientos nuevos propios de las clases derivadas. Para
no romper el principio de encapsulamiento (ocultar datos cuyo conocimiento no es
necesario para el uso de las clases), se proporciona un nuevo modo de visibilidad de
los datos/funciones: "protected". Cualquier cosa que tenga visibilidad protected se
comportará como pública en la clase Base y en las que componen la jerarquía de
herencia, y como privada en las clases que NO sean de la jerarquía de la herencia.
SOBRECARGA DE OPERADORES

Dado que estos operadores son definidos para un tipo de datos definido por el usuario, éste es
libre de asignarles cualquiera semántica que desee. Sin embargo, se considera de primera
importancia que las semánticas sean tan parecidas al comportamiento natural de los operadores
como para que el uso de los operadores sobrecargados sea intuitivo. Por ejemplo, el uso del
operador unario - debiera cambiar el "signo" de un "valor".
Los operadores sobrecargados no dejan de ser funciones, por lo que pueden devolver un valor,
si este valor es del tipo de datos con el que trabaja el operador, permite el encadenamiento de
sentencias. Por ejemplo, si tenemos 3 variables A,B y C de un tipo T y sobrecargamos el
operador = para que trabaje con el tipo de datos T, hay dos opciones: si el operador no devuelve
nada una sentencia como "A=B=C;" (sin las comillas) daría error, pero si se devuelve un tipo de
datos T al implementar el operador, permitiría concatenar cuantos elementos se quisieran,
permitiendo algo como "A=B=C=D=...;"
IMAGEN C++

Contenu connexe

Tendances

Circuito de Hamilton
Circuito de HamiltonCircuito de Hamilton
Circuito de HamiltonVicentino
 
Bloque 3: Sucesiones aplicadas a Economía
Bloque 3: Sucesiones aplicadas a EconomíaBloque 3: Sucesiones aplicadas a Economía
Bloque 3: Sucesiones aplicadas a EconomíaMaría del Valle Heredia
 
Origenes de la ingenieria moderna
Origenes de la ingenieria modernaOrigenes de la ingenieria moderna
Origenes de la ingenieria modernaBenitoeb
 
Solucionario beer, johnton, mazurek y eisenberg novena edicion
Solucionario beer, johnton, mazurek y eisenberg   novena edicionSolucionario beer, johnton, mazurek y eisenberg   novena edicion
Solucionario beer, johnton, mazurek y eisenberg novena edicionÁngel David García La Roque
 
Aplicación de las funciones polinomiales
Aplicación de las funciones polinomialesAplicación de las funciones polinomiales
Aplicación de las funciones polinomialesUTPL- BIOFARM
 
Ecuaciones Paramétricas - Cartesianas
Ecuaciones Paramétricas - Cartesianas Ecuaciones Paramétricas - Cartesianas
Ecuaciones Paramétricas - Cartesianas joseAngelRemacheCast
 

Tendances (8)

Evolucion de la ingeniería
Evolucion de la ingenieríaEvolucion de la ingeniería
Evolucion de la ingeniería
 
Circuito de Hamilton
Circuito de HamiltonCircuito de Hamilton
Circuito de Hamilton
 
Bloque 3: Sucesiones aplicadas a Economía
Bloque 3: Sucesiones aplicadas a EconomíaBloque 3: Sucesiones aplicadas a Economía
Bloque 3: Sucesiones aplicadas a Economía
 
Origenes de la ingenieria moderna
Origenes de la ingenieria modernaOrigenes de la ingenieria moderna
Origenes de la ingenieria moderna
 
Solucionario beer, johnton, mazurek y eisenberg novena edicion
Solucionario beer, johnton, mazurek y eisenberg   novena edicionSolucionario beer, johnton, mazurek y eisenberg   novena edicion
Solucionario beer, johnton, mazurek y eisenberg novena edicion
 
Compendio de fisica bgu
Compendio de fisica bguCompendio de fisica bgu
Compendio de fisica bgu
 
Aplicación de las funciones polinomiales
Aplicación de las funciones polinomialesAplicación de las funciones polinomiales
Aplicación de las funciones polinomiales
 
Ecuaciones Paramétricas - Cartesianas
Ecuaciones Paramétricas - Cartesianas Ecuaciones Paramétricas - Cartesianas
Ecuaciones Paramétricas - Cartesianas
 

En vedette

Diagrama de flujo y programacion
Diagrama de flujo y programacionDiagrama de flujo y programacion
Diagrama de flujo y programacionCriss Russo
 
Manual de lenguaje C++
Manual de lenguaje C++Manual de lenguaje C++
Manual de lenguaje C++rcc1964
 
Extendiendo aplicaciones en C y C++ con Python
Extendiendo aplicaciones en C y C++ con PythonExtendiendo aplicaciones en C y C++ con Python
Extendiendo aplicaciones en C y C++ con PythonAngel Freire
 
Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++franjpr
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++g_torrealba
 
Tecnicas avanzadas de programacion en lenguaje c++ (manual)
Tecnicas avanzadas de programacion en lenguaje c++ (manual)Tecnicas avanzadas de programacion en lenguaje c++ (manual)
Tecnicas avanzadas de programacion en lenguaje c++ (manual)Ignacio Reyes
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programaciónJavier Roig
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn EstructuradaFernanda-Guzman
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++Sylvert
 
Code blocks & lenguaje c++
Code blocks & lenguaje c++Code blocks & lenguaje c++
Code blocks & lenguaje c++aldaircausado11
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorDunkherz
 
Estructura de lenguaje C++
Estructura de lenguaje C++Estructura de lenguaje C++
Estructura de lenguaje C++jhoel terrel
 
Concepto y representaciones de un Algoritmo
Concepto y representaciones de un AlgoritmoConcepto y representaciones de un Algoritmo
Concepto y representaciones de un AlgoritmoJoaquin Lara Sierra
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccionjennipaola
 
Curso de C++ (2014)
Curso de C++ (2014)Curso de C++ (2014)
Curso de C++ (2014)Miriam Ruiz
 

En vedette (20)

Diagrama de flujo y programacion
Diagrama de flujo y programacionDiagrama de flujo y programacion
Diagrama de flujo y programacion
 
Manual de lenguaje C++
Manual de lenguaje C++Manual de lenguaje C++
Manual de lenguaje C++
 
Extendiendo aplicaciones en C y C++ con Python
Extendiendo aplicaciones en C y C++ con PythonExtendiendo aplicaciones en C y C++ con Python
Extendiendo aplicaciones en C y C++ con Python
 
C# desde cero sesion 2
C# desde cero   sesion 2C# desde cero   sesion 2
C# desde cero sesion 2
 
Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++Estructua Basica Lenguaje C++
Estructua Basica Lenguaje C++
 
Clase 5
Clase 5Clase 5
Clase 5
 
Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Tecnicas avanzadas de programacion en lenguaje c++ (manual)
Tecnicas avanzadas de programacion en lenguaje c++ (manual)Tecnicas avanzadas de programacion en lenguaje c++ (manual)
Tecnicas avanzadas de programacion en lenguaje c++ (manual)
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++
 
Code blocks & lenguaje c++
Code blocks & lenguaje c++Code blocks & lenguaje c++
Code blocks & lenguaje c++
 
Lenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compiladorLenguaje de programacion c++ basico 2da parte instalación del compilador
Lenguaje de programacion c++ basico 2da parte instalación del compilador
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
 
Estructura de lenguaje C++
Estructura de lenguaje C++Estructura de lenguaje C++
Estructura de lenguaje C++
 
Concepto y representaciones de un Algoritmo
Concepto y representaciones de un AlgoritmoConcepto y representaciones de un Algoritmo
Concepto y representaciones de un Algoritmo
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccion
 
Curso de C++ (2014)
Curso de C++ (2014)Curso de C++ (2014)
Curso de C++ (2014)
 

Similaire à Diagrama de flujo

Digramas progr lengu mendez
Digramas progr lengu mendezDigramas progr lengu mendez
Digramas progr lengu mendezAlexaods
 
Miguel guillen 4to b
Miguel guillen 4to bMiguel guillen 4to b
Miguel guillen 4to bangelordx
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informaticajackitor16
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informaticajackitor16
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informaticajackitor16
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informaticajackitor16
 
Diagrama de flujo gabriel cornejo 4 to b
Diagrama de flujo gabriel cornejo 4 to bDiagrama de flujo gabriel cornejo 4 to b
Diagrama de flujo gabriel cornejo 4 to bgabuxitopcornejo
 
Descripción de un Algoritmo
Descripción de un AlgoritmoDescripción de un Algoritmo
Descripción de un AlgoritmoOGEA UPS
 
Introduccion a la informacion
Introduccion a la informacionIntroduccion a la informacion
Introduccion a la informacionPeter Mtz
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacionfabiana733179
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de FlujoGladysct
 
Trabajo de informática
Trabajo  de informáticaTrabajo  de informática
Trabajo de informáticakim1411
 

Similaire à Diagrama de flujo (20)

Digramas progr lengu mendez
Digramas progr lengu mendezDigramas progr lengu mendez
Digramas progr lengu mendez
 
Miguel guillen 4to b
Miguel guillen 4to bMiguel guillen 4to b
Miguel guillen 4to b
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informatica
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informatica
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informatica
 
Jacky informatica
Jacky informaticaJacky informatica
Jacky informatica
 
Diagrama de flujo gabriel cornejo 4 to b
Diagrama de flujo gabriel cornejo 4 to bDiagrama de flujo gabriel cornejo 4 to b
Diagrama de flujo gabriel cornejo 4 to b
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Diagrama de flujo póveda y pilcos
Diagrama de flujo póveda y pilcosDiagrama de flujo póveda y pilcos
Diagrama de flujo póveda y pilcos
 
Descripción de un Algoritmo
Descripción de un AlgoritmoDescripción de un Algoritmo
Descripción de un Algoritmo
 
Introduccion a la informacion
Introduccion a la informacionIntroduccion a la informacion
Introduccion a la informacion
 
Diagramadeflujo
DiagramadeflujoDiagramadeflujo
Diagramadeflujo
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacion
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Texto base
Texto baseTexto base
Texto base
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Informatica
InformaticaInformatica
Informatica
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Trabajo de informática
Trabajo  de informáticaTrabajo  de informática
Trabajo de informática
 

Plus de Sebastian Lazo (8)

Coca cola
Coca colaCoca cola
Coca cola
 
Lentes (optica)
Lentes (optica)Lentes (optica)
Lentes (optica)
 
Lentes (optica)
Lentes (optica)Lentes (optica)
Lentes (optica)
 
Lentes (optica)
Lentes (optica)Lentes (optica)
Lentes (optica)
 
Vectores en dos dimensiones
Vectores en dos dimensionesVectores en dos dimensiones
Vectores en dos dimensiones
 
Examen
ExamenExamen
Examen
 
Examen
ExamenExamen
Examen
 
Leyes de newton
Leyes de newtonLeyes de newton
Leyes de newton
 

Diagrama de flujo

  • 1. DIAGRAMA DE FLUJO Pedro Sebastián lazo Ortiz
  • 2. INDICE DIAGRAMA DE FLUJO «CONCEPTO ENTRE OTRAS COSAS » PROGRAMACION LENGUAJE C++
  • 3. DIAGRAMA DE FLUJO «CONCEPTO» El diagrama de flujo es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como la programación, la economía, los procesos industriales y la psicología cognitiva. Estos diagramas utilizan símbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.
  • 4. 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 dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras 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.
  • 5. 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.
  • 6. TIPOS DE DIAGRAMAS DE FLUJO Formato vertical: En él, el flujo o 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.
  • 7. 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).
  • 9. HISTORIA La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado para documentar graficamente 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". 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.
  • 12. CONCEPTO La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
  • 13. HISTORIA Para crear un programa, y que la computadora interprete y ejecute las instrucciones escritas en él, debe usarse un Lenguaje de programación. En sus inicios las computadoras interpretaban sólo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho sólo consiste en cadenas de números 1 y 0 (Sistema binario). Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del inglés; codificándolas así y creando un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de números binarios.
  • 14. LÉXICO Y PROGRAMACIÓN La programación se rige por reglas y un conjunto más o menos reducido de órdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en inglés); y que además tienen la particularidad de una reducida ambigüedad. Cuanto menos ambiguo es un lenguaje de programación, se dice, es más potente. Bajo esta premisa, y en el extremo, el lenguaje más potente existente es el binario, con ambigüedad nula (lo cual lleva a pensar así del lenguaje ensamblador). En los lenguajes de programación de alto nivel se distinguen diversos elementos entre los que se incluyen el léxico propio del lenguaje y las reglas semánticas y sintácticas.
  • 15. PROGRAMAS Y ALGORITMOS Se han propuesto diversas técnicas de programación cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes: Programación estructurada Programación modular Programación orientada a objetos (POO) Programación declarativa
  • 16. COMPILACIÓN Normalmente la creación de un programa ejecutable (un típico.exe para Microsoft Windows o DOS) conlleva dos pasos. El primer paso se llama compilación (propiamente dicho) y traduce el código fuente escrito en un lenguaje de programación almacenado en un archivo a código en bajo nivel (normalmente en código objeto, no directamente a lenguaje máquina). El segundo paso se llama enlazado en el cual se enlaza el código de bajo nivel generado de todos los ficheros y subprogramas que se han mandado compilar y se añade el código de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo así finalmente el código objeto a código máquina, y generando un módulo ejecutable.
  • 17. PROGRAMACIÓN E INGENIERÍA DEL SOFTWARE El proceso de creación de software, desde el punto de vista de la ingeniería, incluye los siguientes pasos: Reconocer la necesidad de un programa para solucionar un problema o identificar la posibilidad de automatización de una tarea. Recoger los requisitos del programa. Debe quedar claro qué es lo que debe hacer el programa y para qué se necesita. Realizar el análisis de los requisitos del programa. Debe quedar claro cómo debe realizar el programa las cosas que debe hacer. Las pruebas que comprueben la validez del programa se pueden especificar en esta fase. Diseñar la arquitectura del programa. Se debe descomponer el programa en partes de complejidad abordable. Implementar el programa. Consiste en realizar un diseño detallado, especificando completamente todo el funcionamiento del programa, tras lo cual la codificación (programación propiamente dicha) debería resultar inmediata.
  • 18. REFERENCIAS HISTÓRICAS La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas a Ada quien, después de conocer aCharles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título de primera programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido como homenaje a esta programadora. No olvidemos que este proceso está aplicado a todos los métodos científicos que actualmente se practican.
  • 19. OBJETIVOS DE LA PROGRAMACIÓN Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo en la edición; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de creación como en las fases posteriores de corrección de errores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador, con lo cual la claridad es aún más necesaria para que otros programadores puedan continuar el trabajo fácilmente. Algunos programadores llegan incluso a utilizar Arte ASCII para delimitar secciones de código. Otros, por diversión o para impedir un análisis cómodo a otros programadores, recurren al uso de código ofuscado.
  • 22. CONCEPTO C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
  • 23. TIPOS DE DATOS C++ tiene los siguientes tipos fundamentales: Caracteres: char (también es un entero), wchar_t Enteros: short, int, long, long long Números en coma flotante: float, double, long double Booleanos: bool Vacío: void El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por omisión los enteros contienen signo), con lo que se consigue un rango mayor de números naturales.
  • 24. TAMAÑOS ASOCIADOS Otras arquitecturas pueden requerir distintos tamaños de tipos de datos primitivos. C++ no dice nada acerca de cuál es el número de bits en un byte, ni del tamaño de estos tipos; más bien, ofrece solamente las siguientes "garantías de tipos": De acuerdo al estándar C99, un tipo char debe ocupar exactamente un byte compuesto de un mínimo de 8 bits independientemente de la arquitectura de la máquina. El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempre devuelve 1. Un tipo short tiene al menos el mismo tamaño que un tipo char. Un tipo long tiene al menos el doble tamaño en bytes que un tipo short. Un tipo int tiene un tamaño entre el de short y el de long, ambos inclusive, preferentemente el tamaño de un apuntador de memoria de la máquina. Un tipo unsigned tiene el mismo tamaño que su versión signed.
  • 25. LA PALABRA RESERVADA "VOID" La palabra reservada void define en C++ el concepto de no existencia o no atribución de un tipo en una variable o declaración. Como tal, puede ser usada para destacar que una función no recibe parámetros, como en: int funcion (void);
  • 26. PRINCIPIOS La primera es la forma por omisión de un programa que no recibe parámetros ni argumentos. La segunda forma tiene dos parámetros: argc, un número que describe el número de argumentos del programa (incluyendo el nombre del programa mismo), y argv, un puntero a un array de punteros, de argc elementos, donde el elemento argv[i] representa el i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad de poder acceder a las variables de entorno de ejecución de la misma forma que se accede a los argumentos del programa, pero reflejados sobre la variable env. El tipo de retorno de main es int. Al finalizar la función main, debe incluirse el valor de retorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valores de retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir por medio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso el compilador es responsable de agregar la salida adecuada.
  • 27. EL CONCEPTO DE CLASE Los objetos en C++ son abstraídos mediante una clase. Según el paradigma de la programación orientada a objetos un objeto consta de: Identidad, que lo diferencía de otros objetos (Nombre que llevara la clase a la que pertenece dicho objeto). Métodos o funciones miembro Atributos o variables miembro Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.
  • 28. HERENCIA SIMPLE La herencia en C++ es un mecanismo de abstracción creado para poder facilitar y mejorar el diseño de las clases de un programa. Con ella se pueden crear nuevas clases a partir de clases ya hechas, siempre y cuando tengan un tipo de relación especial. En la herencia, las clases derivadas "heredan" los datos y las funciones miembro de las clases base, pudiendo las clases derivadas redefinir estos comportamientos (polimorfismo) y añadir comportamientos nuevos propios de las clases derivadas. Para no romper el principio de encapsulamiento (ocultar datos cuyo conocimiento no es necesario para el uso de las clases), se proporciona un nuevo modo de visibilidad de los datos/funciones: "protected". Cualquier cosa que tenga visibilidad protected se comportará como pública en la clase Base y en las que componen la jerarquía de herencia, y como privada en las clases que NO sean de la jerarquía de la herencia.
  • 29. SOBRECARGA DE OPERADORES Dado que estos operadores son definidos para un tipo de datos definido por el usuario, éste es libre de asignarles cualquiera semántica que desee. Sin embargo, se considera de primera importancia que las semánticas sean tan parecidas al comportamiento natural de los operadores como para que el uso de los operadores sobrecargados sea intuitivo. Por ejemplo, el uso del operador unario - debiera cambiar el "signo" de un "valor". Los operadores sobrecargados no dejan de ser funciones, por lo que pueden devolver un valor, si este valor es del tipo de datos con el que trabaja el operador, permite el encadenamiento de sentencias. Por ejemplo, si tenemos 3 variables A,B y C de un tipo T y sobrecargamos el operador = para que trabaje con el tipo de datos T, hay dos opciones: si el operador no devuelve nada una sentencia como "A=B=C;" (sin las comillas) daría error, pero si se devuelve un tipo de datos T al implementar el operador, permitiría concatenar cuantos elementos se quisieran, permitiendo algo como "A=B=C=D=...;"