Está en la página 1de 16

UNIVERSIDAD NACIONAL EXPERIMENTAL

FRANCISCO DE MIRANDA
COMPEJO ACADÉMICO EL SABINO
DEPARTAMENTO DE GERENCIA

GUÍA NRO. 3 DE INFORMÁTICA


PROFESORA NORKYS MEDINA

DIAGRAMAS DE FLUJO

Un Diagrama de Flujo representa la esquematización gráfica de un algoritmo. En


realidad muestra gráficamente los pasos o procesos para alcanzar la solución del
problema. Su correcta construcción es sumamente importante porque, a partir del
mismo se escribe un programa en algún lenguaje de programación. Si el
diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de
programación es relativamente simple y directo.

En la siguiente tabla, se presentas los símbolos utilizados, y una explicación de los


mismos. Estos satisfacen las recomendaciones de la International Standard
Organization (ISO) y la American National Standars Institute (ANSI).

SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO


Símbolo Explicación
Símbolo utilizado para marcar el inicio y el fin del diagrama de
flujo.

Símbolo utilizado para introducir datos de entrada. Representa


lectura.

Símbolo utilizado para representar un proceso. En su interior


se expresan asignaciones , operaciones aritméticas, cambios
de valor de variables, etc.

Símbolo utilizado para representar una decisión. En su interior


Si
contiene una condición (expresión lógica), y dependiendo del
resultado de la evaluación de la misma se sigue por un camino
alternativo. Este símbolo se utiliza en las estructuras
No selectivas SI-ENTONCES, SI-ENTONCES-SINO y en las
estructuras repetitivas MIENTRAS Y REPETIR.

Símbolo utilizado para representar una decisión múltiple. En


su interior se almacena un selector, y dependiendo del valor de
dicho selector se sigue por un camino alternativo. Se utiliza en
la estructura selectiva SEGÚN SEA.

1
SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO
Símbolo Explicación
Símbolo utilizado para representar la impresión de un
resultado. Expresa escritura.

Símbolos utilizados para representar la dirección del flujo del


diagrama.

Símbolo utilizado para expresar conexión dentro de una misma


página.

Símbolos utilizados para expresar conexión entre páginas


diferentes.

Símbolo utilizado para expresar un módulo de un problema.


Expresa que para continuar con el flujo normal del diagrama se
debe primero resolver el subproblema que enuncia en su
interior.

A continuación se presentan las etapas a seguir en la construcción de un


diagrama de flujo:

INICIO

LECTURA
DE
DATOS

PROCESAMIENTO DE
LOS DATOS

IMPRESIÓN DE
RESULTADOS

FIN

2
NOTA: es importante destacar que las fases anteriormente
presentadas, pueden variar su orden o repetirse alguna de ellas.
También es frecuente tener que realizar toma de decisiones y repetir
una serie de pasos un número determinado de veces.

REGLAS PARA LA CONSTRUCCIÓN DE DIAGRAMAS DE FLUJO

A continuación se presentan un conjunto de reglas que permiten la construcción


de diagramas de flujo que ilustren de manera óptima los pasos a seguir en la
resolución de un problema:
1. Todo diagrama de flujo debe tener un Inicio y un Fin.

2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser
rectas, verticales y horizontales.

3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama
deben estar conectadas. La conexión puede ser a un símbolo que exprese
lectura, proceso, decisión, impresión, conexión o fin de diagrama.

4. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda


a derecha.

5. La notación utilizada en el diagrama de flujo debe ser independiente del


lenguaje de programación. La solución presentada en el diagrama puede
escribirse posteriormente y fácilmente en diferentes lenguajes de
programación.

6. Si el diagrama de flujo requiere más de una hoja para su construcción, se


hace necesario utilizar los conectores adecuados y enumerar las páginas
convenientemente.

7. No puede llegar más de una línea a un símbolo.

