# data[].attributes.headline
Es el conjunto de pasos ordenados lógicamente para realizar una actividad o resolver un problema específico.

# data[].attributes.subject
Es el conjunto de pasos ordenados lógicamente para realizar una actividad o resolver un problema específico.

# data[].attributes.headline
Finitud, Entrada, Salida,  Definición, Efectividad.

# data[].attributes.subject
Finitud, Entrada, Salida,  Definición, Efectividad.

# data[].attributes.headline
Se deben seguir las siguientes pautas al desarrollar un algoritmo:

# data[].attributes.subject
Se deben seguir las siguientes pautas al desarrollar un algoritmo:

# data[].attributes.headline
Un algoritmo estará encerrado por START (o BEGIN) y STOP (o END).

# data[].attributes.subject
Un algoritmo estará encerrado por START (o BEGIN) y STOP (o END).

# data[].attributes.headline
Para aceptar datos del usuario, las declaraciones generalmente utilizadas son INPUT, READ, GET u OBTAIN.

# data[].attributes.subject
Para aceptar datos del usuario, las declaraciones generalmente utilizadas son INPUT, READ, GET u OBTAIN.

# data[].attributes.headline
Para mostrar el resultado o cualquier mensaje, las declaraciones de uso general son PRINT, DISPLAY o WRITE.

# data[].attributes.subject
Para mostrar el resultado o cualquier mensaje, las declaraciones de uso general son PRINT, DISPLAY o WRITE.

# data[].attributes.headline
Generalmente, se usa COMPUTE o CALCULATE al describir expresiones matemáticas y se pueden usar operadores relevantes basados ​​en la situación.

# data[].attributes.subject
Generalmente, se usa COMPUTE o CALCULATE al describir expresiones matemáticas y se pueden usar operadores relevantes basados ​​en la situación.

# data[].attributes.headline
Un lenguaje de programación es un vocabulario y un conjunto de reglas gramaticales para instruir a una computadora o dispositivo informático para que realice tareas específicas. 

# data[].attributes.subject
Un lenguaje de programación es un vocabulario y un conjunto de reglas gramaticales para instruir a una computadora o dispositivo informático para que realice tareas específicas. 

# data[].attributes.headline
Cada lenguaje de programación tiene un conjunto único de palabras clave (palabras que entiende) y una sintaxis especial para organizar las instrucciones del programa .

# data[].attributes.subject
Cada lenguaje de programación tiene un conjunto único de palabras clave (palabras que entiende) y una sintaxis especial para organizar las instrucciones del programa .

# data[].attributes.headline
Tipos de idioma. Lenguajes de máquina: consta de códigos numéricos para las operaciones que una computadora en particular puede ejecutar directamente. 

# data[].attributes.subject
Tipos de idioma. Lenguajes de máquina: consta de códigos numéricos para las operaciones que una computadora en particular puede ejecutar directamente. 

# data[].attributes.headline
Lenguajes de ensamblaje: está un nivel por encima del lenguaje de máquina. Utiliza códigos mnemónicos cortos para las instrucciones y permite al programador introducir nombres para los bloques de memoria que contienen datos. Por lo tanto, se podría escribir "agregar pago, total" en lugar de "0110101100101000" para una instrucción que suma dos números.

# data[].attributes.subject
Lenguajes de ensamblaje: está un nivel por encima del lenguaje de máquina. Utiliza códigos mnemónicos cortos para las instrucciones y permite al programador introducir nombres para los bloques de memoria que contienen datos. Por lo tanto, se podría escribir "agregar pago, total" en lugar de "0110101100101000" para una instrucción que suma dos números.

# data[].attributes.headline
-Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.

# data[].attributes.subject
-Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.

# data[].attributes.headline
-Es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por eso al código desarrollado al programar se le llama código fuente.

# data[].attributes.subject
-Es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por eso al código desarrollado al programar se le llama código fuente.

# data[].attributes.headline
En este Código se hace referencia entonces al funcionamiento general de una aplicación o una herramienta en particular, pero en un idioma que es comprensible por el Programador mediante la utilización de un Lenguaje de Programación determinado, que lleva sus propias reglas y excepciones.

# data[].attributes.subject
En este Código se hace referencia entonces al funcionamiento general de una aplicación o una herramienta en particular, pero en un idioma que es comprensible por el Programador mediante la utilización de un Lenguaje de Programación determinado, que lleva sus propias reglas y excepciones.

