Está en la página 1de 12

POLITÉCNICO COLOMBIANO

Jaime Isaza Cadavid

Programación en VBA

Taller 1 Fecha: Abril de 2017

Indicador de logro a evaluar: Usa los conceptos algorítmicos y de la lógica de


programación para solucionar problemas utilizando una metodología y herramienta
informática apropiada.

NOTAS:
 Este taller se debe hacer como preparación para el quiz. En ningún caso representará
una calificación.
 El primer ejercicio se entrega resuelto como ejemplo para el desarrollo de los demás.

Para resolver este taller es fundamental tener en cuenta lo siguiente:

1. Jerarquía de los operadores matemáticos (En qué orden la computadora


realiza los cálculos?):Cuando se tiene una expresión matemática linealizada en
una instrucción de computadora, las operaciones matemáticas se ejecutan en un
orden que lo define la prioridad de los operadores, como se puede observar en la
siguiente tabla:

Operador Operación Orden Ejemplo matemático


() Separación de expresiones 1
^ Potenciación 2 x2
División a
/
b
Módulo (residuo de la 3
mod división) 32 mod5  2

* Multiplicación 4 ab
+ Suma ab
5
- Resta a b

Por ejemplo:
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

Se denomina pendiente
a la inclinación de un
elemento respecto a la
horizontal, como se
puede observar en la
siguiente figura:

Su cálculo se realiza mediante la siguiente fórmula:


y y 2  y1
m 
x x2  x1

Cuya representación linealizada sería:

m= ( y2 – y1 ) / ( x2 – x1 )

En ella se puede observar que son necesarios los paréntesis para que primero se
ejecuten las restas y por último la división ya que la operación de división tiene
prioridad sobre la de la resta.

2. Linealizar expresiones matemáticas (Como se deben escribir las expresiones


matemáticas en la computadora?):Lamentablemente las expresiones
matemáticas tal y como se escriben en los respectivos problemas, no pueden ser
introducidas de la misma manera a la computadora. La computadora exige que
deban ser introducidas en 1 sola línea, operación conocida como linealización.

Expresión Matemática Expresión Linealizada


sin 
tan  
cos 
tan() = sin()/ cos()

Los siguientes son los pasos sugeridos Linealizar la siguiente ecuación


para convertir una expresión (correspondiente a la solución de una
matemática a su forma lineal: ecuación de segundo grado):
 b  b 2  4ac
x
2a
a) Se inicia identificando los símbolos
usados en la expresión matemática
x = -b + b^2–4*a*c/2*a
(variables, constantes y operadores)
y ubicándolos en el orden en que
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

aparecen (de izquierda a derecha y


de arriba hacia abajo)
b) Se deben respetar los paréntesis
originales de la expresión
matemática, incluyendo llaves y No aplica
corchetes, los cuales también se
pasan como paréntesis
c) Identificar operaciones agrupadas
como por ejemplo parámetros de
x =( -b + (b^2–4*a*c))/(2*a)
una función, numeradores o
denominadores
d) Las funciones se deben dejar como
aparecen, aunque las raíces se
pueden reemplazar por la respectiva
potencia fraccionaria. Ejemplo:
x =( -b + ( b ^ 2 – 4 * a * c ) ^ 0.5 ) / ( 2 * a )
por ^ (1/2) ó^ 0.5
3 por ^ (1/3) ó^ 0.333333

e) Tener en cuenta la prioridad de los


operadores para eliminar paréntesis Todos los paréntesis son necesarios
no necesarios

Ejercicios:

1. Dada la siguiente secuencia de asignaciones


a5
b12
c15
aa + 3
bb + 2 – a
c a + b + c
aa + c
b 10
cc + 3 - b + 2

Qué valores quedan almacenados en las variables a, byc?

R/
a =5
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

b = 12

c = 15

a =5+3
=8

b = 12 + 2 – 8
=6

c = 8 + 6 + 15
= 29

a = 8 + 29
= 37

b = 10

c = 29 + 3 – 10 + 2
= 24

Los valores que al final quedan son: a=37, b=10yc=24


2. Dada la siguiente secuencia de asignaciones
a 13
b 12
c 5
d 25
aa + 10
bb + 5 – c
cc + 4 + b
dd + b + a
aa + 1
bb + c
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

c b + c
d b + b

Qué valores quedan almacenados en las variables a, b, cyd?


