estructuras secuenciales_sesión 5 y 6

61
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

Upload: edwin-palacios

Post on 13-Jul-2016

224 views

Category:

Documents


2 download

DESCRIPTION

intro ues

TRANSCRIPT

Page 1: Estructuras Secuenciales_sesión 5 y 6

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

Page 2: Estructuras Secuenciales_sesión 5 y 6

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

Page 3: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

LOS SIMBOLOS MAS UTILIZADOS SON:

TERMINAL

ENTRADA DE DATOS

Page 4: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

PROCESO

SALIDA IMPRESA

Page 5: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

SALIDA GRAFICA

DECISION

Page 6: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

REPETICION

COMENTARIO

Page 7: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

CONECTOR, MISMA PAGINA

CONECTOR, DIFERENTE PAGINA

Page 8: Estructuras Secuenciales_sesión 5 y 6

DIAGRAMAS DE FLUJO

LINEAS DE FLUJO

Page 9: Estructuras Secuenciales_sesión 5 y 6

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

Page 10: Estructuras Secuenciales_sesión 5 y 6

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

Page 11: Estructuras Secuenciales_sesión 5 y 6

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

Page 12: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

Variable = Expresión

PROCESO ASIGNACION

Variable Expresión

Constante = Valor

Page 13: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

SALIDAS

A, B, C“La edad es:”, edad, “años”

Page 14: Estructuras Secuenciales_sesión 5 y 6

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

Page 15: Estructuras Secuenciales_sesión 5 y 6

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

Page 16: Estructuras Secuenciales_sesión 5 y 6

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

Page 17: Estructuras Secuenciales_sesión 5 y 6

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.

Page 18: Estructuras Secuenciales_sesión 5 y 6

OPERADORES ARITMETICOS

* +/%

+- -

% Regresa el residuo de la división

6 % 2 = 05.0 % 2 = 1

2.5 % 2 = 0.5

Page 19: Estructuras Secuenciales_sesión 5 y 6

OPERADORES ARITMETICOS

• 5 % 2 = ?

• 5 % 2 = 1

Page 20: Estructuras Secuenciales_sesión 5 y 6

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

Page 21: Estructuras Secuenciales_sesión 5 y 6

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

Page 22: Estructuras Secuenciales_sesión 5 y 6

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

Page 23: Estructuras Secuenciales_sesión 5 y 6

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:

Page 24: Estructuras Secuenciales_sesión 5 y 6

OPERADORES ARITMETICOS

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

Page 25: Estructuras Secuenciales_sesión 5 y 6

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

Page 26: Estructuras Secuenciales_sesión 5 y 6

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:

Page 27: Estructuras Secuenciales_sesión 5 y 6

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

Page 28: Estructuras Secuenciales_sesión 5 y 6

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

Page 29: Estructuras Secuenciales_sesión 5 y 6

METODOS DE LA CLASE Math

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

Page 30: Estructuras Secuenciales_sesión 5 y 6

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

Page 31: Estructuras Secuenciales_sesión 5 y 6

CONSTANTES DE COMA FLOTANTE

• Math.E• Regresa la base del logaritmo natural• (2.718282)• Math.PI• Regresa el valor de π (3.141593)

Page 32: Estructuras Secuenciales_sesión 5 y 6

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 ) )

Page 33: Estructuras Secuenciales_sesión 5 y 6

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

Page 34: Estructuras Secuenciales_sesión 5 y 6

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.

Page 35: Estructuras Secuenciales_sesión 5 y 6

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

Page 36: Estructuras Secuenciales_sesión 5 y 6

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

Page 37: Estructuras Secuenciales_sesión 5 y 6

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

Page 38: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• c) Restriccionesc1 > 0c2 > 0 c3 > 0c1 != c2 != c3

Page 39: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• d) Procesototal = c1 + c2 + c3

p1 = c1 / total * 100p2 = c2 / total * 100p3 = c3 / total * 100 ó p3 = 100 – ( p1 + p2 )

Page 40: Estructuras Secuenciales_sesión 5 y 6

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

Page 41: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• 3. Diseño de la solución

INICIO

«Digite las cantidades»

1

1

C1, c2, c3

Total = c1+c2+c3

A

Page 42: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

A

p1=c1/total*100p2=c2/total*100p3=100 - (p1+p2)

2

2

P1, p2, p3

FIN

Page 43: Estructuras Secuenciales_sesión 5 y 6

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.

Page 44: Estructuras Secuenciales_sesión 5 y 6

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

Page 45: Estructuras Secuenciales_sesión 5 y 6

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

Page 46: Estructuras Secuenciales_sesión 5 y 6

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

Page 47: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• c) Restricciones

• porc > 0.0 && porc < 1.0• p_pri > 0

Page 48: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• d) Proceso

• ps = 1 – porc

• Si porc p_pri• ps p_seg

• p_seg = ( p_pri * ps ) / porc

Page 49: Estructuras Secuenciales_sesión 5 y 6

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

Page 50: Estructuras Secuenciales_sesión 5 y 6

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

Page 51: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

A

p_seg =(p_pri * ps) / porc

2

2

p_seg

FIN

Page 52: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

« La cantidad que paga el segundo socio es: $» , p_seg

Page 53: Estructuras Secuenciales_sesión 5 y 6

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

Page 54: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

1. Planteamiento del problema

ESTADO INICIALESTADO A

ESTADO FINALESTADO B

• DOS NUMEROS ENTEROS POSITIVOS

• DOS NUMEROS ENTEROS POSITIVOS MODIFICADOS

Page 55: Estructuras Secuenciales_sesión 5 y 6

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

Page 56: Estructuras Secuenciales_sesión 5 y 6

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

Page 57: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• c) Restricciones

• n1 > 0• n2 > 0• n1 != n2

Page 58: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

• d) Proceso

• u1 = n1 % 10• u2 = n2 % 10

• nm1 = n1 –u1 +u2• nm2 = n2 –u2 +u1

138 % 10 = 8

225 % 10 = 5

Page 59: Estructuras Secuenciales_sesión 5 y 6

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

Page 60: Estructuras Secuenciales_sesión 5 y 6

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

Page 61: Estructuras Secuenciales_sesión 5 y 6

ESTRUCTURAS SECUENCIALES

A

nm1 = n1 – u1 + u2nm2 = n2 –u2 + u1

2

2

nm1, nm2

FIN