# data[].attributes.headline
Actualmente también es considerado como Código Fuente al lenguaje en el que está escrito un sitio web o alguna de sus Herramientas Web que estén presentes (por ejemplo, Javascript, HTML entre otros) para lo cual el intérprete de dichas codificaciones será el software que es conocido por todos como Navegador Web.

# data[].attributes.subject
Actualmente también es considerado como Código Fuente al lenguaje en el que está escrito un sitio web o alguna de sus Herramientas Web que estén presentes (por ejemplo, Javascript, HTML entre otros) para lo cual el intérprete de dichas codificaciones será el software que es conocido por todos como Navegador Web.

# data[].attributes.headline
-Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

# data[].attributes.subject
-Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

# data[].attributes.headline
-Es el resultado de traducir un programa fuente para obtener un lenguaje comprensible por la máquina

# data[].attributes.subject
-Es el resultado de traducir un programa fuente para obtener un lenguaje comprensible por la máquina

# data[].attributes.headline
Los objetos de programa contienen múltiples clases de texto, que se distinguen por atributos que controlan el comportamiento y las características de enlace y carga. Las clases son fundamentales para la compatibilidad con C y DLL.

# data[].attributes.subject
Los objetos de programa contienen múltiples clases de texto, que se distinguen por atributos que controlan el comportamiento y las características de enlace y carga. Las clases son fundamentales para la compatibilidad con C y DLL.

# data[].attributes.headline
Los atributos separados asignados a cada clase incluyen:

# data[].attributes.subject
Los atributos separados asignados a cada clase incluyen:

# data[].attributes.headline
LOAD: la clase se lleva a la memoria en el momento en que se carga el módulo

# data[].attributes.subject
LOAD: la clase se lleva a la memoria en el momento en que se carga el módulo

# data[].attributes.headline
CARGA DIFERIDA: la clase está preparada para la carga, pero no se crea una instancia hasta que se solicita. (LE utiliza con más frecuencia las clases diferidas para cargar múltiples copias de datos modificables dinámicamente)

# data[].attributes.subject
CARGA DIFERIDA: la clase está preparada para la carga, pero no se crea una instancia hasta que se solicita. (LE utiliza con más frecuencia las clases diferidas para cargar múltiples copias de datos modificables dinámicamente)

# data[].attributes.headline
NOLOAD: La clase no está cargada con el programa, por ejemplo, no es texto.

# data[].attributes.subject
NOLOAD: La clase no está cargada con el programa, por ejemplo, no es texto.

# data[].attributes.headline
RMODE 24 / ANY / 64: indica la ubicación de los segmentos dentro del almacenamiento virtual.

# data[].attributes.subject
RMODE 24 / ANY / 64: indica la ubicación de los segmentos dentro del almacenamiento virtual.

# data[].attributes.headline
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación, definido «código fuente»,  a otro lenguaje de alto (COBOL, PASCAL, BASIC, C, etc.), medio o más bajo nivel (código intermedio o código máquina) como puede ser C/C++.

# data[].attributes.subject
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación, definido «código fuente»,  a otro lenguaje de alto (COBOL, PASCAL, BASIC, C, etc.), medio o más bajo nivel (código intermedio o código máquina) como puede ser C/C++.

# data[].attributes.headline
Partes de un compilador.                                       Front-end o Analizador: Se habla de «analizador» ya que se encarga de realizar el análisis del código fuente a compilar, lo valida e interactúa con el usuario. Además, suele ser independiente de la plataforma en la que se trabaja. 

# data[].attributes.subject
Partes de un compilador.                                       Front-end o Analizador: Se habla de «analizador» ya que se encarga de realizar el análisis del código fuente a compilar, lo valida e interactúa con el usuario. Además, suele ser independiente de la plataforma en la que se trabaja. 

# data[].attributes.headline
-Back-end o Generador: Es la parte del compilador que, a partir de los resultados de análisis, se encarga de generar el código para la máquina según la plataforma específica.

# data[].attributes.subject
-Back-end o Generador: Es la parte del compilador que, a partir de los resultados de análisis, se encarga de generar el código para la máquina según la plataforma específica.