3. Dada la siguiente secuencia de asignaciones
x -5
y 10
z 5
x x + 10
yy + 5 – z
zz + 4 + y
xx + y + z
x x + 1
yy + z
z y + z
x y + z

Qué valores quedan almacenados en las variables x, y, yz?


3. Concepto de algoritmo cuantitativo: Anteriormente se pudo verificar que en
nuestra vida cotidiana formulamos y ejecutamos algoritmos, por ejemplo, Cómo
desplazarnos a un lugar? Cómo alimentarnos a la hora del almuerzo? Cómo
cruzar una calle?

Cuando se trata de aprovechar la computadora, esta requiere ser programada y la


forma de hacerlo es mediante algoritmos cuantitativos.

Los algoritmos cuantitativos se caracterizan por:


 Permitir el ingreso de datos (si el problema lo requiere) mediante la
instrucción de lectura.
 Permitir realizar cálculos que son almacenados en variables mediante la
instrucción de asignación. Esta instrucción requiere que las fórmulas a
utilizar sean linealizadas.
 Permitir mostrar los valores de variables, expresiones u constantes
mediante la instrucción de salida.
 Permitir que algunas instrucciones solamente cuando se cumpla una
condición utilizando instrucciones condicionales (Se verán más
adelante)
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

 Permitir que algunas instrucciones se repitan en caso de ser necesario


utilizando instrucciones iterativas (repetitivas).

4. Estrategia de elaboración de un algoritmo cuantitativo. Aunque pueden existir


diversas maneras para elaborar un algoritmo cuantitativo, se sugiere cumplir al
menos los siguientes pasos:
 Comprender el problema. Si no se comprende el problema, es
prácticamente imposible elaborar un algoritmo que permita solucionarlo.
 Especificar los datos de entrada. Se trata de enumerar las variables y
constantes necesarias para resolver el problema.
 Especificar los datos de salida. Se trata de enumerar las variables que se
deben calcular como solución al problema.
 Especificar el proceso de solución. Indicar los cálculos (fórmulas),
decisiones y repeticiones necesarios para obtener los datos de salida a
partir de los datos de entrada.
 Codificar el algoritmo. Escribir las instrucciones necesarias para resolver
el problema en un lenguaje de seudocódigo o un lenguaje de programación

Elaborar el respectivo algoritmo y la respectiva aplicación en VBA sobre MS Excel para


cada uno de los siguientes enunciados:

1. El valor devengado de un empleado en una compañía se realiza de la siguiente


manera:
 Se multiplica el número de horas laboradas en el período de pago por el
valor hora básico.
 El valor hora básico se calcula dividiendo el salario básico mensual por 240
(30 días por 8 horas)
 Se multiplica el número de horas extras laboradas en el período de pago
por el valor hora básico incrementado en porcentaje

R/
 Datos de Entrada:
- Salario Básico Mensual(SBM)
- Horas laboradas (H)
- Horas Extras laboradas (HE)
- Porcentaje Incremento Horas Extras (PHE)
 Datos de Salida:
- Valor Devengado(VD)
 Proceso:
Calcular Valor Hora Básico (VHB) como SBM / 240
VD comienza en VHB * H
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

Calcular Valor Hora Extra (VHE) como VHB*(1+PHE)


VD se incrementa en HE * VHE

Algoritmo
Inicie
Lea SBM
Lea H
Lea HE
Lea PHE
VHB  SBM / 240
VHE  VHB * (1 + PHE)
VD  H * VHB + HE * VHE
Fin

Programa
Para la implementación del aplicativo mediante VBA en MS Excel, se debe
comenzar con el diseño de una interface de usuario como la siguiente:

Se puede observar que se inserta un elemento denominado Botón de Comando


el cual permite que pueda ser programado para realizar una acción determinada
cuando el usuario haga clic en él. Para poder agregar este tipo de elemento se
debe tener activa la ficha Programador y elegirlo en las opciones del botón
Insertar de dicha ficha.
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

Adicionalmente
se realizará
validación de
la información
que el usuario
digite en las
celdas
destinadas
para ello. En
razón de esto,
se utilizará el
comando
Validación de
Datos que
aparece en la
ficha Datos:

Por ejemplo, para la celda donde se digitará el Salario Básico Mensual se tendría
la siguiente validación:

La cual indica que debe ser un valor numérico entero mayor a 0. Algo similar se
debe hacer con las celdas B3, B4 y B5 donde el usuario podrá ingresar los datos
de entrada.
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

Para cambiar el texto del botón, se debe cargar la ventana de propiedades


(haciendo clic derecho sobre el respectivo botón y seleccionar en el menú de
contexto la opción Propiedades) y digitarlo en la propiedad Caption:

La programación del algoritmo se hará mediante el subprograma que responde al


evento Click del botón de comando. Para activar este evento, basta con hacer clic
derecho en el botón y seleccionar en el menú de contexto la opción Ver Código.

El código respectivo sería el siguiente:


Private Sub btnVerificar_Click()
'Leer datos de entrada
SBM = Sheets("Hoja1").Cells(2, 2)
H = Sheets("Hoja1").Cells(3, 2)
HE = Sheets("Hoja1").Cells(4, 2)
PHE = Sheets("Hoja1").Cells(5, 2)
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

'Calcular el valor devengado


VHB = SBM / 240
VHE = VHB * (1 + PHE)
VD = H * VHB + HE * VHE

'Mostrar resultados
Sheets("Hoja1").Cells(6, 2) = VD
End Sub

Este código toma el valor digitado en la celda B2 de la hoja “Hoja1”y lo lleva a la


variable SBM, lo digitado celda B3 a la variable H, lo digitado celda B4 a la variable
HE y lo digitado celda B5 a la variable PHE.

Posteriormente y siguiendo con el algoritmo, se realizan los cálculos para calcular


el valor devengado y finalmente se muestra el resultado obtenido en la celda B6.

Para verificar su
funcionamiento, se digitan
valores en las celdas y se hace
clic en el botón. La siguiente
imagen ilustra un ejemplo de la
ejecución:

2. En el anterior ejercicio, permitir calcular el valor de las deducciones de la siguiente


manera:
 Valor de la Seguridad Social (EPS) equivalente a un porcentaje dado del valor
devengado
 Valor del aporte a la pensión (AFP) equivalente a un porcentaje dado del valor
devengado

3. Para calcular la calificación definitiva de una asignatura por parte de un estudiante


se calcula un promedio ponderado basado en 5 notas con sus respectivos
porcentajes.

4. Dado el valor de un ángulo en grado, convertirlo en radianes. Tener cuenta que


180 grados son iguales a π radianes.
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

5. Un tetraedro regular es una figura cúbica formada por


cuatro caras que son triángulos equiláteros y cuatro
vértices en cada uno de los cuales concurren tres
caras. El volumen se calcula mediante la fórmula:

Siendo a el valor de la arista.

6. Usted vendió un vehículo hace 1 año y recibió trimestralmente 4 valores diferentes


que suman el valor del vehículo pactado. Dado que el valor del dinero disminuye
con el tiempo, calcular cuánto recibió realmente. Tener en cuenta la siguiente
fórmula para calcular el valor presente (VP) de un Capital (K), que se recibirá al
final de un número de períodos(n), a una tasa de interés (r), es igual a:

K
VP 
1  r n
7. Calcular el área de un pentágono, conocidos el valor de
la longitud de uno de sus lados y la apotema (distancia
de cada lado al centro). Tener en cuenta las siguientes
fórmulas.
Perímetroa 
A
2
Perímetro  5l

8. Calcular el área de una elipse, conocidos sus radios.


Tener en cuenta la siguiente fórmula:
A  r1r2
POLITÉCNICO COLOMBIANO
Jaime Isaza Cadavid

Programación en VBA

9. Se desea saber la cantidad de litros que


caben en un tonel de vino. Tener en
cuenta las siguientes fórmulas:

V  h
2r2  r1 
3
1litro  0.001m  1dm3  1000cm3
3

10. La matrícula de un estudiante en una Universidad se realiza de la siguiente


manera:
 Inicia con una base de $ 1’000.000.
 Cada crédito matriculado cuesta $350.000
 Se debe agregar un seguro de accidentes por $ 200.000

11. El cálculo de un tiquete aéreo se realiza de la siguiente manera:

 Costo del trayecto de ida


 Costo del trayecto de regreso
 Un porcentaje de las tasas aeroportuarias
 Un porcentaje de impuestos

12. Un vendedor recibe de pago un salario base más las siguientes comisiones por
sus ventas:
 Primera venta (5 %)
 Segunda venta (10%)
 Tercera venta (12%)
 Cuarta venta (15%)

También podría gustarte