Está en la página 1de 61

DIAGRAMAS DE FLUJO

FLUJOGRAMA Es una
representacin grafica de un
algoritmo
Est constituido por un conjunto de
bloques y flechas, cada uno de los
cuales representa una accin
especfica.
Estos smbolos estn normalizados
por el Instituto Norteamericano de
Estndares ANSI

DIAGRAMAS DE FLUJO
VENTAJAS DE LOS FLUJOGRAMAS
Permiten disear y expresar el
algoritmo en forma sencilla
Permiten aclarar y comunicar la
lgica
Permiten cierto grado de
normalizacin en el diseo de
soluciones

DIAGRAMAS DE FLUJO
LOS SIMBOLOS MAS UTILIZADOS SON:
TERMINAL

ENTRADA DE
DATOS

DIAGRAMAS DE FLUJO
PROCESO

SALIDA
IMPRESA

DIAGRAMAS DE FLUJO
SALIDA
GRAFICA

DECISION

DIAGRAMAS DE FLUJO
REPETICION

COMENTARIO

DIAGRAMAS DE FLUJO
CONECTOR,
MISMA PAGINA

CONECTOR,
DIFERENTE PAGINA

DIAGRAMAS DE FLUJO

LINEAS DE
FLUJO

DIAGRAMAS DE FLUJO
REGLAS PARA LA CONSTRUCCION
Todo algoritmo tiene un principio y un fin
Las flechas deben ser rectas, verticales y
horizontales
De arriba hacia abajo y de izquierda a
derecha
Cuando sea necesario, utilizar
comentarios y los conectores adecuados
No puede llegar mas de una flecha a un
mismo smbolo

DIAGRAMAS DE FLUJO
ESQUEMA GENERAL DE UN
FLUJOGRAMA
INICIO
R

RANGO DEL
DIAGRAMA:

A
N
G

PROCESO

FIN

Es la extensin del
recorrido, desde el
smbolo de inicio
hasta el smbolo de
fin

ESTRUCTURAS
SECUENCIALES
En estas, las acciones se ejecutan
una tras otra, segn el orden de
aparicin en el algoritmo. No hay
decisiones que tomar
Las acciones son:
ENTRADAS
Leer los datos de
nombre,
nota

entrada
Asignar esos

ESTRUCTURAS
SECUENCIALES
PROCESO ASIGNACION

Variable =
Expresin

Variable
Expresin

Constante
= Valor

ESTRUCTURAS
SECUENCIALES
SALIDAS

A, B, C

La edad
es:, edad,
aos

ESTRUCTURAS
SECUENCIALES
Digite el
ao de
nacimiento

El promedio
es:, prom

Se imprimen los mensajes


(entrecomillados)
Se extrae de memoria el valor de las
variables y se imprimen

EXPRESIONES
Expresin Conjunto de operadores y
operandos que producen un valor. Los
operandos representan las variables,
constantes, funciones o cmputos que
devuelven un valor.
Los operadores indican las operaciones
a aplicar sobre los operandos.
Ejemplos:
c = a * b + 5
x =(b+c)*d/7

EXPRESIONES
Se extrae de memoria el valor de las
variables
Se realiza el clculo
Se asigna el resultado a la variable de
la izquierda
Expresiones no vlidas:
A+c*7=d
7 = 10

OPERADORES
Un operador es un smbolo (+, -, *, /,
etc.) que tiene una funcin predefinida
(suma, resta, multiplicacin, etc.) .
Los operadores se utilizan para
combinar o modificar los valores de un
programa.
Por el nmero de operandos sobre los
que actan , pueden clasificarse en
unarios, binarios y ternarios.

OPERADORES ARITMETICOS
*
/
%
+
-

% Regresa el
residuo de la
divisin
6%2=0
5.0 % 2 = 1
2.5 % 2 = 0.5

OPERADORES ARITMETICOS
5%2= ?

5%2= 1

OPERADORES ARITMETICOS
Con los otros operadores:
Si ambos operandos son enteros
El resultado es entero
Si al menos un operando es real
El resultado es real
Ejemplo:
5/2=2
5.0 / 2 = 2.5

OPERADORES ARITMETICOS

1/3=?
1/3=0
1%3=?
1%3=1
3*2=?
3*2=6
3.0 * 2 = ?
3.0 * 2 = 6.0

OPERADORES ARITMETICOS
Reglas de jerarqua para evaluar
expresiones aritmticas:
1. Se evalan las expresiones
encerradas entre parntesis. Si hay
mas de una, se procede de izquierda
a derecha. Si hay parntesis
anidados, se procede a evaluar el
mas interno, es decir de adentro
hacia afuera.
2. Se evalan las funciones, si hay mas

OPERADORES ARITMETICOS
3. Se ejecutan las operaciones
aritmticas, iniciando con el
operador de mayor jerarqua
4. Si hay mas de un operador de igual
jerarqua, se procede de izquierda a
derecha
Ejemplos:
Evaluar las siguiente expresiones
aritmticas:

OPERADORES ARITMETICOS