# data[].attributes.headline
-Análisis sintáctico:Los componentes léxicos ahora se agrupan jerárquicamente en frases gramaticales para analizar su estructura según reglas y patrones específicos.

# data[].attributes.subject
-Análisis sintáctico:Los componentes léxicos ahora se agrupan jerárquicamente en frases gramaticales para analizar su estructura según reglas y patrones específicos.

# data[].attributes.headline
Fases de análisis de un compilador                              -Análisis léxico: Reconocimiento de los elementos del lenguaje, agrupados en componentes llamados «tokens».    

# data[].attributes.subject
Fases de análisis de un compilador                              -Análisis léxico: Reconocimiento de los elementos del lenguaje, agrupados en componentes llamados «tokens».    

# data[].attributes.headline
-Análisis semántico: Se utiliza la estructura jerárquica determinada por la fase de análisis sintáctico para identificar eventuales errores  semánticos.

# data[].attributes.subject
-Análisis semántico: Se utiliza la estructura jerárquica determinada por la fase de análisis sintáctico para identificar eventuales errores  semánticos.

# data[].attributes.headline
-Generación del código intermedio: Después de las fases de análisis, se genera una representación de código intermedio para una máquina abstracta.

# data[].attributes.subject
-Generación del código intermedio: Después de las fases de análisis, se genera una representación de código intermedio para una máquina abstracta.

# data[].attributes.headline
-Optimización del código:Se mejora la representación de código intermedio para obtener un código más rápido de ejecutar.

# data[].attributes.subject
-Optimización del código:Se mejora la representación de código intermedio para obtener un código más rápido de ejecutar.

# data[].attributes.attachment_link.readable_text
Hace tiempo lanzamos esta pregunta en nuestras redes sociales (" ¿Qué fue antes, el programa o el compilador? ") y es por eso que hoy intentaremos encontrar una respuesta juntos.

¿Qué es un compilador en programación?

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación, definido "código fuente", a otro lenguaje de alto (COBOL, PASCAL, BASIC, C, etc.), medio o más bajo nivel (código intermedio o código máquina) como puede ser C/C++.

Por otro lado, un programa es el conjunto de instrucciones detalladas y codificadas que se dan a un ordenador para que realice o ejecute determinadas operaciones.

La importancia de los compiladores radica en que, sin estos programas no existiría ninguna aplicación informática, ya que son la base de la programación en cualquier plataforma. Es más, a partir del mismo código fuente, un compilador tiene la capacidad de producir código máquina en varias plataformas a la vez.

Así que, por tanto, tenemos la paradoja de que para hacer un programa, necesitamos un compilador, que a su vez es un programa informático.

Es importante no confundir el compilador con un "intérprete". Al igual que el compilador, el intérprete traduce un programa fuente escrito en algún lenguaje de alto nivel, pero con la diferencia que cada instrucción es ejecutada inmediatamente, sin generar un programa en lenguaje de máquina.

Partes de un compilador

Se habla de "analizador" ya que se encarga de realizar el análisis del código fuente a compilar, lo valida e interactúa con el usuario. Además, suele ser independiente de la plataforma en la que se trabaja.

Es la parte del compilador que, a partir de los resultados de análisis, se encarga de generar el código para la máquina según la plataforma específica.

Fases de análisis de un compilador

Reconocimiento de los elementos del lenguaje, agrupados en componentes llamados "tokens".

Los componentes léxicos ahora se agrupan jerárquicamente en frases gramaticales para analizar su estructura según reglas y patrones específicos.

Se utiliza la estructura jerárquica determinada por la fase de análisis sintáctico para identificar eventuales errores semánticos.

Después de las fases de análisis, se genera una representación de código intermedio para una máquina abstracta.

Se mejora la representación de código intermedio para obtener un código más rápido de ejecutar.

¿Quién creó el primer compilador?

Grace Hopper, Doctora en Matemáticas y Almirante del Ejército Norteamericano.

Estaba convencida de que los ordenadores podían llegar a un público más amplio y comercial si los procedimientos para programar se volvían más amistosos y si pudieran ser entendibles para los no matemáticos.

Ella pensaba que los ordenadores se tenían que poder escribir en inglés.

En 1949, tras seguir su convicción, desarrolló una técnica que traducía los símbolos matemáticos a un código de instrucción binario y que era entendible por la máquina.

