El diagrama de flujo
es la representacióngráfica del algoritmo o proceso. Se utilizaen disciplinas como la programación,la economía, los proces...
CaracterísticasUn diagrama de flujo siempre tiene unúnico punto de inicio y un único punto detérmino.Las siguientes son ac...
Los pasos a seguir para construir eldiagrama de flujo son:Establecer el alcance del proceso adescribir. De esta manera que...
Ventajas de los diagramas de flujoFavorecen la comprensión del proceso al mostrarlocomo un dibujo. El cerebro humano recon...
Tipos de diagramas de flujoFormato vertical: En él, el flujo o la secuencia de lasoperaciones, va de arriba hacia abajo. E...
Simbología y significadoÓvalo o Elipse: Inicio y término (Abre y/ocierra el diagrama).Rectángulo: Actividad (Representa la...
Simbología y normas del cursogramaCírculo: Procedimiento estandarizado.Cuadrado: Proceso de control.Línea ininterrumpida: ...
es el proceso dediseñar, codificar, depurar y mantenerel código fuente de programascomputacionales. El código fuente esesc...
HistoriaPara crear un programa, y que la computadora interprete y ejecute lasinstrucciones escritas en él, debe usarse un ...
Léxico y programaciónLa programación se rige por reglas y unconjunto más o menos reducido de órdenes,expresiones, instrucc...
Programas y algoritmosUn algoritmo es una secuencia no ambigua, finita y ordenada deinstrucciones que han de seguirse para...
CompilaciónEl programa escrito en un lenguaje deprogramación (fácilmente comprensible porel programador) es llamado progra...
Programación e ingeniería del softwareExiste una tendencia a identificar el proceso de creación de un programainformático ...
Referencias históricasLa primera programadora de computadoraconocida fue Ada Lovelace, hija deAnabella Milbanke Byron y Lo...
C++ es un lenguaje deprogramación diseñado a mediados de losaños 1980 por Bjarne Stroustrup. Laintención de su creación fu...
Actualmente existe un estándar,denominado ISO C++, al que se hanadherido la mayoría de los fabricantes decompiladores más ...
Tipos de datosC++ tiene los siguientes tipos fundamentales:•Caracteres: char (también es un entero), wchar_t•Enteros: shor...
Tamaños asociadosSegún la máquina y el compilador que se utilice los tipos primitivos puedenocupar un determinado tamaño e...
Wchar_tPara la versión del estándar que se publicó en 1998, se decidió añadir el tipo dedato wchar_t, que permite el uso d...
El concepto de claseVéase también: Clase (informática)Los objetos en C++ son abstraídosmediante una clase. Según el paradi...
ConstructoresVéase también: Constructor (informática)Son unos métodos especiales que se ejecutanautomáticamente al crear u...
DestructoresVéase también: Destructor (informática)Los destructores son funciones miembro especialesllamadas automáticamen...
Digramas progr lengu mendez
Digramas progr lengu mendez
Digramas progr lengu mendez
Digramas progr lengu mendez
Digramas progr lengu mendez
Digramas progr lengu mendez
Upcoming SlideShare
Loading in …5
×

Digramas progr lengu mendez

611 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
611
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Digramas progr lengu mendez

  1. 1. El diagrama de flujo
  2. 2. es la representacióngráfica del algoritmo o proceso. Se utilizaen disciplinas como la programación,la economía, los procesos industriales yla psicología cognitiva. Estos diagramasutilizan símbolos con significados biendefinidos que representan los pasos delalgoritmo, y representan el flujo deejecución mediante flechas que conectanlos puntos de inicio y de fin de proceso.
  3. 3. CaracterísticasUn diagrama de flujo siempre tiene unúnico punto de inicio y un único punto detérmino.Las siguientes son acciones previas a larealización del diagrama de flujo:Identificar las ideas principales a serincluidas en el diagrama de flujo. Debenestar presentes el dueño o responsable delproceso, los dueños o responsables delproceso anterior y posterior y de otrosprocesos interrelacionados, otras partesinteresadas.Definir qué se espera obtener deldiagrama de flujo.Identificar quién lo empleará y cómo.Establecer el nivel de detalle requerido.Determinar los límites del proceso adescribir.
  4. 4. Los pasos a seguir para construir eldiagrama de flujo son:Establecer el alcance del proceso adescribir. De esta manera quedará fijado elcomienzo y el final del diagrama.Frecuentemente el comienzo es la salidadel proceso previo y el final la entrada alproceso siguiente.Identificar y listar las principalesactividades/subprocesos que estánincluidos en el proceso a describir y suorden cronológico.Si el nivel de detalle definido incluyeactividades menores, listarlas también.Identificar y listar los puntos de decisión.Construir el diagrama respetando lasecuencia cronológica y asignando loscorrespondientes símbolos.Asignar un título al diagrama y verificarque esté completo y describa con exactitudel proceso elegido.
  5. 5. Ventajas de los diagramas de flujoFavorecen la comprensión del proceso al mostrarlocomo un dibujo. El cerebro humano reconoce muyfácilmente los dibujos. Un buen diagrama de flujoreemplaza varias páginas de texto.Permiten identificar los problemas y las oportunidadesde mejora del proceso. Se identifican los pasos, losflujos de los re-procesos, los conflictos de autoridad,las responsabilidades, los cuellos de botella, y lospuntos de decisión.Muestran las interfaces cliente-proveedor y lastransacciones que en ellas se realizan, facilitando alos empleados el análisis de las mismas.Son una excelente herramienta para capacitar a losnuevos empleados y también a los que desarrollan latarea, cuando se realizan mejoras en el proceso.Al igual que el pseudocódigo, el diagrama de flujo confines de análisisde algoritmos de programación puede ser ejecutadoen un ordenador, con un Ide como Free DFD.
  6. 6. Tipos de diagramas de flujoFormato vertical: En él, el flujo o la secuencia de lasoperaciones, va de arriba hacia abajo. Es una listaordenada de las operaciones de un proceso con toda lainformación que se considere necesaria, según supropósito.Formato horizontal: En él, el flujo o la secuencia de lasoperaciones, va de izquierda a derecha.Formato panorámico: El proceso entero estárepresentado en una sola carta y puede apreciarse deuna sola mirada mucho más rápido que leyendo el texto,lo que facilita su comprensión, aún para personas nofamiliarizadas. Registra no solo en línea vertical, sinotambién horizontal, distintas acciones simultáneas y laparticipación de más de un puesto o departamento queel formato vertical no registra.Formato Arquitectónico: Describe el itinerario de ruta deuna forma o persona sobre el plano arquitectónico delárea de trabajo. El primero de los flujogramas eseminentemente descriptivo, mientras que los utilizadosson fundamentalmente representativos.
  7. 7. Simbología y significadoÓvalo o Elipse: Inicio y término (Abre y/ocierra el diagrama).Rectángulo: Actividad (Representa laejecución de una o más actividades oprocedimientos).Rombo: Decisión (Formula una pregunta ocuestión).Círculo: Conector (Representa el enlacede actividades con otra dentro de unprocedimiento).Triángulo boca abajo: Archivo definitivo(Guarda un documento en formapermanente).Triángulo boca arriba: Archivo temporal(Proporciona un tiempo para elalmacenamiento del documento).
  8. 8. Simbología y normas del cursogramaCírculo: Procedimiento estandarizado.Cuadrado: Proceso de control.Línea ininterrumpida: Flujo de información víaformulario o documentación en soporte de papel escrito.Línea interrumpida: Flujo de información vía formulariodigital.Rectángulo: Formulario o documentación. Se grafica conun 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 anchoque 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.
  9. 9. es el proceso dediseñar, codificar, depurar y mantenerel código fuente de programascomputacionales. El código fuente esescrito en un lenguaje de programación. Elpropósito de la programación es crearprogramas que exhiban uncomportamiento deseado. El proceso deescribir código requiere frecuentementeconocimientos en varias áreasdistintas, además del dominio del lenguajea utilizar, algoritmos especializados ylógica formal. Programar no involucranecesariamente otras tareas tales como elanálisis y diseño de la aplicación (pero síel diseño del código), aunque sí suelenestar fusionadas en el desarrollo depequeñas aplicaciones.
  10. 10. HistoriaPara crear un programa, y que la computadora interprete y ejecute lasinstrucciones escritas en él, debe usarse un Lenguaje de programación.En sus inicios las computadoras interpretaban sólo instrucciones en un lenguajeespecífico, del más bajo nivel, conocido como código máquina, siendo ésteexcesivamente complicado para programar. De hecho sólo consiste en cadenasde números 1 y 0 (Sistema binario).Para facilitar el trabajo de programación, los primeros científicos que trabajabanen el área decidieron reemplazar las instrucciones, secuencias de unos yceros, por palabras o letras provenientes del inglés; codificándolas así y creandoun lenguaje de mayor nivel, que se conoce como Assembly o lenguajeensamblador. Por ejemplo, para sumar se usa la letra A de la palabrainglesa add (sumar). En realidad escribir en lenguaje ensamblador esbásicamente lo mismo que hacerlo en lenguaje máquina, pero las letras ypalabras son bastante más fáciles de recordar y entender que secuencias denúmeros binarios.A medida que la complejidad de las tareas que realizaban las computadorasaumentaba, se hizo necesario disponer de un método sencillo para programar.Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivialcomo multiplicar dos números puede necesitar un conjunto de instrucciones enlenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una.Una vez que se termina de escribir un programa, sea en ensamblador o en unlenguaje de alto nivel, es necesario compilarlo, es decir, traducirlo a lenguajemáquina.
  11. 11. Léxico y programaciónLa programación se rige por reglas y unconjunto más o menos reducido de órdenes,expresiones, instrucciones y comandos quetienden a asemejarse a una lengua naturalacotada (en inglés); y que además tienen laparticularidad de una reducida ambigüedad.Cuanto menos ambiguo es un lenguaje deprogramación, se dice, es más potente. Bajoesta premisa, y en el extremo, el lenguaje máspotente existente es el binario, conambigüedad nula (lo cual lleva a pensar asídel lenguaje ensamblador).En los lenguajes de programación de alto nivelse distinguen diversos elementos entre losque se incluyen el léxico propio del lenguaje ylas reglas semánticas y sintácticas.
  12. 12. Programas y algoritmosUn algoritmo es una secuencia no ambigua, finita y ordenada deinstrucciones que han de seguirse para resolver un problema. Unprograma normalmente implementa (traduce a un lenguaje deprogramación concreto) uno o más algoritmos. Un algoritmo puedeexpresarse de distintas maneras: en forma gráfica, comoun diagrama de flujo, en forma de código como en pseudocódigo oun lenguaje de programación, en forma explicativa, etc.Los programas suelen subdividirse en partes menores, llamadasmódulos, de modo que la complejidad algorítmica de cada una delas partes sea menor que la del programa completo, lo cual ayudaal desarrollo del programa. Esta es una práctica muy utilizada y seconoce como "refino progresivo".Según Niklaus Wirth, un programa está formado porlos algoritmos y la estructura de datos.Se han propuesto diversas técnicas de programación cuyo objetivoes mejorar tanto el proceso de creación de software como sumantenimiento. Entre ellas, se pueden mencionar las siguientes:Programación estructuradaProgramación modularProgramación orientada a objetos (POO)Programación declarativa
  13. 13. CompilaciónEl programa escrito en un lenguaje deprogramación (fácilmente comprensible porel programador) es llamado programa fuente y no sepuede ejecutar directamente en una computadora. Laopción más común es compilar el programa obteniendoun módulo objeto, aunque también puede ejecutarse enforma más directa a través de un intérprete informático.El código fuente del programa se debe someter aun proceso de traducción para convertirlo en lenguajemáquina, código éste directamente ejecutable porel procesador. A este proceso se le llama compilación.Normalmente la creación de un programa ejecutable (untípico.exe para Microsoft Windows o DOS) conlleva dospasos. El primer paso se llama compilación(propiamente dicho) y traduce el código fuente escritoen un lenguaje de programación almacenado en unarchivo a código en bajo nivel (normalmente en códigoobjeto, no directamente a lenguaje máquina).
  14. 14. Programación e ingeniería del softwareExiste una tendencia a identificar el proceso de creación de un programainformático con la programación, que es cierta cuando se trata de programaspequeños para uso personal, y que dista de la realidad cuando se trata degrandes proyectos.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 oidentificar la posibilidad de automatización de una tarea.Recoger los requisitos del programa. Debe quedar claro qué es lo que debehacer el programa y para qué se necesita.Realizar el análisis de los requisitos del programa. Debe quedar claro cómo deberealizar el programa las cosas que debe hacer. Las pruebas que comprueben lavalidez del programa se pueden especificar en esta fase.Diseñar la arquitectura del programa. Se debe descomponer el programa enpartes de complejidad abordable.Implementar el programa. Consiste en realizar un diseño detallado,especificando completamente todo el funcionamiento del programa, tras lo cualla codificación (programación propiamente dicha) debería resultar inmediata.Implantar (instalar) el programa. Consiste en poner el programa enfuncionamiento junto con los componentes que pueda necesitar (bases de datos,redes de comunicaciones, etc.)
  15. 15. Referencias históricasLa primera programadora de computadoraconocida fue Ada Lovelace, hija deAnabella Milbanke Byron y Lord Byron.Anabella introdujo en las matemáticas aAda quien, después de conocer aCharlesBabbage, tradujo y amplió una descripciónde su máquina analítica. Incluso aunqueBabbage nunca completó la construcciónde cualquiera de sus máquinas, el trabajoque Ada realizó con éstas le hizo ganarseel título de primera programadora decomputadoras del mundo. El nombredel lenguaje de programación Ada fueescogido como homenaje a estaprogramadora.No olvidemos que este proceso estáaplicado a todos los métodos científicosque actualmente se practican.
  16. 16. C++ es un lenguaje deprogramación diseñado a mediados de losaños 1980 por Bjarne Stroustrup. Laintención de su creación fue el extender alexitoso lenguaje de programación C conmecanismos que permitan la manipulaciónde objetos. En ese sentido, desde el puntode vista de loslenguajes orientados aobjetos, el C++ es un lenguaje híbrido.Posteriormente se añadieron facilidadesde programación genérica, que se sumó alos otros dos paradigmas que ya estabanadmitidos (programación estructurada yla programación orientada a objetos). Poresto se suele decir que el C++ esun lenguaje de programaciónmultiparadigma.
  17. 17. Actualmente existe un estándar,denominado ISO C++, al que se hanadherido la mayoría de los fabricantes decompiladores más modernos. Existentambién algunos intérpretes, tales comoROOT.Una particularidad del C++ es laposibilidad de redefinir los operadores, yde poder crear nuevos tipos que secomporten como tipos fundamentales.El nombre C++ fue propuesto por RickMascitti en el año 1983, cuando ellenguaje fue utilizado por primera vez fuerade un laboratorio científico. Antes se habíausado el nombre "C con clases". En C++,la expresión "C++" significa "incremento deC" y se refiere a que C++ es una extensiónde C.
  18. 18. Tipos de datosC++ 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: voidEl modificador unsigned se puede aplicar a enteros para obtenernúmeros sin signo (por omisión los enteros contienen signo), conlo que se consigue un rango mayor de números naturales.
  19. 19. Tamaños asociadosSegún la máquina y el compilador que se utilice los tipos primitivos puedenocupar un determinado tamaño en memoria. La siguiente lista ilustra elnúmero de bits que ocupan los distintos tipos primitivos en laarquitectura x86.Otras arquitecturas pueden requerir distintos tamaños de tipos de datosprimitivos. 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 exactamenteun byte compuesto de un mínimo de 8 bits independientemente de laarquitectura de la máquina.•El tamaño reconocido de char es de 1. Es decir, sizeof(char) siempredevuelve 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.
  20. 20. Wchar_tPara la versión del estándar que se publicó en 1998, se decidió añadir el tipo dedato wchar_t, que permite el uso de caracteres UNICODE, a diferencia deltradicional char, que contempla simplemente al código de caracteres ASCIIextendido. A su vez, se ha definido para la mayoría de las funciones y clases, tantode C como de C++, una versión para trabajar con wchar_t, donde usualmente seprefija el carácter w al nombre de la función (en ocasiones el carácter es un infijo).Por ejemplo:•strcpy - wstrcpy•std::string - std::wstring•std::cout - std::wcout
  21. 21. El concepto de claseVéase también: Clase (informática)Los objetos en C++ son abstraídosmediante una clase. Según el paradigmade la programación orientada a objetos unobjeto consta de:Identidad, que lo diferencía de otrosobjetos (Nombre que llevara la clase a laque pertenece dicho objeto).Métodos o funciones miembroAtributos o variables miembroUn ejemplo de clase que podemos tomares la clase perro. Cada perro comparteunas características (atributos). Su númerode patas, el color de su pelaje o su tamañoson algunos de sus atributos. Lasfunciones que lo hagan ladrar, cambiar sucomportamiento... esas son las funcionesde la clase.
  22. 22. ConstructoresVéase también: Constructor (informática)Son unos métodos especiales que se ejecutanautomáticamente al crear un objeto de la clase. Ensu declaración no se especifica el tipo de dato quedevuelven, y poseen el mismo nombre que la clasea la que pertenecen. Al igual que otros métodos,puede haber varios constructores sobrecargados,aunque no pueden existir constructores virtuales.Como característica especial a la hora deimplementar un constructor, justo después de ladeclaración de los parámetros, se encuentra lo quese llama "lista de inicializadores". Su objetivo esllamar a los constructores de los atributos queconforman el objeto a construir.Cabe destacar que no es necesario declarar unconstructor al igual que un destructor, pues elcompilador lo puede hacer, aunque no es la mejorforma de programar.
  23. 23. DestructoresVéase también: Destructor (informática)Los destructores son funciones miembro especialesllamadas automáticamente en la ejecución delprograma, y por tanto no tienen por qué ser llamadasexplícitamente por el programador. Sus principalescometidos son:Liberar los recursos computacionales que el objeto dedicha clase haya adquirido en tiempo de ejecución alexpirar éste.Quitar los vínculos que pudiesen tener otros recursos uobjetos con éste.Los destructores son invocados automáticamente alalcanzar el flujo del programa el fin del ámbito en elque está declarado el objeto. El único caso en el quese debe invocar explícitamente al destructor de unobjeto, es cuando éste fue creado mediante eloperador new, es decir, que éste vive en memoriaheap, y no en la pila de ejecución del programa. Lainvocación del destructor de un objeto que vive enheap se realiza a través del operador delete o delete[]para arreglos.

×