5
5
5
5
5
2

3
3
3
3
3

*
*
*
*

(5*(3+4)%2)
(5*7%2)
( 35 % 2 )
1

OPERADORES ARITMETICOS
5 / Pow ( 3 , 2 ) + ( 7 % ( 10 5 ) * 3.0 ) +
2*5
5 / Pow ( 3 , 2 ) + ( 7 % 5 * 3.0 ) + 2 * 5
5 / Pow ( 3 , 2 ) + ( 2 * 3.0 ) + 2 * 5
5 / Pow ( 3 , 2 ) + 6.0 + 2 * 5
5 / 9.0 + 6.0 + 2 * 5
0.56+ 6.0 + 2 * 5
0.56+ 6.0 + 10
6.56 + 10
16.56

LA CLASE Math
Proporciona una serie de
constantes y funciones de uso
muy comn en expresiones
aritmticas. Math es una clase
perteneciente al espacio de
nombres System. Los mtodos
de la clase Math realizan
clculos matemticos bsicos. A
continuacin, algunos:

METODOS DE LA CLASE
Math

Math. Abs(Exp)
Regresa el valor absoluto de Exp
Math.Pow(a,b)
Regresa la potencia de a elevada
ab
Math.Sqrt(x)
Regresa la raiz cuadrada de x

METODOS DE LA CLASE
Math
Math.Exp(a)

Regresa el valor de
Math.Log(a)
Regresa el logaritmo natural de a
Math.Log10(a)
Regresa el logaritmo base 10 de
a

METODOS DE LA CLASE
Math

Math.Sin()
Regresa el seno de
Math.Cos()
Regresa el coseno de
Math.Tan()
Regresa la tangente de

METODOS DE LA CLASE
Math
Math.Round(n)
Redondea al nmero mas cercano
sin parte decimal o con una
determinada precisin.
Math.Max(exp1,exp2)
Regresa el mayor entre exp1 y exp2
Math.Min(exp1,exp2)
Regresa el menor entre exp1 y exp2

CONSTANTES DE COMA
FLOTANTE
Math.E
Regresa la base del logaritmo
natural
(2.718282)
Math.PI
Regresa el valor de (3.141593)

EJEMPLO

Evaluar:
r3

para r = 5

Primeramente,debemosconstruirla
expresinaritmticaquepuedaser
operadaporlacomputadora:

OPERADORES ARITMETICOS
Luego, sustituimos el valor de la
variable r y procedemos de
acuerdo a las reglas antes vistas:
V=4/3*(PI*Pow(5,3))
V=4/3*(3.141593*Pow(5,3)
V=4/3*(3.141593*125.0)
V=4/3*392.70
V=1*392.70
V=392.70

ESTRUCTURAS
SECUENCIALES
Ejercicio:
Tres personas deciden invertir su
dinero para fundar una empresa.
Cada una de ellas invierte una
cantidad distinta. Disee una
solucin para obtener el porcentaje
que cada quien invierte con respecto
a la cantidad total invertida.

ESTRUCTURAS
SECUENCIALES
1. Planteamiento del problema
ESTADO
INICIAL
ESTADO A
CANTIDAD DE
DINERO QUE
INVIERTE CADA
PERSONA

ESTADO
FINAL
ESTADO B
PORCENTAJE DE
DINERO QUE
INVIERTE CADA
PERSONA

ESTRUCTURAS
SECUENCIALES
2. Anlisis del problema
a) Variables de salida
NOMBRE
DE LA
VARIABLE

TIPO DE DATOS

p1

Numrica /
Real

p2

Numrica /
Real

p3

Numrica /

DESCRIPCION

Representa el
porcentaje que invierte
la primera persona
Representa el
porcentaje que invierte
la segunda persona
Representa el

ESTRUCTURAS
SECUENCIALES
b) Variables de entrada
NOMBRE
DE LA
VARIABLE

TIPO DE DATOS

c1

Numrica /
Real

c2

Numrica /
Real

c3

Numrica /
Real

DESCRIPCION

Representa la cantidad
que invierte la primera
persona
Representa la cantidad
que invierte la segunda
persona
Representa la cantidad
que invierte la tercera
persona

ESTRUCTURAS
SECUENCIALES
c) Restricciones
c1 > 0
c2 > 0
c3 > 0
c1 != c2 != c3

ESTRUCTURAS
SECUENCIALES
d) Proceso
total = c1 + c2 + c3
p1
p2
p3
p1

=
=
=
+

c1 / total * 100
c2 / total * 100
c3 / total * 100
p2 )

p3 = 100 (

ESTRUCTURAS
SECUENCIALES
e) Variables de proceso
NOMBRE
DE LA
VARIABLE

total

TIPO DE DATOS

Numrica /
Real

DESCRIPCION

Representa el total
de dinero invertido
por los tres

Constantes con nombre


No Hay

ESTRUCTURAS
SECUENCIALES
3. Diseo de la solucin
INICI
O
Digite las
cantidades

C1, c2,
c3
Total =
c1+c2+c3
A

