Upload
others
View
24
Download
3
Embed Size (px)
Citation preview
1
UNIVERSIDAD DON BOSCO
FACULTAD DE INGENIERIA
ESCUELA DE COMPUTACIÓN
Ciclo I
Programación de Algoritmos
Guía de Laboratorio No. 2
Expresiones y operadores
I. RESULTADOS DE APRENDIZAJE
Que el estudiante:
Defina los pasos de solución apropiados para un problema de tipo secuencial
Redacte expresiones complejas, utilizando los operadores de agrupación (paréntesis)
Redactar los pasos de un algoritmo en forma de diagrama de flujo con el software DFD
II. INTRODUCCIÓN
¿Qué es una Expresión?
Es una combinación de operadores y operandos de cuya evaluación se obtiene un valor.
Los operandos pueden ser valores fijos o nombres que identifican variables o constantes o funciones.
La evaluación de una expresión da lugar a un valor de un tipo de resultado. Ejemplos de expresiones:
a + 5*b
(a >= 0) Y ((b+5) > 10)
-a * 2 + b
a + b > 0
¿Cómo se determina el valor de una expresión?
Una expresión se evalúa de acuerdo con una precedencia de los operadores.
Ante una secuencia de operadores de igual precedencia, la evaluación se realiza según el orden de
escritura, de izquierda a derecha.
El orden de evaluación puede modificarse usando operadores de agrupación (paréntesis).
2
Operadores
Son símbolos o palabras que denotan a un cálculo/proceso que se debe realizar a uno o 2 operandos para
obtener un valor.
Los operadores se agrupan en categorías y se define un orden de precedencia al momento de resolverlos.
Algunas de las categorías de operadores son:
* Matemáticos * Relacionales * Agrupación
En esta Guía de laboratorio, veremos en detalle a los operadores de matemática.
Jerarquía de operadores matemáticos
Cuando se encuentran varios operadores matemáticos formando parte de expresiones complejas o
formulas (como, por ejemplo: 4 * 9.2 ^ 7 + 3-9 mod 4), se define una jerarquía de operadores
algebraicos estándar para ejecutar los diferentes cálculos en un orden establecido y devolver el resultado
final.
Esta jerarquía de operadores se ejecuta de “izquierda a derecha” dentro de la fórmula, aplicando en los
siguientes “niveles de operadores matemáticos y de agrupación”:
Nivel Operadores Descripción
0 ( ) Operador de Agrupación
1 ^ Potencia
2 * / MOD multiplicación, división y Residuo de la División
3 + - Suma y resta
Para el cálculo de una expresión, se recorre la misma de izquierda a derecha, haciendo las operaciones
que estén en el primer nivel de jerarquía de operadores. Luego repite el recorrido pero con los operadores
de cada uno de los restantes niveles de jerarquía.
Observe cómo se aplica este “jerarquía de operadores” en el siguiente ejemplo, descrito paso a paso:
Ejemplo de cálculo / Fórmula con varios tipos de operadores: 6 * 3 ^ 4 + 8 % 6 ^ 2 * 5.
Nivel
Jerarquía Cálculo realizado Descripción
1
6 * 3 ^ 4 + 8 % 6 ^ 2 * 5 Busca de izquierda a derecha las operaciones
con operadores del 1er nivel de jerarquía.
6 * 3 ^ 4 + 8 % 6 ^ 2 * 5 Primero se eleva 3 a la cuarta potencia.
3
Nivel
Jerarquía Cálculo realizado Descripción
6 * 81 + 8 % 6 ^ 2 * 5 Luego, se eleva 6 al cuadrado.
6 * 81 + 8 % 36 * 5 Como finalizó el recorrido del cálculo,
comenzará de nuevo pero con el próximo nivel
de jerarquía
2
6 * 81 + 8 % 36 * 5 Busca la primera multiplicación
486 + 8 % 36 * 5 Operador mod devuelve 8 ¿Por qué?
486 + 8 * 5 Se realiza la multiplicación de 8 por 5.
486 + 40 De nuevo recorre la fórmula con el último nivel
de operador
3
486 + 40 Hace la suma indicada
526 Finalizó el último recorrido y llegó al resultado
de la formula.
Resultado = 526
Creación de algoritmo de tipo Secuencial
Como se ha visto previamente, un algoritmo, “Es un conjunto de pasos o instrucciones con el fin de
resolver un problema”.
Los pasos de un algoritmo se ejecutan de manera secuencial.
Existen 3 estructuras de control para alterar esta secuencia de pasos dentro de un algoritmo, las cuales
son:
A. Estructura Secuencial
B. Estructura Condicional
C. Estructura Repetitiva
El algoritmo secuencial tiene la característica de que todos los pasos que lo forman siguen una
determinada secuencia para ejecutar sus procesos, de ahí que se le llame Secuencial.
En esta práctica, se tratará cómo implementar algoritmos de tipo Secuencial, denominados también como
Algoritmos Lineales.
Y tambien, se hará uso de los operadores de agrupación.
4
III. MATERIALES Y EQUIPO
No. Requerimiento Cantidad
1 Memoria USB 1
2 Computadora con el software DFD 1
IV. PROCEDIMIENTO
PARTE A: Definiendo expresiones matemáticas
1. Cree una carpeta denominada PAL_practica2_SUCARNET. Reemplace la expresión SUCARNET por su
respectivo número de carnet.
En esta carpeta guardara cada uno de los archivos de los pseudocódigos y diagramas de flujo que cree
en el resto del procedimiento.
2. Cree un documento de texto sencillo llamado Ejercicio1.txt y guárdelo dentro de su carpeta de
trabajo.
3. Proceda a llenar la tabla de la Imagen 2.1, con la expresión equivalente en cada caso. Recuerde la
“jerarquía de operadores” al momento de redactar cada expresión.
Imagen 2.1: Lista de expresiones a redactar y evaluar en Parte A
Expresión Expresión
equivalente Expresión
Expresión
equivalente
C <- 2 + A * D
A <-
D <-
C <-
C <-
4. En la Imagen 2.2 se muestra el desarrollo de los cálculos necesarios “paso a paso” para evaluar a
una expresión aritmética y cuyo resultado (valor de 8) se guarda en la variable (v).
5
5. De manera similar al ejemplo desarrollado en el paso
anterior, en su documento de texto redacte la
evaluación “paso a paso” de cada una de las
expresiones brindadas en la Imagen 2.1.
En cada cálculo, asigne a las variables A, B, C y D
un valor de 2, 3, -1 y 1, respectivamente.
Imagen 2.2: Evaluación de una expresión
v = 2 ^ 3 + 5 - 2 * 5 mod 3
v = 2 ^ 3 + 5 - 2 * 5 mod 3
v = 8 + 5 - 2 * 5 mod 3
v = 8 + 5 - 10 mod 3
v = 8 + 5 - 1
v = 13 - 1
v = 12
PARTE B: Uso de operadores de agrupación
6. Ejecute el software DFD, para luego, implementar ahí al flujograma del problema a continuación.
PROBLEMA 1:
Ayude a un estudiante de electrónica a determinar una
resistencia que reemplace al trío de resistencias,
conectadas según se muestra en la Imagen 2.3
Imagen 2.3: resistencias a reemplazar
7. La fórmula que determina el valor de la resistencia equivalente es la siguiente:
Y la expresión matemática equivalente de la formula anterior bajo DFD seria:
R <- 1/(1/(R1+R2)+1/R3)
Observe el uso de los paréntesis, que permiten alterar el orden en el cual DFD deberá operar a las
variables para determinar el valor final.
8. En el DFD vacío, proceda a crear el diagrama de flujo mostrado en la Imagen 2.4
9. Guarde el archivo DFD bajo el nombre Problema1.dfd y luego ejecute el diagrama.
Pruebe su solución con los valores de R1 de 10 Kilo-ohmios, R2 de 20 Kilo-ohmios y R3 de 30 Kilo-
ohmios.
6
Deberá obtener una resistencia equivalente de 15 Kilo-ohmios.
De igual forma, haga otras pruebas de ejecución, para luego llenar la tabla de pruebas de
ENTRADA-SALIDAS de la Imagen 2.5.
Ingrese cada trío de datos de entrada indicados ahí y anote las respectivas salidas.
Imagen 2.4: Flujograma en DFD que resuelve al Problema 1
Flujograma
(parte 1)
Instrucciones dentro
del símbolo
Flujograma
(parte 2)
Instrucciones dentro del
símbolo
'Calculo de resistencia equivalente' 'digite valor (kilo-ohmios) de las 2 resistencias en serie:'
'digite valor (en kilo-ohmios) de la ultima resistencia:' R <- 1/(1/(R1+R2)+(1/R3)) 'Resistencia equivalente es ',R,' kilo-ohmios'
Imagen 2.5: Tabla de Entradas/Salidas de solución del PROBLEMA 1
# prueba Datos entradas
(en Kilo-ohmios)
Datos salida
(Resultado en Kilo-ohmios)
1 R1= 10, R2 = 20 , R3 = 30 R = 15
2
3
4
7
10. Prepare un nuevo diagrama de flujo, bajo el nombre problema2.dfd.
11. A continuación, se le presenta otro problema (PROBLEMA 2) y su correspondiente solución en
pseudocódigo general (ver Imagen 2.6)
12. Traduzca cada Paso del Pseudocódigo anterior a los símbolos apropiados en su nuevo diagrama de
flujo.
PROBLEMA 2:
Determine el valor de cada uno de los 2 lados restantes de un
triángulo “rectángulo”, del cual solamente se conoce uno de sus
ángulos agudos y el valor del lado opuesto a ese ángulo.
Nota:
El ángulo se debe ingresar en grados sexagesimales (rango de
valores entre 1 a 45 grados).
Imagen 2.6: Solución (en pseudocódigo) a PROBLEMA 2.
Pseudocódigo general del PROBLEMA 2
1 2 3 4 5 6 7 8 9 10 11 12
Inicio Definir A<- 0, ang<-0 Definir B<- 0, C<- 0 Mostrar ‘Calculo de los lados de un triangulo rectangulo’ Mostrar ‘Digite el ángulo (1-45) interno conocido del triangulo’ Leer ang Mostrar ‘Digite el lado opuesto’ Leer B A <- B / TAN( ang ) C <- (A^2 + B^2) ^ 0.5 Mostrar ‘Los 3 lados del triangulo son: a= ‘, A , ‘ , b= ‘, B ,‘ y c= ‘ , C Fin
13. En la tabla de la Imagen 2.7 se proporciona una tabla de pruebas de ENTRADA-SALIDAS, para
comprobar este pseudocódigo.
Realice pruebas complementarias de este pseudocodigo.
14. Guarde los cambios en todos sus archivos y cierre las aplicaciones.
15. Llame a su instructor para evaluar el procedimiento ejecutado.
8
Imagen 2.7: Tabla de E/S del PROBLEMA 2.
# prueba Datos entradas Datos salida (Resultados)
1 ang= 30 B= 25 A = 43.3012 B = 25 C = 50
V. ANÁLISIS DE RESULTADOS
Elabore el archivo de diagramas de flujo (con la aplicación DFD) que resuelva cada uno de los siguientes
problemas.
IMPORTANTE:
Por cada solución deberá:
Utilizar la menor cantidad de expresiones de asignación, por lo que creará solamente expresiones
complejas gracias al uso de los paréntesis.
Crear un archivo de hoja de cálculo denominado PAL_analisis2 que contenga la tabla de entradas-
salidas, con las pruebas que indique cada ejercicio solicitado.
Ejercicio #1: Determinando la altura de vuelo de una aeronave.
La presión atmosférica promedio varia de acuerdo a la altura sobre el nivel del mar.
A nivel del mar, la presión
atmosférica ( Po ) es de 101,325
Pascales y la formula barométrica que
relaciona la altura ( h ) con la presión
atmosférica ( P ) es:
𝑃 = 𝑃𝑜. 𝑒−𝛼.ℎ
En donde 𝛼 = 1.19𝑥10−5𝑚−1
y 𝑒 es la base de los logaritmos
naturales.
Elabore un algoritmo que determine la altura aproximada (h, en metros) a la cual viaja una avioneta (tal
como se observa en el diagrama de este ejercicio). Tome en cuenta que los pilotos del mismo reportan la
presión atmosférica (P, en Pascales) continuamente en su trayectoria.
9
Por ej., cuando el piloto reporta que sus instrumentos indican una presión atmosférica de 65,700 Pascales,
el algoritmo a diseñar debera indicar que el avión viaja a una altura aproximada de 36,406.26 m.
Ejercicio #2: Estadísticas de una serie de valores
Solicite una serie de 4 números cualquiera, para luego calcular y mostrar el valor promedio de la lista y
luego la desviación típica de toda la serie.
La desviación típica ( ) de una serie de N valores se calcula con la siguiente fórmula:
Por ejemplo:
Si usuario brinda los números 5, 6, 3, 4, el valor promedio �̅� es de 4.5 y la desviación típica es de 1.118
Desarrolle una tabla de entradas-salidas que contenga un total de 4 pruebas de su algoritmo.
Ejercicio #3: Capacidad de un tubo de ensayo
Observe la Imagen 2.8. En ella se representa a las medidas básicas (en centímetros) de un tubo de ensayo
estándar usado en los laboratorios de química.
En cualquier tubo de ensayo, se cumple la norma que la altura del mismo es siempre 6 veces más que su
respectivo diámetro. Y cuenta con un fondo esférico perfecto.
Cree un diagrama de flujo que permita determinar los
siguientes resultados:
A. Capacidad límite (Volumen, en centímetros cúbicos)
que puede contener un tubo de ensayo. El analista
médico brinda la altura (en centímetros) del tubo.
B. Máxima cantidad (masa en gramos) de un liquido
con el cual podría llenarse completamente este tubo
de ensayo. Para ello, el analista medico brinda la
densidad del liquido utilizado para llenar el tubo.
Importante:
Recuerde la conversión de unidades de volumen:
1000 𝑚𝑚3 = 1 𝑐𝑚3
Investigue el principio de la densidad de los líquidos.
Imagen 2.8:
Medidas de un tubo de ensayo
Elabore una tabla de entradas-salidas, que contenga los resultados anteriores para 5 medidas de alto de
tubos de ensayo.
10
Ejercicio #4: Nota final del curso de Sistemas de Telecomunicación 1
Un estudiante desea saber ¿Cuál será su calificación final en el curso de Sistemas de Telecomunicacion
I (ST1)? Dicha calificación se compone de los siguientes porcentajes:
• 40% Promedio de 3 parciales de teória • 35% Defensa de proyecto del curso.
• 25%: Portafolio del curso
Ejercicio #5: Perímetro de un triangulo
Determine la medida del perímetro de un
triángulo cualquiera, el cual está definido por 3
puntos dentro del plano cartesiano.
Elabore una tabla de entradas-salidas, que tenga
el resultado de perímetros de 3 pruebas de
ejecución del diagrama de flujo.
Ejercicio #6: Determinación de la tasa de interés compuesta sobre un préstamo
Un millonario prestamista necesita saber la tasa de interés (%) compuesta que debe aplicar a uno de sus
préstamos, para obtener un monto de ganancia, durante un periodo de tiempo N.
Del préstamo a realizar, solamente se conoce el valor del Monto ($) a prestar hoy, Monto ($) que ganará
en concepto por intereses que ganara y el tiempo (en años) durante el cual prestara el dinero.
La fórmula que calcula la tasa de interés compuesta ( i ) es la siguiente:
En donde:
i: tasa de interés compuesta
N: tiempo en años durante el cual prestara el dinero
Mi: Monto inicial que prestara hoy
Mf: Monto final que le pagaran al transcurrir el tiempo del
préstamo
Por ejemplo:
Si el monto que presta hoy es de $2000, durante un total de 6 años y quiere ganar $530 solo en concepto
de intereses, deberá aplicar una tasa de interés compuesta del 4.0%
Elabore una tabla de entradas-salidas, que tenga 4 resultados de tasas de interés, cada una obtenida del
cálculo de un préstamo diferente.
11
VI. BIBLIOGRAFÍA
Joyanes Aguilar, Luís. Metodología de la Programación: Diagramas de Flujo, Algoritmos y
Programación estructurada. Editorial: MCGRAW HILL. No. de clasificación 005.1 J88 1998.
Joyanes Aguilar, Luís. Problemas de Metodología de la Programación. Editorial: MCGRAW HILL.
No. de clasificación 005.1 J88 1990.
12
Guía de Laboratorio No. 2
RÚBRICA DE EVALUACIÓN
Actividad a evaluar: ANÁLISIS DE RESULTADOS
Formar grupos entre 3 a 5 estudiantes, llenar esta hoja de evaluación y entregarla a su docente.
Desarrollar los diferentes problemas listados en el ANÁLISIS DE RESULTADOS. Finalmente, su
instructor seleccionará a 3 de los problemas y los estudiantes explicarán sus propuestas de solución
de los mismos.
Lista de Integrantes:
CARNET 1 CARNET 2 CARNET 3 CARNET 4 CARNET 5
Problemas a resolver:
Criterio a evaluar
Prob
1
Prob
2
Prob
3 PROM. Puntaje
(15%)
Identifica las variables de entrada y salida esperadas
Cada variable se inicializa antes de ser utilizada
(20%)
Utiliza la menor cantidad de asignaciones, gracias al uso
de los paréntesis en expresiones complejas
(15%)
Define las expresiones correctas para operar a los datos de
entrada
(40%)
Elabora la tabla de Entrada-Salida solicitada
Obtiene cada una de las respuestas solicitadas
Aplican las restricciones descritas en el problema
(10%)
Diálogo del algoritmo con usuario es apropiado