Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GENERAL
¿QUÉ ES UN DIAGRAMA DE FLUJO?
• Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente
en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos
en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras
numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia.
Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora
que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son
uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad
de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo
de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y
modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros
diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado
de modelado (UML).
HISTORIA
• El uso de los diagramas de flujo para documentar procesos de negocios se inició entre las décadas de
1920 y 1930. En 1921, los ingenieros industriales Frank y Lillian Gilbreth presentaron el "diagrama de
flujo de procesos" en la Sociedad Americana de Ingenieros Mecánicos (ASME – American Society of
Mechanical Engineers). A principios de la década de 1930, el ingeniero industrial Allan H. Morgensen
empleó las herramientas de Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el
trabajo a personas de negocios en su empresa. En la década de 1940, dos estudiantes de Morgensen, Art
Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger introdujo los
métodos de simplificación del trabajo en Procter & Gamble. Graham, director de Standard Register
Industrial, adaptó los diagramas de flujo de procesos al procesamiento de información. En 1947, ASME
adoptó un sistema de símbolos para los diagramas de flujo de procesos derivado del trabajo original de
Gilbreth.
• Además, a fines de la década de 1940, Herman Goldstine y John Van Neumann usaron diagramas de
flujo para desarrollar programas informáticos. Pronto la creación de diagramas se volvió cada vez
más popular para los programas informáticos y algoritmos de todo tipo. Los diagramas de flujo se
continúan usando para la programación hoy en día. Sin embargo, el pseudocódigo, una combinación
de palabras y lenguaje de codificación pensado para lectura humana, a menudo se usa para
representar niveles más específicos de detalle y para tener una versión más cercana al producto final.
• En Japón, Kaoru Ishikawa (1915-1989), una personalidad clave en las iniciativas de calidad en
manufactura, afirmó que los diagramas de flujo eran una de las herramientas fundamentales en el
área de control de calidad, junto a otras complementarias, como el histograma, la ficha de control y
el diagrama de causa-efecto, también llamado Diagrama de Ishikawa.
SÍMBOLOS DE DIAGRAMAS DE FLUJO
• Diagrama de carriles, también conocido como "diagrama de flujo de carriles": detalla los roles de cada
participante en procesos que se realizan entre equipos.
• Diagrama de flujo de trabajo: documenta flujos de trabajo, a menudo involucra tareas, documentos e
información en las oficinas.
• Diagrama de cadena de procesos impulsada por eventos (EPC): documenta o planifica un proceso de
negocio.
• Diagrama de flujo de lenguaje de descripción y especificación (SDL): realiza un lluvia de ideas sobre los
algoritmos informáticos mediante tres componentes básicos: proceso, bloqueo y definición de sistema.
PSEUDOCODIGO
¿QUÉ ES EL PSEUDOCÓDIGO?
• El pseudocódigo es una forma de representar código, como algoritmos, funciones y otros procesos,
utilizando una combinación de lenguaje natural y elementos similares al lenguaje de programación.
• Se llama «pseudocódigo» porque no es realmente ejecutable. En cambio, es una forma de que los humanos
comprendan y planifiquen la lógica de la programación — describir los pasos de un programa de forma que
sea fácil de entender para los humanos, sin dejar de ser lo suficientemente detallado como para convertirse
rápidamente en un lenguaje de programación específico.
• Aquí tienes un ejemplo sencillo de pseudocódigo, en el que estamos elaborando la lógica básica para
saludar a un visitante por su nombre cuando navega por nuestro sitio o aplicación:
• PROCESS GreetUser
• INPUT userName
• DISPLAY "Hello, " + userName + "!"
• END
• Como puedes ver, el pseudocódigo anterior no está escrito con la sintaxis de ningún
lenguaje o framework real. En su lugar, utiliza elementos de lenguaje y
programación sencillos y universalmente comprensibles — como PROCESS,
DISPLAY, y + — a modo de sintaxis, lo que lo hace fácil de seguir para cualquiera.
• Ese es uno de los poderes de escribir pseudocódigo: Al exponer las intenciones del
código en una sintaxis común, puedes saltar todas las barreras de la programación y
del lenguaje basado en habilidades.
EJEMPLO SIMPLE
• PROCESS CalcularCoste
• INPUT precio, cantidad
• SET coste = precio * cantidad
• PRINT "El coste es: " + coste
• END
¿QUÉ ES 'CODIFICACIÓN' EN
PROGRAMACIÓN?
• #include
• using namespace std;
• int main() {
• cout<<'Hola Mundo';
• return 0;
• }
¿QUÉ ES LA DEPURACIÓN?
• Todos los tipos de datos se representan como uno de estos tres tipos de datos
básicos:
Int
• Tipo de datos entero ( + - seguido de 1 o más dígitos entre 0 y 9).
Real
• Coma flotante (+- seguido de cero o más dígitos 0–9). Coma decimal seguida de 1 o más
dígitos 0-9. Tenga en cuenta que todos los números se almacenan internamente como
Float.
String
• Cualquier cadena de caracteres Unicode válida especificada entre comillas.
CONSTANTES
• Una constante es un elemento de datos con nombre con un valor predefinido. No se puede cambiar el
valor asignado a una constante predefinida. Las constantes predefinidas son:
• NULL
• Una referencia vacía. Parecido a un puntero vacío. Tenga en cuenta que no es lo mismo que una
cadena de caracteres nula "".
• TRUE
• Equivalente al número 1.
• FALSE
• Equivalente al número 0.
DEFINICIONES DE VARIABLES
• Una variable es un elemento de datos con nombre cuyo valor puede cambiar
durante el curso de la ejecución de un programa. Un nombre de variable debe
seguir el convenio de denominación de un identificador (carácter alfabético o
número y el signo de subrayado). Cuando se define más de una variable en
una sola declaración, el nombre debe ir separado por comas. Cada
declaración de variable debe finalizar con un signo de punto y coma. Los
nombres de variables no pueden coincidir con una palabra reservada.
VARIABLES GLOBALES Y LOCALES
• Las variables pueden ser globales o locales. Una variable es global a no ser que esté declarada
dentro de una definición de función. Las variables globales resultan visibles y disponibles para
todas las sentencias de un script. Las variables locales sólo resultan visibles y disponibles
dentro de la función en la que están definidas. Aunque los nombres de variables y los
identificadores deben ser exclusivos, resulta válido declarar una variable local con el mismo
nombre que una variable global o con el mismo nombre que una variable local definida en otra
función. Los nombres de parámetros de una definición de función se consideran variables
locales. Los datos que se pasan a una función se pasan según el valor. Una variable global que
se pasa a una función no puede ser modificada por la función.
TIPOS DE DATOS
• Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores puede
tomar), qué operaciones se le pueden aplicar y cómo es representado internamente por el
computador.
• El tipo int (del inglés integer, que significa «entero») permite representar números
enteros.
• Los valores que puede tomar un int son todos los números enteros: ... -3, -2, -1, 0, 1, 2,
3, ...
• Los números enteros literales se escriben con un signo opcional seguido por una
secuencia de dígitos:
NÚMEROS REALES
• El nombre float viene del término punto flotante, que es la manera en que el computador representa
internamente los números reales.
• Hay que tener mucho cuidado, porque los números reales no se pueden representar de manera
exacta en un computador. Por ejemplo, el número decimal 0.7 es representado internamente por el
computador mediante la aproximación 0.69999999999999996. Todas las operaciones entre valores
float son aproximaciones. Esto puede conducir a resultados algo sorpresivos:
NÚMEROS COMPLEJOS
• Los números complejos tienen una parte real y una imaginaria. La parte
imaginaria es denotada agregando una J inmediatamente después de su valor:
DATOS ALFANUMÉRICOS
• · Enteros.
• · Reales.
• · Reales decimales.
• · Reales exponenciales.
• b) Datos alfanuméricos:
• · De carácter.
• · De cadena.
• c) Datos lógicos:
• · Verdadero [True]
• · Falso [False]
• -Tipos de datos: numéricos
• Son aquellos que se utilizan para realizar operaciones aritméticas.
OPERADORES
• + Suma
• - Resta
• * Multiplicación
• / División (div)
• % Módulo o residuo (Mod)
• ^ ó ** Potencia
• = Asignación
OPERADORES: RELACIONALES
• Los operadores lógicos nos permiten describir situaciones más complejas, a partir de la composición de
varias expresiones relacionales o de atributos de tipo boolean. Los operadores lógicos son tres: && (y), ||
(o), ! (no), y el resultado de aplicarlos se resume de la siguiente manera:
• Los operadores aritméticos se aplican sobre números, ya sean reales o enteros y realizan operaciones
equivalentes a las operaciones aritméticas básicas. Como se pueden aplicar sobre diferentes tipos de datos,
los lenguajes de programación tienen reglas detalladas que permiten determinar el tipo de datos del resultado.
En términos generales se pueden resumir de la siguiente forma:[2]
• Las estructuras de selección (o condicionales) permiten realizar una u otra acción con base en
una expresión lógica. Las acciones posibles a realizar son mutuamente excluyentes, es decir,
sólo se puede ejecutar una a la vez, dentro de toda la estructura.
• Indique si una
persona es mayor o
menor de edad, si
es mayor de edad
debe devolver el
mensaje ‘Mayor de
edad’, si es menor
de edad debe
devolver el
mensaje ‘Menor de
edad’.
ESTRUCTURAS CONDICIONALES MULTIPLES
• Además note que hay uno escenario adicional que dice default, ese escenario es el que se usará en caso de que el usuario
ingrese una opción que no coincida con ninguno de los otros escenarios, es por decirlo el escenario por defecto.
• Varios lenguajes de programación como javascript o java tienen la palabra default como reservada, mientras que algunos
otros lenguajes de programación como python no poseen una forma de declarar de forma explícita el escenario por defecto.
• En lenguajes como java o javascript se utiliza la estructura de programación llamada switch-case, mientras que python no la
posee por lo que se utiliza la instrucción elif para emularlo.
PROBLEMA AEROLÍNEA - EJEMPLO
• En una areolínea se están vendiendo tiquetes aéreos para diferentes países, se sabe que un cliente indica a
cuál país de los que ofrece la aerolínea desea viajar, así como la cantidad de tiquetes que desea comprar.
• El costo de cada tiquete depende del país de destino tal y cómo se muestra a continuación: