universidad don bosco facultad de ingenieria escuela … · 1 universidad don bosco facultad de...

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

Upload: others

Post on 20-Sep-2019

27 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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

Page 2: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 3: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 4: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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

Page 5: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 6: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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

Page 7: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 8: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 9: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 10: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 11: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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.

Page 12: UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA … · 1 UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN Ciclo I Programación de Algoritmos Guía de Laboratorio

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