Está en la página 1de 78

DIAGRAMAS DE FLUJO

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

• A continuación, te enseñaremos algunos de los símbolos de diagramas de


flujo más comunes. Para obtener una lista más exhaustiva, accede a nuestra
completa página de símbolos de diagramas de flujo.
DIAGRAMAS DE FLUJO PARA
ALGORITMOS/PROGRAMACIÓN
INFORMÁTICA
• Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y
explicárselo a otros o colaborar con otros en el mismo. Puedes usar un diagrama de flujo para explicar detalladamente la lógica
detrás de un programa antes de empezar a codificar el proceso automatizado. Puede ayudar a organizar una perspectiva general y
ofrecer una guía cuando llega el momento de codificar. Más específicamente, los diagramas de flujo pueden:

• Demostrar cómo el código está organizado.


• Visualizar la ejecución de un código dentro de un programa.
• Mostrar la estructura de un sitio web o aplicación.
• Comprender cómo los usuarios navegan por un sitio web o programa.
• A menudo, los programadores pueden escribir un pseudocódigo, una combinación de lenguaje natural y lenguaje informático que
puede ser leído por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de
flujo o como el próximo paso del código mismo.
• Los diagramas relacionados que se emplean en el software informático incluyen:

• Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general usado en la


ingeniería de software para el modelado.
• Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada. Llevan
el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron en 1972 en la
Universidad Estatal de Nueva York en Stony Brook. También se denominan "estructogramas".
• Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado
para crear diagramas de flujo.
TIPOS DE DIAGRAMAS DE FLUJO

• Distintos autores describen numerosos tipos de diagramas de flujo en


diferentes términos. Estas personas incluyen a expertos publicados, como
Alan B. Sterneckert, Andrew Veronis, Marilyn Bohl y Mark A. Fryman.

• Sterneckert, en su libro escrito en 2003 Critical Incident Management,


mencionó cuatro tipos de diagramas de flujo populares, enmarcados en el
concepto de controles de flujos en vez del flujo en sí mismo:
• Diagramas de flujo de documentos: Estos "tienen el propósito de mostrar los controles existentes en el flujo de documentos a
través de los componentes de un sistema. (...) El diagrama se lee de izquierda a derecha y detalla el flujo de documentos a
través de numerosas unidades de negocio".
• Diagramas de flujo de datos: Estos indican "los controles que rigen los flujos de datos en un sistema. (...) Los diagramas de
flujo de datos se usan principalmente para mostrar los canales donde se transmiten los datos a través del sistema en lugar de
cómo se controla el flujo".
• Diagramas de flujo de sistemas: Estos "indican el flujo de datos que pasa hacia los componentes principales de un sistema, o a
través de ellos, tales como entrada de datos, programas, medios de almacenamiento, procesadores y redes de comunicación".
• Diagramas de flujo de programas: Estos muestran "los controles ubicados internamente en un programa dentro de un sistema".
• Veronis , en su libro escrito en 1978, Microprocessors: Design and Applications, describió tres tipos de diagramas de flujo en
función del alcance y nivel de detalle:
• Diagrama de flujo de sistema: identifica los dispositivos que se emplearán.
• Diagrama de flujo general: vista general.
• Diagrama de flujo detallado: más detalles.
• Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:

• Diagrama de flujo de sistemas.


• Diagrama de flujo de programas.
• But Fryman, en su libro escrito en 2001 titulado Quality and Process Improvement, distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios
que a la informática:

• Diagrama de flujo de decisiones.


• Diagrama de flujo lógico.
• Diagrama de flujo de sistemas.
• Diagrama de flujo de productos.
• Diagrama de flujo de procesos.
• Otros tipos de diagramas de flujo definidos por otros incluyen:

• 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?

• La codificación en programación está más cerca de lo que creemos, esta se