Esto no era otra cosa sino el primer programa compilador, que fue presentado 3 años más tarde por Hopper y su equipo.

Las bases de los lenguajes de programación modernos fueron establecidas desde ese momento.

¿Cuál fue el primer programa informático de la historia?

Pero, ¿y si nos preguntamos por el primer programa informático de la historia?, pues entonces es cuando nos tenemos que retrotraer al S.XIX, nada más y nada menos, ya que Ada Byron, alias Lady Lovelace, también conocida como " Ada Lovelace", fue una matemática y escritora inglesa y está considerada como la primera programadora de la historia por sus trabajos en el primer algoritmo destinado a ser procesado por una máquina.

Así que si le hacemos caso a la historia, duda resuelta: primero fue el programa y después el compilador.

Desarrollo de software y programación embebida

En Tribalyte Technologies somos expertos desarrolladores de soluciones tecnológicas a medida. Consulta nuestros casos de éxito y contáctanos ahora mismo sin compromiso para cualquier necesidad.

CONSULTA NUESTROS CASOS DE ÉXITO

# data[].attributes.attachment_link.title
Programa o Compilador | ¿Qué fue primero? ¿Quién lo inventó?

# data[].attributes.attachment_link.description
Hace tiempo lanzamos esta pregunta en nuestras redes sociales (" ¿Qué fue antes, el programa o el compilador? ") y es por eso que hoy intentaremos encontrar una respuesta juntos.

# data[].attributes.headline
 Se denomina como pseudocódigo a un método usado para visualizar la solución de un algoritmo de manera detallada.

# data[].attributes.subject
 Se denomina como pseudocódigo a un método usado para visualizar la solución de un algoritmo de manera detallada.

# data[].attributes.headline
El pseudocódigo es una manera relativamente sencilla de expresar los distintos pasos que debe realizar un programa hasta alcanzar su objetivo, sin tener que ejemplificar el mismo y tener que desarrollarlo en un lenguaje de programación específico, con lo cual estaríamos limitando el diseño a las características propias del lenguaje de programación utilizado.

# data[].attributes.subject
El pseudocódigo es una manera relativamente sencilla de expresar los distintos pasos que debe realizar un programa hasta alcanzar su objetivo, sin tener que ejemplificar el mismo y tener que desarrollarlo en un lenguaje de programación específico, con lo cual estaríamos limitando el diseño a las características propias del lenguaje de programación utilizado.

# data[].attributes.headline
Las principales características de este lenguaje son:                                                                                         -Se puede ejecutar en un ordenado.                         -Es una forma de representación sencilla de utilizar y de manipular.                                                   -Facilita el paso del programa al lenguaje de programación.                                                                    -Es independiente del lenguaje de programación que se vaya a utilizar.                        -Es un método que facilita la programación y solución al algoritmo del programa.                                

# data[].attributes.subject
Las principales características de este lenguaje son:                                                                                         -Se puede ejecutar en un ordenado.                         -Es una forma de representación sencilla de utilizar y de manipular.                                                   -Facilita el paso del programa al lenguaje de programación.                                                                    -Es independiente del lenguaje de programación que se vaya a utilizar.                        -Es un método que facilita la programación y solución al algoritmo del programa.                                

# data[].attributes.headline
Cuerpo:                                                                                                                       -Inicio        -Instrucciones                                                                                 - Fin                                                  

# data[].attributes.subject
Cuerpo:                                                                                                                       -Inicio        -Instrucciones                                                                                 - Fin                                                  

# data[].attributes.attachment_link.readable_text
La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos, dicho de otra forma: la resolución del problema por medio de un programa informático debe funcionar para el uso de distintas variables y en diferentes lenguajes de cómputo. Esa es principalmente la función de un pseudocódigo.

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados. .