3
ESTRUCTURAS DE CONTROL SELECTIVAS O
ESTRUCTURAS DE DECISIÓN Decisión

Son las que permiten la selección de acciones alternativas.

CONCEPTOS BÁSICOS

Expresión lógica: es una expresión que al ser evaluada da como resultado un


valor lógico (verdadero o falso).

Podrían definirse dos tipos de expresiones lógicas, las cuales tienen la siguiente
forma:
Tipo A (también denominadas expresiones relacionales):
Operando1 operador relacional Operando2
Donde:
 Operando1 y 2 pueden ser ambos expresiones aritméticas.
 Operador relacional: > (mayor), < (menor), = (igual), >= (mayor o igual),
<= (menor o igual), <> (diferente).

Los operadores relacionales tienen igual prioridad entre ellos, pero la más baja
prioridad en relación con los operadores aritméticos. Su orden de evaluación es el
siguiente:
Prioridad Operador

Mayor Prioridad (se ()


evalúa primero)
*,/,div,mod
+,-
Menor Prioridad (Se >,<,=,>=,<=,<>
evalúa de último)
Ejemplo 1. Ejemplos de expresiones lógicas (también llamadas relacionales)
a) 6.7315 > 6.7342 (falso)
b) 15 < 20 (verdadero)
c) 8 = 8.0 (verdadero)

4
d) Dado N1 = 3, N2 = 6, el resultado de la evaluación de las siguiente expresión
es Falso.
(2+3*N1) <> 6 +.(N2 – 1) (Falso)

Tipo B Las expresiones lógicas pueden combinarse para formar expresiones más
complejas:
Operando1 operador lógico Operando2
Donde:

• Operando1 y 2 son expresiones lógicas que pueden estar constituidas por:


constantes lógicas, variables lógicas, expresiones de relación, expresiones
lógicas entre paréntesis.
• Operador lógico: no (no lógico), y (Y lógico), o (O lógico)
Prioridad Operador

Mayor Prioridad (se ()


evalúa primero)
No
*,/,div,mod, Y

Menor Prioridad (Se


+,-, O
evalúa de último) >,<,=,>=,<=,<>

Tipo de valor lógico resultante de la evaluación de una expresión lógico se ilustra


en la siguiente tabla:
Operando1 (A) Operando2 (B) No (A) AyB AoB
V V F V V
V F F F V
F V V F V
F F V F F

Ejemplo 2. Ejemplos de expresiones con operadores lógicos:


a) No (‘A’=’Z’) (verdadero),
b) No (2<3) (falso),

5
c) ((X*2 > Y-3) o (X > Y-1)) y (Y < 5) Suponiendo X=3 y Y=5, Al evaluar la
expresión completa el resultado es FALSO
((X*2 > Y-3) o (X > Y-1)) y (Y < 5)

V o F F

V y F

F
e) Valor := (resp = ’T’) o (resp = ’t’) verdadero si Resp toma el valor de ‘T’ o ‘t’ de lo
contrario es falso

ESTRUCTURAS DE DECISIÓN

Son estructuras de control condicional que permiten llevar a cabo una acción, si
una condición (expresión lógica) dada tiene un valor específico (verdadero o
falso).

ESTRUCTURA DE DECISIÓN SIMPLE: se usan para representar estructuras en


las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la
instrucción1 o la serie de instrucciones comprendidas entre inicio y fin de la
instrucción SI-ENTONCES, según sea el caso. Mientras que si el resultado de su
evaluación es falso se continúa como si la instrucción del SI-ENTONCES no
hubiese existido.

SI expresión lógica ENTONCES


Para el caso de una
instrucción1; sola instrucción

SI expresión lógica ENTONCES


INICIO
instrucción1; Para el caso de varias
instrucción2; instrucciones. Se
encierran entre Inicio
y Fin 6
:
instrucciónN
FIN;

NOTA: recordar que el ; se usa para separar instrucciones pero no forma parte de
la instrucción.