ESTRUCTURAS
SECUENCIALES
A
p1=c1/total*1
00
p2=c2/total*1
00
p3=100 2
(p1+p2)

P1, p2,
p3
FIN

ESTRUCTURAS
SECUENCIALES
Ejercicio:
Dos personas se encuentran
asociadas para arrendar una
propiedad de forma proporcional. Si
se conoce el porcentaje de la
propiedad que corresponde al
primero y la cantidad de dlares que
este paga, disee una solucin que
calcule e imprima cuanto paga
mensualmente el segundo socio.

ESTRUCTURAS
SECUENCIALES
1. Planteamiento del problema
ESTADO
INICIAL
ESTADO A

% DE LA
PROPIEDAD
CORRESPONDIEN
TE A LA PRIMERA
PERSONA
CANTIDAD DE $
QUE PAGA LA
PRIMERA

ESTADO
FINAL
ESTADO B

CANTIDAD DE
$ QUE PAGA EL
SEGUNDO
SOCIO

ESTRUCTURAS
SECUENCIALES
2. Anlisis del problema
a) Variables de salida
NOMBRE
DE LA
VARIABLE

p_seg

TIPO DE DATOS

Numrica /
Real

DESCRIPCION

Representa la
cantidad de dinero
que paga el
segundo socio

ESTRUCTURAS
SECUENCIALES
b) Variables de entrada
NOMBRE
DE LA
VARIABLE

TIPO DE DATOS

porc

Numrica /
Real

p_pri

Numrica /
Real

DESCRIPCION

Representa el
porcentaje de la
propiedad
correspondiente a
la primera persona
Representa la
cantidad de dinero
que invierte la

ESTRUCTURAS
SECUENCIALES
c) Restricciones
porc > 0.0 && porc < 1.0
p_pri > 0

ESTRUCTURAS
SECUENCIALES
d) Proceso
ps = 1 porc
Si porc p_pri

ps
p_seg
p_seg = ( p_pri * ps ) / porc

ESTRUCTURAS
SECUENCIALES
e) Variables de proceso
NOMBRE
DE LA
VARIABLE

ps

TIPO DE DATOS

Numrica /
Real

Constantes con nombre


No Hay

DESCRIPCION

Representa el
porcentaje de la
propiedad que
ocupa el segundo
inversionista

ESTRUCTURAS
SECUENCIALES
3. Diseo de la solucin
INICI
O
Digite el % y
el dinero de la
primera
persona
1

porc,
p_pri
Ps = 1 - porc
A

ESTRUCTURAS
SECUENCIALES
A
p_seg =
(p_pri * ps) /
porc
2

p_seg

FIN

ESTRUCTURAS
SECUENCIALES

La cantidad que paga


el segundo socio es:
$ , p_seg

ESTRUCTURAS
SECUENCIALES
Ejercicio:
Disee un algoritmo que intercambie
las cifras de las unidades de dos
nmeros enteros positivos
Ejemplo:
138
225
135

228

ESTRUCTURAS
SECUENCIALES
1. Planteamiento del problema
ESTADO
INICIAL
ESTADO A

DOS NUMEROS
ENTEROS
POSITIVOS

ESTADO
FINAL
ESTADO B

DOS NUMEROS
ENTEROS
POSITIVOS
MODIFICADOS

ESTRUCTURAS
SECUENCIALES
2. Anlisis del problema
a) Variables de salida
NOMBRE
DE LA
VARIABLE

TIPO DE DATOS

nm1

Numrica /
Entera

nm2

Numrica /
Entera

DESCRIPCION

Representa el
primer nmero
modificado
Representa el
segundo nmero
modificado

ESTRUCTURAS
SECUENCIALES
b) Variables de entrada
NOMBRE
DE LA
VARIABLE

TIPO DE DATOS

n1

Numrica /
Entera

n2

Numrica /
Entera

DESCRIPCION

Representa el
primer nmero a
modificar
Representa el
segundo nmero a
modificar

ESTRUCTURAS
SECUENCIALES
c) Restricciones
n1 > 0
n2 > 0
n1 != n2

ESTRUCTURAS
SECUENCIALES
d) Proceso
138 % 10 = 8
u1 = n1 % 10
u2 = n2 % 10
nm1 = n1 u1 +u2
nm2 = n2 u2 +u1

225 % 10 =
5

ESTRUCTURAS
SECUENCIALES
e) Variables de proceso
NOMBRE
DE LA
VARIABLE

u1

u2

TIPO DE DATOS

Numrica /
Entera

Numrica /
Entera
Constantes con nombre
No Hay

DESCRIPCION

Representa la cifra
de las unidades de
n1
Representa la cifra
de las unidades de
n2

ESTRUCTURAS
SECUENCIALES
3. Diseo de la solucin
INICI
O
Digite dos
nmeros
enteros
1

1
n1,
n2

u1 = n1 %
10
u2 = n2 %
10 A

ESTRUCTURAS
SECUENCIALES
A
nm1 = n1 u1
+ u2
nm2 = n2 u2
+ u1
2

nm1,
nm2
FIN