Your SlideShare is downloading. ×
Diagrama de flujo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Diagrama de flujo

3,008

Published on

programacion lenguaje C++ conceptos e historias

programacion lenguaje C++ conceptos e historias

1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,008
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
1
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DIAGRAMA DE FLUJO Pedro Sebastián lazo Ortiz
  • 2. INDICEDIAGRAMA DE FLUJO «CONCEPTO ENTRE OTRAS COSAS » PROGRAMACION LENGUAJE C++
  • 3. DIAGRAMA DE FLUJO «CONCEPTO»El diagrama de flujo es la representación gráficadel algoritmo o proceso. Se utiliza en disciplinascomo la programación, la economía, los procesosindustriales y la psicología cognitiva. Estosdiagramas utilizan símbolos con significados biendefinidos que representan los pasos del algoritmo,y representan el flujo de ejecución medianteflechas que conectan los puntos de inicio y de finde proceso.
  • 4. CARACTERÍSTICASUn 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 eldueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y deotros 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 finaldel diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada alproceso siguiente.Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso adescribir 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 correspondientessímbolos.Asignar un título al diagrama y verificar que esté completo y describa con exactitud el procesoelegido.
  • 5. VENTAJAS DE LOS DIAGRAMAS DE FLUJOFavorecen la comprensión del proceso al mostrarlo como un dibujo. Elcerebro humano reconoce muy fácilmente los dibujos. Un buendiagrama de flujo reemplaza varias páginas de texto.Permiten identificar los problemas y las oportunidades de mejora delproceso. Se identifican los pasos, los flujos de los re-procesos, losconflictos de autoridad, las responsabilidades, los cuellos de botella, ylos puntos de decisión.Muestran las interfaces cliente-proveedor y las transacciones que enellas se realizan, facilitando a los empleados el análisis de las mismas.Son una excelente herramienta para capacitar a los nuevos empleadosy también a los que desarrollan la tarea, cuando se realizan mejoras enel proceso.Al igual que el pseudocódigo, el diagrama de flujo con fines de análisisde algoritmos de programación puede ser ejecutado en unordenador, con un Ide como Free DFD.
  • 6. TIPOS DE DIAGRAMAS DE FLUJOFormato vertical: En él, el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Esuna lista ordenada de las operaciones de un proceso con toda la información que seconsidere necesaria, según su propósito.Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda aderecha.Formato panorámico: El proceso entero está representado en una sola carta y puedeapreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita sucomprensión, aún para personas no familiarizadas. Registra no solo en línea vertical, sinotambién horizontal, distintas acciones simultáneas y la participación de más de un puesto odepartamento que el formato vertical no registra.Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el planoarquitectónico del área de trabajo. El primero de los flujogramas es eminentementedescriptivo, 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 oprocedimientos).Rombo: Decisión (Formula una pregunta o cuestión).Círculo: Conector (Representa el enlace de actividades con otra dentro de unprocedimiento).Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente).Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamientodel documento).
  • 8. IMAGEN SIMBOLOGIA
  • 9. HISTORIALa paternidad del diagrama de flujo es en principio algo difusa. El métodoestructurado para documentar graficamente un proceso como un flujo depasos sucesivo y alternativos, el "proceso de diagrama de flujo", fueexpuesto por Frank Gilbreth, en la Sociedad Americana de IngenierosMecá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 comométodo propio de la informática disminuyó, con el nuevo hardware y losnuevos lenguajes de programación de tercera generación. Y por otra partese convirtieron en instrumentos comunes en el mundo empresarial. Sonuna expresión concisa, legible y práctica de algoritmos. Actualmente seaplican en muchos campos del conocimiento, especialmente comosimplificación y expresión lógica de procesos, etc.
  • 10. EJEMPLO DE DIAGRAMA DE FLUJO
  • 11. PROGRAMACION
  • 12. CONCEPTOLa programación es el proceso de diseñar, codificar, depurar y mantenerel código fuente de programas computacionales. El código fuente es escrito enun lenguaje de programación. El propósito de la programación es crear programasque exhiban un comportamiento deseado. El proceso de escribir código requierefrecuentemente conocimientos en varias áreas distintas, además del dominio dellenguaje a utilizar, algoritmos especializados y lógica formal. Programar noinvolucra necesariamente otras tareas tales como el análisis y diseño de laaplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en eldesarrollo de pequeñas aplicaciones.
  • 13. HISTORIAPara 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, delmás bajo nivel, conocido como código máquina, siendo éste excesivamente complicado paraprogramar. 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 áreadecidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letrasprovenientes del inglés; codificándolas así y creando un lenguaje de mayor nivel, que se conocecomo Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabrainglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo quehacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar yentender que secuencias de números binarios.
  • 14. LÉXICO Y PROGRAMACIÓNLa 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 unalengua natural acotada (en inglés); y que además tienen la particularidad de unareducida ambigüedad. Cuanto menos ambiguo es un lenguaje deprogramación, se dice, es más potente. Bajo esta premisa, y en el extremo, ellenguaje más potente existente es el binario, con ambigüedad nula (lo cual llevaa pensar así del lenguaje ensamblador).En los lenguajes de programación de alto nivel se distinguen diversos elementosentre los que se incluyen el léxico propio del lenguaje y las reglas semánticas ysintácticas.
  • 15. PROGRAMAS Y ALGORITMOSSe han propuesto diversas técnicas de programacióncuyo objetivo es mejorar tanto el proceso de creaciónde software como su mantenimiento. Entre ellas, sepueden mencionar las siguientes:Programación estructuradaProgramación modularProgramación orientada a objetos (POO)Programación declarativa
  • 16. COMPILACIÓNNormalmente la creación de un programa ejecutable (un típico.exe para MicrosoftWindows 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ónalmacenado en un archivo a código en bajo nivel (normalmente en código objeto, nodirectamente a lenguaje máquina). El segundo paso se llama enlazado en el cual seenlaza el código de bajo nivel generado de todos los ficheros y subprogramas que sehan mandado compilar y se añade el código de las funciones que hay en lasbibliotecas del compilador para que el ejecutable pueda comunicarse directamentecon el sistema operativo, traduciendo así finalmente el código objeto a códigomáquina, y generando un módulo ejecutable.
  • 17. PROGRAMACIÓN E INGENIERÍA DEL SOFTWAREEl proceso de creación de software, desde el punto de vista de la ingeniería, incluye lossiguientes pasos:Reconocer la necesidad de un programa para solucionar un problema o identificar laposibilidad de automatización de una tarea.Recoger los requisitos del programa. Debe quedar claro qué es lo que debe hacer elprograma y para qué se necesita.Realizar el análisis de los requisitos del programa. Debe quedar claro cómo debe realizar elprograma las cosas que debe hacer. Las pruebas que comprueben la validez del programase pueden especificar en esta fase.Diseñar la arquitectura del programa. Se debe descomponer el programa en partes decomplejidad abordable.Implementar el programa. Consiste en realizar un diseño detallado, especificandocompletamente todo el funcionamiento del programa, tras lo cual la codificación(programación propiamente dicha) debería resultar inmediata.
  • 18. REFERENCIAS HISTÓRICASLa primera programadora de computadora conocida fue Ada Lovelace,hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en lasmatemáticas a Ada quien, después de conocer aCharles Babbage,tradujo y amplió una descripción de su máquina analítica. Incluso aunqueBabbage nunca completó la construcción de cualquiera de susmáquinas, el trabajo que Ada realizó con éstas le hizo ganarse el títulode primera programadora de computadoras del mundo. El nombredel lenguaje de programación Ada fue escogido como homenaje a estaprogramadora.No olvidemos que este proceso está aplicado a todos los métodoscientíficos que actualmente se practican.
  • 19. OBJETIVOS DE LA PROGRAMACIÓNEs muy importante que el programa sea lo más claro y legible posible, parafacilitar así su desarrollo y posterior mantenimiento. Al elaborar un programa sedebe intentar que su estructura sea sencilla y coherente, así como cuidar el estiloen la edición; de esta forma se ve facilitado el trabajo del programador, tanto en lafase de creación como en las fases posteriores de corrección deerrores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadasincluso por otro programador, con lo cual la claridad es aún más necesaria paraque otros programadores puedan continuar el trabajo fácilmente. Algunosprogramadores llegan incluso a utilizar Arte ASCII para delimitar secciones decódigo. Otros, por diversión o para impedir un análisis cómodo a otrosprogramadores, recurren al uso de código ofuscado.
  • 20. IMAGEN
  • 21. LENGUAJE C++
  • 22. CONCEPTOC++ es un lenguaje de programación diseñado a mediadosde los años 1980 por Bjarne Stroustrup. La intención de sucreación fue el extender al exitoso lenguaje de programaciónC con mecanismos que permitan la manipulación de objetos.En ese sentido, desde el punto de vista de los lenguajesorientados a objetos, el C++ es un lenguaje híbrido.
  • 23. TIPOS DE DATOSC++ tiene los siguientes tipos fundamentales:Caracteres: char (también es un entero), wchar_tEnteros: short, int, long, long longNúmeros en coma flotante: float, double, long doubleBooleanos: boolVacío: voidEl 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 denúmeros naturales.
  • 24. TAMAÑOS ASOCIADOSOtras 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 estostipos; 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 compuestode 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++ elconcepto de no existencia o no atribución de untipo en una variable o declaración. Como tal, puedeser usada para destacar que una función no recibeparámetros, como en:int funcion (void);
  • 26. PRINCIPIOSLa primera es la forma por omisión de un programa que no recibe parámetros niargumentos. La segunda forma tiene dos parámetros: argc, un número que describe elnú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] representael i-ésimo argumento entregado al programa. En el tercer caso se añade la posibilidad depoder acceder a las variables de entorno de ejecución de la misma forma que se accede alos 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 deretorno (por ejemplo, return 0;, aunque el estándar prevé solamente dos posibles valoresde retorno: EXIT_SUCCESS y EXIT_ERROR, definidas en el archivo cstddef), o salir pormedio de la función exit. Alternativamente puede dejarse en blanco, en cuyo caso elcompilador es responsable de agregar la salida adecuada.
  • 27. EL CONCEPTO DE CLASELos objetos en C++ son abstraídos mediante una clase. Según el paradigma de laprogramación orientada a objetos un objeto consta de:Identidad, que lo diferencía de otros objetos (Nombre que llevara la clase a la quepertenece dicho objeto).Métodos o funciones miembroAtributos o variables miembroUn ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unascaracterísticas (atributos). Su número de patas, el color de su pelaje o su tamaño sonalgunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento...esas son las funciones de la clase.
  • 28. HERENCIA SIMPLELa herencia en C++ es un mecanismo de abstracción creado para poder facilitar ymejorar el diseño de las clases de un programa. Con ella se pueden crear nuevasclases a partir de clases ya hechas, siempre y cuando tengan un tipo de relaciónespecial.En la herencia, las clases derivadas "heredan" los datos y las funciones miembro delas clases base, pudiendo las clases derivadas redefinir estos comportamientos(polimorfismo) y añadir comportamientos nuevos propios de las clases derivadas. Parano romper el principio de encapsulamiento (ocultar datos cuyo conocimiento no esnecesario para el uso de las clases), se proporciona un nuevo modo de visibilidad delos datos/funciones: "protected". Cualquier cosa que tenga visibilidad protected secomportará como pública en la clase Base y en las que componen la jerarquía deherencia, y como privada en las clases que NO sean de la jerarquía de la herencia.
  • 29. SOBRECARGA DE OPERADORESDado que estos operadores son definidos para un tipo de datos definido por el usuario, éste eslibre de asignarles cualquiera semántica que desee. Sin embargo, se considera de primeraimportancia que las semánticas sean tan parecidas al comportamiento natural de los operadorescomo para que el uso de los operadores sobrecargados sea intuitivo. Por ejemplo, el uso deloperador 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 desentencias. Por ejemplo, si tenemos 3 variables A,B y C de un tipo T y sobrecargamos eloperador = para que trabaje con el tipo de datos T, hay dos opciones: si el operador no devuelvenada una sentencia como "A=B=C;" (sin las comillas) daría error, pero si se devuelve un tipo dedatos T al implementar el operador, permitiría concatenar cuantos elementos se quisieran,permitiendo algo como "A=B=C=D=...;"
  • 30. IMAGEN C++

×