El Diagrama de Flujo de una estructura de decisión simple se representa de la


siguiente manera:

V
Condici Instrucción

Ejemplo 3. Escriba un algoritmo que lea la edad de una persona y muestre un


mensaje por pantalla que indique si ésta es mayor de edad.

Algoritmo MAYOR_EDAD;
Declaración de variables
edad: entero;
Inicio
Escribir('Introduzca la edad: ');
Leer(edad);
Si edad >= 18 entonces

7
Escribir('La persona es mayor de edad')
Fin.

Ejemplo 4. Escriba un algoritmo y diagrama de flujo quedado como dato el


sueldo de un trabajador, le aplique un aumento del 30% si su sueldo es inferior a
Bs. 1000. Imprima en este caso, el aumento y el nuevo sueldo del trabajador.
Algoritmo:
Algoritmo SUELDO_NUEVO;
Declaración de variables
Sue, aum, NSue: real;
Inicio
Escribir('Introduzca el sueldo: ');
Leer(Sue);
Si Sue < 1000 entonces
Inicio
Aum = Sue * 0.30;
NSue = Sue + Aum;
Escribir('El aumento es de ', Aum, ' Bs. ' );
Escribir('El nuevo sueldo es ', NSue, ' Bs. ' )
Fin
Fin.

8
Diagrama de Flujo:
INICIO
SUELDO_NUEVO

Sue

Si Aum = Sue * 0.30


Sue < 1000

NSue = Sue + Aum

Aum, NSue

FIN
SUELDO_NUEVO

ESTRUCTURA DE DECISIÓN DOBLE: se usa para representar estructuras en


las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la
instrucción1. Mientras que si el resultado de su evaluación es falso se ejecuta la
instrucción2. Recuerde que en el caso de instrucciones compuestas, en lugar de la
instrucción1 o la instrucción2 se ejecutarán la serie de instrucciones comprendidas
entre sus respectivos Inicio Fin.

9
SI expresión lógica ENTONCES
instrucción1 Para el caso de una
sola instrucción
SINO
Instrucción2;

SI expresión lógica ENTONCES


INICIO
Para el caso de varias
instrucción1; instrucciones. Se
encierran entre Inicio
instrucción2
y Fin
FIN
SINO
INICIO Antes del SINO no se
instrucción3; coloca ; (punto y coma)

instrucción4
FIN;

El Diagrama de Flujo de una estructura de decisión doble se representa de la


siguiente manera:

F V
Condici

Instruccion(es) 2 Instruccion(es) 1

10
Ejemplo 5. Escriba un algoritmo que lea la edad de una persona y muestre un
mensaje por pantalla que indique si ésta es mayor o menor de edad.

Algoritmo MAYOR_EDAD2;
Declaración de variables
edad: entero;
Inicio
Escribir('Introduzca la edad: ');
Leer(edad);
Si edad >= 18 entonces
Escribir('La persona es mayor de edad')
sino
Escribir('La persona es menor de edad')
Fin.

Ejemplo 6. Escriba un algoritmo que lea tres números enteros. Si el primer


número es menor que cero, calcular e imprimir la suma de tres y en caso contrario
el producto de los tres.

Algoritmo SUMA_PRODUCTO;
Declaración de variables
n1, n2, n3, suma, producto: entero;
Inicio
Escribir('Introduzca primer número: ');
Leer(n1);
Escribir('Introduzca segundo número: ');
Leer(n2);
Escribir('Introduzca tercer número: ');
Leer(n3);
Si n1 < 0 entonces
Inicio

11
Suma = n1 + n2 + n3;
Escribir('La suma es: ', suma)
Fin
sino
Inicio
Producto = n1 * n2 * n3;
Escribir('El producto : ', producto)
Fin
Fin.
Diagrama de Flujo:
INICIO
SUMA_PRODUCTO

n1, n2,
n3