manifiesta en el rendimiento óptimo de sistemas web, software y
aplicaciones que siempre están en nuestro día a día. La codificación en un
concepto más general. Es un compilador de datos que trabaja mediante las
reglas de un código en específico, el cual logra finalmente la formulación de
un mensaje o una tarea que se quiera llevar a cabo.
¿QUÉ SIGNIFICA CODIFICACIÓN EN
PROGRAMACIÓN?

• Se le llama codificación en programación al proceso que se ejecuta con el


uso lenguajes de programación. Para muchos es el primer paso como
programador profesional, ya que, es la vía que permite hacerle llegar a
cualquier programa las instrucciones que debe seguir para su
funcionamiento.
EJEMPLO SIMPLE

• //Hola Mundo en C++

• #include
• using namespace std;
• int main() {
• cout<<'Hola Mundo';
• return 0;
• }
¿QUÉ ES LA DEPURACIÓN?

• La depuración es el proceso de encontrar y solucionar errores en el código


fuente de cualquier software. Cuando un software no funciona tal y como se
espera, los programadores de computadoras estudian el código para
determinar por qué ocurren algunos errores. Con este objetivo, los
programadores utilizan herramientas de depuración para ejecutar el software
en un entorno controlado, comprobar el código paso a paso y analizar y
solucionar el error.
¿CÓMO FUNCIONA EL PROCESO DE
DEPURACIÓN?
Identificación de errores
• Los desarrolladores, los encargados de las pruebas y los usuarios finales informan de los errores que descubren mientras prueban
o usan el software. Los desarrolladores localizan la línea exacta de códigos o el módulo de código que causa el error. Esto puede
ser un proceso tedioso y que requiere mucho tiempo.
Análisis de errores
• Los codificadores analizan el error mediante el registro de todos los cambios de estado del programa y los valores de los datos.
También dan prioridad a la corrección de errores en función de su impacto en la funcionalidad del software. El equipo de
software también identifica un calendario para la corrección de errores en función de los objetivos y requisitos de desarrollo.
Corrección y validación
• Los desarrolladores arreglan el error y hacen pruebas para asegurarse de que el software continúa en funcionamiento como se
espera. Pueden escribir nuevas pruebas para comprobar si el error se repite en el futuro.
HOLA MUNDO 2

• /* Programa: Hola mundo */


• #include <conio.h>
• #include <stdio.h>
• int main()
• {
• printf( "Hola mundo." );
• getch(); /* Pausa */
• return 0;
• }
HOLA MUNDO 3

• /* Programa: Hola mundo (Versión 2) */


• #include <conio.h>
• #include <stdio.h>
• int main()
• {
• printf( "\n Hola mundo." );
• printf( "\n\n Pulse una tecla para salir..." );
• getch(); /* Pausa */
• return 0;
• }
CIRCUNFERENCIA
• /* Programa: Área de una circunferencia (Solución 1) */
• #include <conio.h>
• #include <stdio.h>
• int main()
• {
• float area, radio;
• printf( "\n Introduzca radio: " );
• scanf( "%f", &radio );
• area = 3.141592 * radio * radio;
• printf( "\n El %crea de la circunferencia es: %.2f", 160, area );
• printf( "\n\n Pulse una tecla para salir..." );
• getch(); /* Pausa */
• return 0;
• }
VARIABLES Y CONSTANTES

• Una constante es un elemento de datos con nombre con un valor predefinido,


mientras que una variable es un elemento de datos con nombre cuyo valor
puede cambiar durante el curso de la ejecución de un programa. Las variables
pueden ser globales o locales.

• 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.

• Todos los valores que aparecen en un programa tienen un tipo.

• A continuación revisaremos los tipos de datos elementales de Python. Además de éstos,


existen muchos otros, y más adelante aprenderemos a crear nuestros propios tipos de datos.
NÚMEROS ENTEROS

• 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 tipo float permite representar 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

• El tipo complex permite representar 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

• Esta clasificación de datos pueden aceptar números, letras o símbolos