El pseudocódigo (o falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es programable sino facilita la programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo

El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until....etc

Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.

El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.

Según Analía Lanzillotta: "Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.

El objetivo al que apunta es que quien lo pone en práctica se centre más en la solución del algoritmo o el diseño de un software que en el programa que utiliza para crearlo. Y esto es posible porque es más fácil de manipular ya que no tiene que tener en mente el lenguaje en sí y además, más fácil de codificar.

Por ejemplo, si alguien tiene que hacer un software con un fin determinado, utiliza un pseudocódigo propio en donde confluyen frases del lenguaje coloquial y algunas palabras de programación, y una vez que se logra concretar el software, se puede pasar al escalón siguiente que es el de la transformación al lenguaje de programación formal que se vaya a utilizar.

De esta manera, al ser un lenguaje intermedio, no tiene una composición estandarizada por lo que no todos los programadores utilizan la misma sintaxis con exactitud. Pero a la vez, como es una herramienta que está un paso previo al lenguaje formal de programación, es fácil de transformar al que será ejecutado en la computadora.

CARACTERÍSTICAS Y PARTES:

Las principales características de este lenguaje son: * Se puede ejecutar en un ordenador * Es una forma de representación sencilla de utilizar y de manipular. * Facilita el paso del programa al lenguaje de programación. * Es independiente del lenguaje de programación que se vaya a utilizar. * Es un método que facilita la programación y solución al algoritmo del programa. Todo documento en pseudocódigo debe permitir la descripción de: * Instrucciones primitivas. * Instrucciones de proceso. * Instrucciones de control. * Instrucciones compuestas. * Instrucciones de descripción. Estructura a seguir en su realización: * Cabecera. * Programa. * Modulo. * Tipos de datos. * Constantes. * Variables. * Cuerpo. * Inicio. * Instrucciones. * Fin.

Instrucción condicional doble. El ordenador evaluará la condición, que debe ser una expresión lógica. Si es verdadera, realiza las acciones-1, y, si es falsa, las acciones-2.Instrucción condicional simple. Es igual pero carece de la rama "si_no", de modo que, si la expresión de falsa, no se realiza ninguna acción y la ejecución continúa por la siguiente instrucción

Instrucción condicional múltiple. Se utiliza cuando hay más de dos condiciones posibles (verdadero o falso) . Se evalúa la expresión, que suele ser de tipo entero, y se busca un valor en la lista valor1, valor2,... valorN que coincida con ella, realizándose las acciones asociadas al valor coincidente.Si ningún valor de la lista coincide con la expresión del "según", se realizan las acciones de la parte "si_no".

Bucle mientras. Las acciones se repiten en tanto la condición, que debe ser una expresión lógica, sea verdadera. La condición se evalúa antes de entrar al bloque de acciones, de modo que pueden no ejecutarse ninguna vez.

Bucle repetir. Las acciones se repiten en tanto que la condición, que debe ser una expresión lógica, sea verdadera. Se parece mucho al anterior, pero la condición se evalúa al final del bucle, por lo que éste se ejecuta, como mínimo, una vez

para variable desde expr-ini hasta expr-fin hacer

Bucle para. Se evalúa la expresión expr-ini, que debe ser de tipo entero, y se asigna ese valor a la variable. Dicha variable se incrementa en una unidad en cada repetición de las acciones. Las acciones se repiten hasta que la variable alcanza el valor expr-fin.

Ejercicio : Se requiere preguntar dos valores, y a continuación ofrecer un menú con las operaciones básicas (+, -, *, /). Después de presentar el resultado se ofrecerá la posibilidad de una nueva operación. Declaración de variables : Real : X, Y, RESPUESTA Entero : OPCION Carácter : OP Inicio Repetir escribir('Primer valor : ' ) leer(X) escribir('Segundo valor : ') leer(Y) escribir('1) Suma ') escribir('2) Resta ') escribir('3) Multiplicación ') escribir('4) División ') escribir('Qué operación deseas realizar ? : ') leer(OPCION) casos OPCION de 1 : RESULTADO X+Y 2 : RESULTADO X-Y 3 : RESULTADO X*Y 4 : si Y=0 entonces escribir(' Error ') RESULTADO 0 en caso contrario RESULTADO X/Y escribir ('Resultado : ',RESULTADO) escribir('Deseas otro cálculo : [S/N] ') leer(OP) Hasta que RES = 'N' Fin Ejercicio : Preguntar un nombre y repetirse en pantalla tantas veces como se desee. (preguntar cantidad de repeticiones), indicando el número de repetición. Declaración de variables Cadena : nom entero : x, n Inicio escribir('Nombre : ') leer(nom) escribir('Cuántas veces quieres repetirlo ? : ') leer(n) para x 1 hasta n hacer escribir(x'.- ', nom)

En los siguientes casos, escribir el pseudocódigo que resuelva los siguientes problemas

1. Con el pseudocódigo que imprima "Hola Mundo".

2. Con el pseudocódigo que imprima los primeros 10 números enteros.

3. Con el pseudocódigo que pida un nombre y que después lo escriba.

4. Con el pseudocódigo que pida nombre, edad, registro, y calificación y

5. Con pseudocódigo del juego "un volado" con una moneda.

6. Con pseudocódigo del juego un volado con una moneda.

7. Con pseudocódigo que imprima los números pares menores a 20.

8. Hacer un pseudocódigo que admita un número y decida si es par o impar.

9. Hacer un pseudocódigo para calcular las raíces de una ecuación cuadrática en todos sus casos.

10. Hacer un pseudocódigo para decidir si un número es divisible por 3 o no.

11. Hacer un pseudocódigo para decidir si cual número es mayor si el número de vocales o el número de consonantes.

12. Hacer un pseudocódigo que reciba datos de una persona y le de una categoría según el siguiente criterio:

) Adulto profesionista, si tiene un título y trabajo y tiene entre 20 y 50 años.

) Adulto desempleado, si no tiene trabajo y tiene entre 20 y 50 años.

) Joven estudiante, si estudia y tiene entre 15 y 20 años.

) Joven desempleado, si no estudia y tiene entre 15 y 20 años.

) Joven empleado, si no tiene título y trabaja, entre 15 y 20 años de edad.

13. Hacer un pseudocódigo que reciba la fecha de nacimiento y te de su signo del Zodiaco.

Problemas de Diagrama de flujo de datos y Programacion. [EN LINEA]

# data[].attributes.attachment_link.description
La importancia de sistematizar procesos y crear programas de cómputo radica esencialmente en que estos se puedan utilizar como resolución de problemas similares en muchos casos, dicho de otra forma: la resolución del problema por medio de un programa informático debe funcionar para el uso de distintas variables y en diferentes lenguajes de cómputo.

# data[].attributes.attachment_link.title
Pseudocódigo - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
Generalmente se utiliza pseudocódigo en los libros de texto y publicaciones científicas relacionadas con la informática y la computación numérica, para la descripción de algoritmos, de manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo lenguaje de programación.

# data[].attributes.headline
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. 

# data[].attributes.subject
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. 

# data[].attributes.attachment_link.title
¿Qué es un diagrama de flujo? | Lucidchart

# data[].attributes.attachment_link.description
Esta guía completa brinda todo lo que debes saber sobre los diagramas de flujo, incluidas definiciones, historia, casos de uso, símbolos, recomendaciones y más.

# data[].attributes.attachment_link.readable_text
Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.

Diagrama de actividades para un loop (bucle)

El diagrama de flujo o flujograma o diagrama de actividades es la representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos de trabajo paso a paso. Un diagrama de actividades muestra el flujo de control general.

En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.

Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin del proceso.

Las siguientes son acciones previas a la realización del diagrama de flujo:

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.

Prueba para ver errores

En UML 1.x, un diagrama de actividades es una variación del diagrama de estado UNL donde los "estados" representan operaciones, y las transiciones representan las actividades que ocurren cuando la operación se termina.

El diagrama de mensajes de UML 2.0, mientras que es similar en aspecto al diagrama de actividades UML 1.x, ahora tiene semánticas basadas en redes de Petri. En UML 2.0, el diagrama general de interacción está basado en el diagrama de actividades. El diagrama de actividad es una forma especial de diagrama de estado usado para modelar una secuencia de acciones y condiciones tomadas dentro de un proceso.

La especificación del Lenguaje de Notificación Unificado (UNL) define un diagrama de actividad como:

"... una variación de los estados de una máquina, los cuales representan el rendimiento de las acciones o subactividades y las transiciones se provocan por la realización de las acciones o subactividades."

El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo (workflow) y/o modelar operaciones.

Una operación es un servicio proporcionado por un objeto, que está disponible a través de una interfaz.

Una interfaz es un grupo de operaciones relacionadas con la semántica.

1.- Según Gómez Cejas, Guillermo. Año 1997:

1. Sintética: La representación que se haga de un sistema o un proceso deberá quedar resumido en pocas hojas, de preferencia en una sola. Los diagramas extensivos dificultan su comprensión y asimilación, por tanto dejan de ser prácticos.

