Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicios Visual Basics
Ejercicios Visual Basics
Desarrolle un programa en VBA que, a través de los datos que proporcione el usuario, calcule
cuántas disoluciones ácidas, básicas y neutras se han preparado y ofrezca el resultado. El
programa debe hacer lo siguiente:
Mostrar un mensaje de bienvenida y otro de despedida.
Preguntar al usuario cuál es el valor de pH de la primera disolución y si quiere
introducir más disoluciones. Continuará haciendo esto hasta que la respuesta sea No.
Determinará cómo es cada disolución en función de las siguientes categorías: ácida
para pH < 6.5; neutra entre 6.5 y 7.5; y básica por encima de 7.5; y contabilizará
cuántas tiene de cada.
Cuando tenga todos los valores de pH, ofrecerá un mensaje en el que se indiquen
cuántas disoluciones de cada clase hay. COMANDOS UTILIZADOS
Sub = Para definir una subrutina
Dim… As… = Para guardar una variable. (As Integer porque son números enteros)
MsgBox = Para dar entrada a un mensaje (el 0 es para que aparezca un aceptar y vbYesNo para
que aparezca sí o no)
Input = Para que el usuario Introduzca un dato
Do Loop Until = Para crear un buble hasta que se dé una situación en la que se corta
Select Case = Para distinguir entre distintos casos dentro de un valor de una misma variable
Sub Ejercicio_4()
Dim pH As Integer
Dim a As Integer
Dim n As Integer
Dim b As Integer
a=0
n=0
b=0
Ejercicio 1
Diseñar un programa que calcule el precio total de la compra de un producto a partir del
número de unidades compradas, el precio unitario y el IVA, creando los correspondientes
cuadros para introducir las variables y el cuadro con la respuesta final.
Sub Precio_compra()
resultado = MsgBox("El precio total es: " + Chr(13) + Chr(10) & Total, 0, "Precio final")
End Sub
Ejercicio 2
Sub Potencia()
Dim Numero, Solucion As Integer
Bienvenido = MsgBox(“Bienvenido a la calculadora de cuadrados”,0,”Bienvenida”)
Numero = InputBox("Introduzca un número entero", "Número")
Solucion = Numero * Numero
resultado = MsgBox("El cuadrado es:" + Chr(13) + Chr(10) & Solucion, 0, "Resultado")
Despedida = MsgBox(“Gracias por utilizar nuestro programa”,0,”Despedida”)
End Sub
Ejercicio 3
Sub raices()
Dim Numero As Integer
Dim Solucion As Single
Numero = InputBox("Introduzca un número entero", "Número")
If (Numero > 0) Then
Solucion = Numero ^ 0.5
resultado = MsgBox("La raíz cuadrada es:" + Chr(13) + Chr(10) & Solucion, 0, "Resultado")
Else
Error = MsgBox("El dato introducido es incorrecto", 5 + 16, "Error")
End If
End Sub
Ejercicio 4
( B+b ) · h
A=
2
Sub trapecio()
End Sub
Ejercicio 5
ρ·v·D
ℜ=
μ
Cree un programa de Excel que calcule este número y en función del resultado genere un
mensaje de la forma:
Sub Reynolds()
re = (d * ro * v) / mu
Select Case re
End Select
End Sub
Ejercicio 6:
Sub reactor()
Case Else
End Select
End Sub
Ejercicio 7
Diseñe un programa que le pida al usuario que introduzca un valor de Set Point para
controlar la temperatura del reactor del ejercicio anterior. Si el valor introducido está por
debajo de 500 o por encima de 1000 deberá mostrarle un mensaje de error al usuario. En
caso contrario no hará nada.
Sub TemperaturaConBucle()
Do
End If
End Sub
Ejercicio 8: Diseñe un programa que le pida al usuario un elemento del grupo de los
Anfígenos y le devuelva el peso atómico.
Sub Anfígenos()
Case "Oxígeno"
Case "Azufre"
Case "Selenio"
Case "Teluro"
Case Else
End Select
End Sub
Ejercicio 9
Sub presion()
resultado = MsgBox("La presión en pascales es: " + Chr(13) + Chr(10) & presion, 0, "presión
final")
End Sub
Ejercicio 10
Sub DoLoopUntil()
Dim n As Integer
suma = 0
n=0
Do
valor = InputBox("Introduzca el siguiente número", "Valores")
n=n+1
media = suma / n
Final = MsgBox("Números procesados = " & n & Chr(10) & "Suma = " & suma & Chr(10) &
"Media = " & media, 0, "Resultado")
End Sub
EJERCICIO 1
Desarrolle un programa en VBA que, a través de los datos que proporcione el usuario, calcule
cuántos elementos conductores, semiconductores y aislantes tiene y ofrezca el resultado. Para
ello debe hacer lo siguiente:
Preguntar al usuario cuál es la resistividad del primer elemento y si quiere introducir más
elementos. Continuará haciendo esto hasta que la respuesta sea No.
Determinará cómo es cada elemento en función de las siguientes categorías:
o Conductor si la resistividad es menor de 10-5
o Semiconductor si la resistividad está entre 10-5 y 105
o Aislante si la resistividad es mayor de 105
Cuando tenga todos los elementos, ofrecerá un mensaje en el que se indiquen cuántos
elementos de cada clase hay.
Sub Resistividad()
con = 0
semi = 0
ais = 0
con = con + 1
Case 10 ^ (-5) To 10 ^ 5
semi = semi + 1
Case Is > 10 ^ 5
ais = ais + 1
End Select
con = con + 1
Case 10 ^ (-5) To 10 ^ 5
semi = semi + 1
Case Is > 10 ^ 5
ais = ais + 1
End Select
Total1 = MsgBox("Hay " & con & " elementos conductores" + Chr(13) + Chr(10), 0)
Total2 = MsgBox("Hay " & semi & " elementos semiconductores" + Chr(13) + Chr(10), 0)
Total3 = MsgBox("Hay " & ais & " elementos aislantes" + Chr(13) + Chr(10), 0)
End Sub
EJERCICIO 2
El Índice de Cetano (IC) sirve para caracterizar la volatilidad y facilidad de inflamación de los
combustibles utilizados en los motores Diesel y da una idea del tiempo que transcurre entre la
inyección del carburante y el comienzo de la combustión. Cuanto mayor es el índice de cetano,
menor es el retraso de la ignición y mejor es la calidad de la combustión. El IC se puede calcular
a partir de la correlación recogida en la norma ASTM D4737, que tiene la siguiente forma:
IC4737 = 45,2 + 0,0892 T10N + (0,131 + 0,901 B) T50N + (0,0523 - 0,420 B) T90N + 0,00049
(T10N2 - T90N2) + 107 B + 60 B2
Siendo:
D = Densidad a 15 °C [Kg/m3 ].
Crear una subrutina llamada ICLarga que calcule en índice de cetano de un gasóleo, dados los
valores de D, T10, T50 y T90. La macro debe comprobar que todas las variables son positivas
antes de hacer el cálculo y, si no lo son, avisar al usuario de alguna forma. Del mismo modo,
debe comprobar que las temperaturas son crecientes en el orden T10 < T50 < T90 y, si no lo
son, avisar al usuario de alguna forma.
Sub Indice_cetano()
If D < 0 Then
End If
If T10 < T50 < T90 Then
End If
End Sub
EJERCICIO 3
Cree una macro de Excel que convierta la presión medida en un manómetro a Pascales a partir
de la altura (H) de la columna y la densidad (ρ) del líquido de relleno del manómetro utilizando
la expresión:
Sub Pascales()
Dim h, p As Single
Dim D As String
Select Case D
Case "agua"
p = 9.8 * 1000 * h
Case "mercurio"
p = 9.8 * 13560 * h
Case "etanol"
p = 9.8 * 789 * h
Case "glicerina"
p = 9.8 * 1260 * h
Case Else
End Select
End Sub
EJERCICIO 4
Desarrolle un programa en VBA que, a través de los datos que proporciona el usuario le indique
los posibles estados de oxidación de un elemento (usar los de la lista). Para ello debe:
- Preguntar al usuario cuál es grupo de elementos cuyo estado de oxidación quiere conocer y si
quiere saber el de algún grupo más. Continuará haciendo esto hasta que la respuesta sea No.
DATOS:
Alcalino: +1
Alcalinotérreo: +2
Carbonoideos: -4,4
Nitrogenoideos: -3,3,5
Anfígeno: -2,2,4,6
Halógeno: -1,1,3,5,7
Sub Estados_oxidacion()
Do
Case "Alcalinos"
Case "Alcalinotérreos"
Case "Carbonoideos"
Case "Nitrogenoideos"
Case "Anfigenos"
Case Halogenos
End Select