especiales y se clasifican en dos: Caracter (CHAR) ❑Cadenas (CADENA o
STRING).
• a) Datos numé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

• Un operador es un símbolo que se utiliza para manipular datos.


• Los operadores se clasifican en:
• – Aritméticos.
• – Relacionales.
• – Lógicos.
OPERADORES: ARITMÉTICOS:

• + Suma
• - Resta
• * Multiplicación
• / División (div)
• % Módulo o residuo (Mod)
• ^ ó ** Potencia
• = Asignación
OPERADORES: RELACIONALES

• > Mayor que


• < Menor que
• (=) == Igual a
• (<>) != Diferente de
• >= Mayor o igual que
• <= Menor o igual que
OPERADORES: LÓGICOS

• (*) && Conjunción (y)


• (+) | | Disyunción (o)
• (~) ! Negación (no)
OPERADOR DE AGRUPACIÓN

• El operador de agrupación ( ) controla la precedencia de las expresiones a


evaluar.
• El operador de agrupación consiste en un par de paréntesis alrededor de la
expresión (o sub-expresión) que sobrescribe el comportamiento por defecto
de la precedencia de operadores, lo que causa que expresiones con menor
precedencia puedan ser evaluadas antes que expresiones con una mayor
precedencia.
JERARQUIA DE OPERADORES
REGLAS DE PRIORIDAD

• Para resolver una expresión se deben seguir las siguientes reglas:


•  Primero se resuelven las expresiones que se encuentran entre
• paréntesis.
•  Se procede aplicando la jerarquía de operadores.
•  Al evaluar una expresión, si hay dos operadores con la misma jerarquía,
• se procede a evaluar de izquierda a derecha.
•  Si hay expresiones relacionales, se resuelven primero paréntesis, luego
• se encuentran los valores de verdad de las expresiones relacionales y
• por último se aplica jerarquía de operadores lógicos. En caso de haber
• iguales, proceder de izquierda a derecha.
•  El orden correcto a seguir, es primero resolver operadores aritméticos,
• luego los relacionales y por último los lógicos.
•  Si solo hay operadores aritméticos, el resultado es un número. Si hay
EXPRESIONES
EXPRESIONES

• Una expresión es la manera en que expresamos en un lenguaje de programación


algo sobre el estado de un objeto. Es el medio que tenemos para decir en un
programa algo sobre el mundo del problema.
• Las expresiones aparecen dentro del cuerpo de los métodos y están formadas por
operandos y operadores. Los operandos pueden ser atributos, parámetros, literales,
constantes o llamadas de métodos, mientras que los operadores son los que indican
la manera de calcular el valor de la expresión. Los operadores que se pueden utilizar
en una expresión dependen del tipo de los datos de los operandos que allí aparezcan.
• En algunos casos es indispensable utilizar paréntesis para evitar la
ambigüedad en las expresiones. Por ejemplo, la expresión 10 – 4 – 2 puede
ser interpretada de dos maneras, cada una con un resultado distinto: 10 – ( 4
– 2 ) = 8, o también ( 10 – 4 ) – 2 = 4. Es buena idea usar siempre paréntesis
en las expresiones, para estar seguros de que la interpretación del
computador es la que nosotros necesitamos.
OPERADORES RELACIONALES

• Los lenguajes de programación cuentan siempre con operadores relacionales,


los cuales permiten determinar un valor de verdad (verdadero o falso) para
una situación del mundo. Si queremos determinar, por ejemplo, si el valor
unitario antes de impuestos de un producto es menor que $10.000, podemos
utilizar (dentro de la clase Producto) la expresión:
• valorUnitario < 10000
OPERADORES LÓGICOS

• 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:

• operando1 && operando2 es cierto, si ambos operandos son verdaderos.