2. Simbolizada: La aplicación de la simbología adecuada a los diagramas de sistemas y procedimientos evita a los analistas anotaciones excesivas, repetitivas y confusas en su interpretación.

3. De forma visible a un sistema o un proceso: Los diagramas nos permiten observar todos los pasos de un sistema o proceso sin necesidad de leer notas extensas. Un diagrama es comparable, en cierta forma, con una fotografía aérea que contiene los rasgos principales de una región, y que a su vez permite observar estos rasgos o detalles principales.

2.- Según Chiavenato, Idalberto. Año 1993:

1. Permitir al analista asegurarse que ha desarrollado todos los aspectos del procedimiento.

2. Dar las bases para escribir un informe claro y lógico.

3. Es un medio para establecer un enlace con el personal que eventualmente operará el nuevo procedimiento.

3.- Según Gómez Rondón, Francisco. Año 1995:

1. De uso, permite facilitar su empleo.

2. De destino, permite la correcta identificación de actividades.

3. De comprensión e interpretación, permite simplificar su comprensión.

4. De interacción, permite el acercamiento y coordinación.

5. De simbología, disminuye la complejidad y accesibilidad.

6. De diagramación, se elabora con rapidez y no requiere de recursos sofisticados.​

Formato vertical: en él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.

Formato horizontal: en él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.

Formato panorámico: el proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun 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.

Diagrama de bloques de modelo matemático: es utilizado para representar sistemas físicos (reales). Cada uno de los bloques que componen el sistema físico es generalmente una simplificación de la realidad, lo que permite un tratamiento matemático razonable.

Diagrama de bloques de procesos de producción: es un diagrama utilizado para indicar la manera en la que se elabora un producto, especificando la materia prima, la cantidad de procesos que se llevan a cabo y la forma en la que se representa el producto terminado.

Diagrama de flujo de carriles de nado: también llamado swimlane, representa de forma visual un proceso que no tiene principio o fin.

Diagrama de flujo de un sitio web: se utiliza para diseñar la navegación de una página web. También se puede utilizar para aplicaciones.

Formas comunes

El Instituto Nacional Estadounidense de Estándares (ANSI, por su siglas en inglés) estableció estándares para los diagramas de flujo y sus símbolos en los años 1960s.​ La Organización Internacional de Normalización (ISO, por sus siglas en inglés) adoptó los símbolos ANSI en 1970.​ El estándar actual, ISO 5807, fue revisado en 1985.​

Salida

Hoja de papel impresa

Indica el proceso de hacer salir datos, en la forma de mostrar resultados.

Anotación​ (Comentario)​

Indica información adicional acerca de un paso en el programa.

Muestra, por su nombre, un proceso que ha sido definido en otro lugar.

Pequeño círculo con una letra dentro.​​

Pares de conectores etiquetados reemplazan líneas largas o confusas en la página del diagrama.

Plato de "Home" (béisbol) pentágono.​​

Un conector etiqueta para usar cuando el objetivo es otra página.

Otras formas

o : Inicio y Final (Abre y 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).

Se trata de la más común y práctica entre todas las clases de diagramas de flujo. Describe el flujo de información en un ente u organización, sus procesos, sistemas administrativos y de control. Permite la impresión visual de los procedimientos y una clara y lógica interpretación.

Simbología y normas del diagrama

Elipse: Inicio del Diagrama y Final del Diagrama

Cuadrado: Proceso de control.

Línea continua: Flujo de información vía formulario o documentación en soporte de papel escrito.

Línea interrumpida: Flujo de información vía formulario digital.

Rectángulo: Formulario o documentación. Se grafica con el doble de largo que su altura.

Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etc.). Se grafica con el cuádruple de largo que su altura, siendo su ancho igual al de los formularios.

Triángulo (base inferior): Archivo definitivo.

Triángulo Invertido (base superior): Archivo Transitorio.

Semióvalo: Demora.

Rombo: División entre opciones.

Trapezoide: Carga de datos al sistema.

Hexágono: Proceso no representado.

Pentágono: Conector.

Cruz de Diagonales: Destrucción de Formularios, y recreación de nuevas acciones.

Según la normativa, el flujo presupuesto es de izquierda a derecha y de arriba hacia abajo, siendo optativo el uso de flechas. Cuando el sentido es invertido (de derecha a izquierda o de abajo hacia arriba), es obligatorio el uso de la flecha.​

