Upload
edwin-palacios
View
227
Download
2
Embed Size (px)
DESCRIPTION
intro ues
Citation preview
DIAGRAMAS DE FLUJO
• FLUJOGRAMA Es una representación grafica de un algoritmo
• Está constituido por un conjunto de bloques y flechas, cada uno de los cuales representa una acción específica.
• Estos símbolos están normalizados por el Instituto Norteamericano de Estándares ANSI
DIAGRAMAS DE FLUJO
VENTAJAS DE LOS FLUJOGRAMAS • Permiten diseñar y expresar el algoritmo en
forma sencilla• Permiten aclarar y comunicar la lógica• Permiten cierto grado de normalización en el
diseño 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
símbolo
DIAGRAMAS DE FLUJOESQUEMA GENERAL DE UN FLUJOGRAMA
INICIO
PROCESO
FIN
R
A
N
G
O
RANGO DEL DIAGRAMA: Es la extensión del recorrido, desde el símbolo de inicio hasta el símbolo de fin
ESTRUCTURAS SECUENCIALES
• En estas, las acciones se ejecutan una tras otra, según el orden de aparición en el algoritmo. No hay decisiones que tomar
• Las acciones son:• ENTRADAS
nombre, nota
• Leer los datos de entrada• Asignar esos datos a las variables
ESTRUCTURAS SECUENCIALES
Variable = Expresión
PROCESO ASIGNACION
Variable Expresión
Constante = Valor
ESTRUCTURAS SECUENCIALES
SALIDAS
A, B, C“La edad es:”, edad, “años”
ESTRUCTURAS SECUENCIALES
• Se imprimen los mensajes (entrecomillados)• Se extrae de memoria el valor de las variables
y se imprimen
«Digite el año de nacimiento»
«El promedio es:», prom
EXPRESIONES• Expresión Conjunto de operadores y
operandos que producen un valor. Los operandos representan las variables, constantes, funciones o cómputos 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 cálculo• Se asigna el resultado a la variable de la
izquierda
• Expresiones no válidas:• A + c * 7 = d• 7 = 10
OPERADORES
• Un operador es un símbolo (+, -, *, /, etc.) que tiene una función predefinida (suma, resta, multiplicación, etc.) .
• Los operadores se utilizan para combinar o modificar los valores de un programa.
• Por el número de operandos sobre los que actúan , pueden clasificarse en unarios, binarios y ternarios.
OPERADORES ARITMETICOS
* +/%
+- -
% Regresa el residuo de la división
6 % 2 = 05.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 realEjemplo:• 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 jerarquía para evaluar expresiones
aritméticas:1. Se evalúan las expresiones encerradas entre
paréntesis. Si hay mas de una, se procede de izquierda a derecha. Si hay paréntesis anidados, se procede a evaluar el mas interno, es decir de adentro hacia afuera.
2. Se evalúan las funciones, si hay mas de una, se procede de izquierda a derecha
OPERADORES ARITMETICOS
3. Se ejecutan las operaciones aritméticas, iniciando con el operador de mayor jerarquía
4. Si hay mas de un operador de igual jerarquía, se procede de izquierda a derecha
Ejemplos:Evaluar las siguiente expresiones aritméticas:
OPERADORES ARITMETICOS
• 5 – 3 * ( 5 * ( 3 + 4 ) % 2 )• 5 – 3 * ( 5 * 7 % 2 )• 5 – 3 * ( 35 % 2 )• 5 – 3 * 1• 5 – 3 • 2
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 común en expresiones aritméticas. Math es una clase perteneciente al espacio de nombres System. Los métodos de la clase Math realizan cálculos matemáticos básicos. A continuación, 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 a b• 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 número mas cercano sin
parte decimal o con una determinada precisión.• 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, debemos construir la expresión aritmética que pueda ser operada por la computadora:
V = 4 / 3 * ( PI * Pow ( r , 3 ) )
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. Diseñe una solución para obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
ESTRUCTURAS SECUENCIALES
1. Planteamiento del problema
ESTADO INICIALESTADO A
ESTADO FINALESTADO B
• CANTIDAD DE DINERO QUE INVIERTE CADA PERSONA
• PORCENTAJE DE DINERO QUE INVIERTE CADA PERSONA
ESTRUCTURAS SECUENCIALES
2. Análisis del problemaa) Variables de salidaNOMBRE DE LA
VARIABLETIPO DE DATOS DESCRIPCION
p1 Numérica / Real Representa el porcentaje que invierte la primera persona
p2 Numérica / Real Representa el porcentaje que invierte la segunda persona
p3 Numérica / Real Representa el porcentaje que invierte la tercera persona
ESTRUCTURAS SECUENCIALES
• b) Variables de entradaNOMBRE DE LA
VARIABLETIPO DE DATOS DESCRIPCION
c1 Numérica / Real Representa la cantidad que invierte la primera persona
c2 Numérica / Real Representa la cantidad que invierte la segunda persona
c3 Numérica / Real Representa la cantidad que invierte la tercera persona
ESTRUCTURAS SECUENCIALES
• c) Restriccionesc1 > 0c2 > 0 c3 > 0c1 != c2 != c3
ESTRUCTURAS SECUENCIALES
• d) Procesototal = c1 + c2 + c3
p1 = c1 / total * 100p2 = c2 / total * 100p3 = c3 / total * 100 ó p3 = 100 – ( p1 + p2 )
ESTRUCTURAS SECUENCIALES• e) Variables de proceso
• Constantes con nombre• No Hay
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
totalNumérica / Real Representa el total de
dinero invertido por los tres
ESTRUCTURAS SECUENCIALES
• 3. Diseño de la solución
INICIO
«Digite las cantidades»
1
1
C1, c2, c3
Total = c1+c2+c3
A
ESTRUCTURAS SECUENCIALES
A
p1=c1/total*100p2=c2/total*100p3=100 - (p1+p2)
2
2
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 dólares que este paga, diseñe una solución que calcule e imprima cuanto paga mensualmente el segundo socio.
ESTRUCTURAS SECUENCIALES
1. Planteamiento del problema
ESTADO INICIALESTADO A
ESTADO FINALESTADO B
• % DE LA PROPIEDAD CORRESPONDIENTE A LA PRIMERA PERSONA
• CANTIDAD DE $ QUE PAGA LA PRIMERA PERSONA
• CANTIDAD DE $ QUE PAGA EL SEGUNDO SOCIO
ESTRUCTURAS SECUENCIALES
2. Análisis del problemaa) Variables de salida
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
p_seg Numérica / Real Representa la cantidad de dinero que paga el segundo socio
ESTRUCTURAS SECUENCIALES
• b) Variables de entradaNOMBRE DE LA
VARIABLETIPO DE DATOS DESCRIPCION
porc Numérica / Real Representa el porcentaje de la propiedad correspondiente a la primera persona
p_pri Numérica / Real Representa la cantidad de dinero que invierte la primera persona
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
• Constantes con nombre• No Hay
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
ps Numérica / Real Representa el porcentaje de la propiedad que ocupa el segundo inversionista
ESTRUCTURAS SECUENCIALES
• 3. Diseño de la solución
INICIO
«Digite el % y el dinero de la primera persona»
1
1
porc, p_pri
Ps = 1 - porc
A
ESTRUCTURAS SECUENCIALES
A
p_seg =(p_pri * ps) / porc
2
2
p_seg
FIN
ESTRUCTURAS SECUENCIALES
« La cantidad que paga el segundo socio es: $» , p_seg
ESTRUCTURAS SECUENCIALES
• Ejercicio:• Diseñe un algoritmo que intercambie las cifras
de las unidades de dos números enteros positivos
Ejemplo: 138 225
135 228
ESTRUCTURAS SECUENCIALES
1. Planteamiento del problema
ESTADO INICIALESTADO A
ESTADO FINALESTADO B
• DOS NUMEROS ENTEROS POSITIVOS
• DOS NUMEROS ENTEROS POSITIVOS MODIFICADOS
ESTRUCTURAS SECUENCIALES
2. Análisis del problemaa) Variables de salida
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
nm1 Numérica / Entera Representa el primer número modificado
nm2 Numérica / Entera Representa el segundo número modificado
ESTRUCTURAS SECUENCIALES
• b) Variables de entrada
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
n1 Numérica / Entera Representa el primer número a modificar
n2 Numérica / Entera Representa el segundo número a modificar
ESTRUCTURAS SECUENCIALES
• c) Restricciones
• n1 > 0• n2 > 0• n1 != n2
ESTRUCTURAS SECUENCIALES
• d) Proceso
• u1 = n1 % 10• u2 = n2 % 10
• nm1 = n1 –u1 +u2• nm2 = n2 –u2 +u1
138 % 10 = 8
225 % 10 = 5
ESTRUCTURAS SECUENCIALES• e) Variables de proceso
• Constantes con nombre• No Hay
NOMBRE DE LA VARIABLE
TIPO DE DATOS DESCRIPCION
u1 Numérica / Entera Representa la cifra de las unidades de n1
u2 Numérica / Entera Representa la cifra de las unidades de n2
ESTRUCTURAS SECUENCIALES
• 3. Diseño de la solución
INICIO
«Digite dos números enteros»
1
1
n1, n2
u1 = n1 % 10u2 = n2 % 10
A
ESTRUCTURAS SECUENCIALES
A
nm1 = n1 – u1 + u2nm2 = n2 –u2 + u1
2
2
nm1, nm2
FIN