No Si
n1 < 0

Producto= n1*n2*n3 Suma= n1+n2+n3

Producto Suma

FIN
SUMA_PRODUCTO

12
ESTRUCTURAS DE DECISIÓN MÚLTIPLE: existen dos tipos: la instrucción SI
anidada y la instrucción Según Sea.

INSTRUCCIÓN SI ANIDADA: se usan para representar estructuras en las que si


la evaluación de la expresión lógica resulta ser verdadera se ejecuta la
instrucción1. Mientras que si el resultado de su evaluación es falso se evalúa otra
expresión lógica, si el resultado de esta última es verdadero se ejecuta la
instrucción2, si es falso se evalúa otra expresión y así sucesivamente. Recuerde
que en el caso de instrucciones compuestas, en lugar de la instrucción1,
instrucción2 o instrucción N, se ejecutarán la serie de instrucciones comprendidas
entre sus respectivos Inicio - Fin.

SI expresión lógica1 ENTONCES


instrucción1
SINO
SI expresión lógica2 ENTONCES
instrucción2
:
SINO
SI expresión lógicaN ENTONCES
instrucciónN
SINO
InstrucciónN+1;

El Diagrama de Flujo de una instrucción SI anidada se representa de la siguiente


manera:

13
V Instrucción
Condición
1 1

F V Instrucción
Condición
2 2

V
Condición Instrucción
3 N

Instruccion(es) N+1

Ejemplo 7. Leer tres números enteros y encontrar el mayor de ellos.

Algoritmo MAYOR;
Declaración de variables
n1, n2, n3, mayor: entero;
Inicio
Escribir('Introduzca primer número: ');
Leer(n1);
Escribir('Introduzca segundo número: ');
Leer(n2);
Escribir('Introduzca tercer número: ');

14
Leer(n3);
Si (n1>n2) y (n1>n3) entonces
Escribir('El mayor es: ', n1)
sino
Si (n2>n1) y (n2>n3) entonces
Escribir('El mayor es: ', n2)
Sino
Escribir('El mayor es: ', n3 )

Fin.

Diagrama de flujo:

INICIO
MAYOR

n1, n2,
n3

(n1>n2) y Si n1
(n1>n3)

No

F y
(n2>n1) Si n2
(n2>n3)

No

n3

INICIO
MAYOR

15
Ejercicios Propuestos
Realizar el análisis, el algoritmo y el diagrama de flujo de los siguientes problemas:
1. Leer dos números y determinar cuál es el mayor. Mostrar por pantalla el
mayor.
2. Leer un número y mostrar por pantalla un mensaje indicando si este es
positivo, negativo o cero.
3. Leer un número y determinar si este es par o impar. Sugerencia: utilice la
función Mod para calcular el residuo.
4. Leer el nombre, el sexo (F ó M) y la edad de una persona e imprima el
nombre de la persona sólo si ésta es de sexo masculino y mayor de edad.
5. Se tiene nombre y salario básico de un empleado. Se desea calcular el
salario neto, sabiendo que al empleado se le descuenta una retención de
un impuesto de acuerdo a lo siguiente:
Para salario básico menor o igual a 1500 Bs. No hay retención
Para salario básico entre 1500 Bs y 3000 Bs la retención es de 5%.
Para salario básico mayor a 3000 Bs la retención es de 8%.
Imprimir el nombre y el salario neto del empleado.
6. Leer cédula, nombre y 3 notas de un estudiante y calcular su promedio. De
acuerdo al valor obtenido, mostrar por pantalla: cédula, nombre, promedio y
un mensaje de acuerdo a lo siguiente:
Promedio Mensaje
Entre 0 y 9 (inclusive) Nota deficiente
Entre 10 y 14 (inclusive) Nota regular
Entre 15 y 17 (inclusive) Nota Buena
Entre 18 y 20 (inclusive) Nota excelente

16

También podría gustarte