estructuras secuenciales_sesión 5 y 6

Post on 13-Jul-2016

225 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

intro ues

TRANSCRIPT

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

top related