• operando1 || operando2 es cierto, si cualquiera de los dos operandos es verdadero.
• !operando es cierto, si el operando es falso.
• Los operadores && y || se comportan de manera un poco diferente a todos los demás. La expresión en la
que estén sólo se evalúa de izquierda a derecha hasta que se establezca si es verdadera o falsa. El
computador no pierde tiempo evaluando el resto de la expresión si ya sabe cual será su resultado.
EXPRESIONES ARITMETICAS

• 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]

• Si ambos operandos son de tipo entero, el resultado será de tipo entero.


• Si ambos operandos son de tipo real, el resultado será de tipo real.
• Si un operando es real y el otro entero, el operando de tipo entero se convertirá a real y luego se aplicará la
operación.
• aritméticos más frecuentemente encontrados en los lenguajes de programación:
INTRODUCCIÓN

• Las estructuras de control de flujo en un lenguaje especifican el orden en que se realiza el


procesamiento de datos.

• 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.

• Lenguaje C posee tres estructuras de selección: la estructura if-else, la estructura switch y la


estructura condicional o ternaria.
ESTRUCTURA DE CONTROL SELECTIVA IF

• La estructura de control de flujo más simple es la estructura condicional if.


Su sintaxis es la siguiente:
• En esta estructura se evalúa
la expresión lógica y, si se
cumple (si la condición es
verdadera), se ejecutan las
instrucciones del bloque,
que se encuentra entre las
llaves de la estructura. Si
no se cumple la condición,
se continúa con el flujo
normal del programa.
CÓDIGO (ESTRUCTURA DE CONTROL
SELECTIVA IF)
ESTRUCTURA CONDICIONAL DOBLE

• La estructura condicional doble permite establecer acciones tanto cuando una


condición se cumple, como cuando no se cumple, de ésta manera se dice que
hay acciones o instrucciones que se ejecutan en cada uno de los escenarios.

• Las estructuras condicionales dobles se representan en diagrama de flujo de


la siguiente forma.
EJEMPLO

• 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

• Las estructuras condicionales


múltiples son aquellas que al tener
escenarios establecidos o
previamente definidos para una
variable, nos permite tomar la ruta
de decisión en la que se encuentre
una coincidencia entre el valor de
la variable y los escenarios.

• Las estructuras condicionales


múltiples tienen la siguiente
estructura en diagrama de flujo.
• Lo que ésta estructura permite es tomar el valor de la variable y compararla contra los diferentes escenarios establecidos. Los
escenarios pueden ser de tipo String, por lo que deben ir entre comillas o numéricos queno requieren las comillas.

• 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:

• Estados Unidos ⇒ costo del tiquete es de 1000$


• Islandia ⇒ costo del tiquete es de 1350$
• México ⇒ costo del tiquete es de 300$
• Japón ⇒ costo del tiquete es de 2000$
PROBLEMA DEL HOSPITAL

• En un hospital se ha hecho un estudio sobre los pacientes registrados durante


los últimos 10 años, con el objetivo de hacer una aproximación de los costos
de internación por paciente.
• Se obtuvo un costo promedio diario según el tipo de enfermedad que aqueja
al paciente.
ESTRUCTURAS CONDICIONALES ANIDADAS

• Decimos que una


estructura condicional
es anidada cuando por
la rama del verdadero
o el falso de una
estructura condicional
hay otra estructura
condicional.
• El diagrama de flujo que se presenta contiene dos estructuras condicionales.
La principal se trata de una estructura condicional compuesta y la segunda es
una estructura condicional simple y está contenida por la rama del falso de la
primer estructura.
• Es común que se presenten estructuras condicionales anidadas aún más
complejas.
PROBLEMA:

• Confeccionar un programa que pida por teclado tres notas de un alumno,


calcule el promedio e imprima alguno de estos mensajes:
• Si el promedio es >=7 mostrar “Promocionado”.
• Si el promedio es >=4 y <7 mostrar “Regular”.
• Si el promedio es <4 mostrar “Reprobado”.
DIAGRAMA DE FLUJO
CODIFICADO

También podría gustarte