La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado para documentar gráficamente un proceso como un flujo de pasos sucesivos 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". Estas herramientas de Gilbreth rápidamente encontraron sitio en los programas de ingeniería industrial.

Al principio de los 30, un ingeniero industrial, Allan H. Mogensen comenzó la formación de personas de negocios en Lake Placid, Nueva York, incluyendo el uso del diagrama de flujo. Art Spinanger, asistente a las clases de Mogesen, utilizó las herramientas en su trabajo en Procter & Gamble, donde desarrolló su "Programa Metódico de Cambios por Etapas". Otro asistente al grupo de graduados en 1944, Ben S. Graham, director de ingeniería de Formcraft Standard Register Corporation, adaptó la gráfica de flujo de procesos al tratamiento de la información en su empresa. Y desarrolló la gráfica del proceso de múltiples flujos en múltiples pantallas, documentos, y sus relaciones. En 1947, ASME adoptó un conjunto de símbolos derivados de la obra original de Gilbreth como Norma ASME para los gráficos de procesos (preparada Mishad, Ramsan y Raiaan).

Sin embargo, según explica Douglas Hartree fueron originalmente Herman Goldstine y John von Neumann quienes desarrollaron el diagrama de flujo (inicialmente llamado "diagrama") para planificar los programas de ordenador. Las tablas de programación original de flujo de Goldstine y von Neumann, aparecen en un informe no publicado, "Planificación y codificación de los problemas de un instrumento de computación electrónica, la Parte II, Volumen 1 "(1947), reproducido en las obras completas de von Neumann.

Inicialmente los diagramas de flujo resultaron un medio popular para describir algoritmos de computadora, y aún se utilizan con este fin. Herramientas como los diagramas de actividad UML, pueden ser considerados como evoluciones del diagrama de flujo.

En la década de 1970 la popularidad de los diagramas de flujo como método propio de la informática disminuyó, con el nuevo hardware y los nuevos lenguajes de programación de tercera generación. Y por otra parte se convirtieron en instrumentos comunes en el mundo empresarial. Son una expresión concisa, legible y práctica de algoritmos. Actualmente se aplican en muchos campos del conocimiento, especialmente como simplificación y expresión lógica de procesos, etc.

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 reprocesos, 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.

Actualmente existe una gran cantidad de software para la elaboración de diagramas de flujo. A continuación se listan los programas más comunes para elaborar diagramas de flujo.

La suite Microsoft Office ofrece la herramienta "Formas" (bloque Diagrama de flujo), presente en sus programas Word, Excel y Power Point, la cual permite insertar figuras para crear diagramas de flujo básicos. Otra herramienta un poco más sofisticada es Microsoft Visio, la cual además de la simbología básica de los diagramas de flujo, cuenta con herramientas para elaborar una variedad de diagramas, como diagramas UML, entre otros.

LibreOffice Draw permite crear diagramas de flujo además de otro tipo de diagramas usados en el ambiente informático. Es considerado la versión no comercial de Microsoft Visio.

Algunos software de gráficos profesionales, como GitMind y SmartDraw, también son buenos creadores de diagramas de flujo, ya que todos tienen plantillas ricas para descargar. XMind es también otra aplicación de mapas mentales para hacer diagramas de flujo, así como Miro o Lucidchart.

También existen aplicaciones que permiten que, una vez que un creador haya diseñado el diagrama de flujo, un usuario final lo utilice y, sobre la base de las opciones que vaya escogiendo, se le vayan mostrando las siguientes etapas hasta llegar a un resultado final. Un ejemplo de este tipo de aplicaciones es iBoske.

# data[].attributes.attachment_link.title
Diagrama de flujo - Wikipedia, la enciclopedia libre

# data[].attributes.attachment_link.description
El diagrama de flujo o flujograma o diagrama de actividades es la representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos de trabajo paso a paso.

# data[].attributes.headline
Ventajas:  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.

# data[].attributes.subject
Ventajas:  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.

# data[].attributes.headline
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.

# data[].attributes.subject
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.

# data[].attributes.headline
Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.

# data[].attributes.subject
Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.

# data[].attributes.headline
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.

# data[].attributes.subject
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.

# data[].attributes.headline
Al igual que el seudocientífico, 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.

# data[].attributes.subject
Al igual que el seudocientífico, 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.