Ejercicio 1: Cálculo de promedio ponderado y determinación de estado académico
Calcular el promedio de notas correspondiente a cuatro calificaciones que podría ingresar un alumno con la siguiente ponderación: 10%, 20%, 30%, 40%. Luego, imprimir por pantalla el valor del promedio y su situación, siendo el promedio mayor o igual a 4,0 «Aprobado», de lo contrario, «Reprobado».
Sub Ejercicio1()
Dim n1, n2, n3, n4, p As Double
'Validación de cada nota
Do
n1 = InputBox("Ingrese nota 1: ")
Loop While (n1 < 1 Or n1 > 7)
Do
n2 = InputBox("Ingrese nota 2: ")
Loop While (n2 < 1 Or n2 > 7)
Do
n3 = InputBox("Ingrese nota 3: ")
Loop While (n3 < 1 Or n3 > 7)
Do
n4 = InputBox("Ingrese nota 4: ")
Loop While (n4 < 1 Or n4 > 7)
'Cálculo del promedio ponderado
p = n1 * 0.1 + n2 * 0.2 + n3 * 0.3 + n4 * 0.4
'Determinación del estado académico
If (p >= 4) Then
MsgBox "El promedio es: " & Format(p, "0.0") & " es Aprobado"
Else
MsgBox "El promedio es: " & Format(p, "0.0") & " es Reprobado"
End If
End Sub
Ejercicio 2: Suma o resta de dos valores según su orden
Ingresar dos valores numéricos por pantalla. Si el valor 1 es mayor que el valor 2, entonces se suman ambos valores; de lo contrario, se restan los dos valores. Imprimir por pantalla el resultado.
Sub Ejercicio2()
Dim v1, v2, r As Integer
'Validación de cada valor entero y transformación a número con la función Val
Do
v1 = Val(InputBox("Ingrese Valor 1: "))
Loop While (v1 = 0)
Do
v2 = Val(InputBox("Ingrese Valor 2: "))
Loop While (v2 = 0)
'Comparación y operación
If (v1 > v2) Then
r = v1 + v2
Else
r = v1 - v2
End If
MsgBox "El resultado es: " & r
End Sub
Ejercicio 3: Evaluación del precio de una bicicleta
Ingresar por pantalla el precio de una bicicleta (solicitar el ingreso imprimiendo por pantalla). Luego, de acuerdo al precio de dicha bicicleta, si el valor es mayor a $60.000, entonces imprimir por pantalla: “Bicicleta costosa”; de lo contrario, imprimir “¡Deme dos!”.
Sub Ejercicio3()
Dim precio As Long
'Validación de precio
Do
precio = Val(InputBox("Ingrese precio de la bicicleta: "))
Loop While (precio <= 0)
'Evaluación del precio
If (precio > 60000) Then
MsgBox "Bicicleta costosa"
Else
MsgBox "¡Deme dos!"
End If
End Sub
Ejercicio 4: Determinación del número mayor entre dos valores
Ingresar dos valores numéricos e indicar cuál es el número mayor (considerando que los números ingresados no serán iguales).
Sub Ejercicio4()
Dim v1, v2 As Integer
'Validación: los números ingresados no serán iguales
Do
v1 = Val(InputBox("Ingrese Valor 1: "))
v2 = Val(InputBox("Ingrese Valor 2: "))
Loop Until (v1 <> v2)
'Comparación
If (v1 > v2) Then
MsgBox "El numero mayor es : " & v1
Else
MsgBox "El numero mayor es : " & v2
End If
End Sub
Ejercicio 5: Calculadora básica con menú de opciones
Ingresar dos valores numéricos por pantalla y permitirle al usuario elegir qué operación realizar:
- Opción 1: Sumar los números.
- Opción 2: Restar los números.
- Opción 3: Multiplicar los números.
- Opción 4: Dividir los números.
Luego de realizar la operación correspondiente, imprimir por pantalla el resultado de la operación y finalizar el algoritmo.
Sub Ejercicio5()
Dim n1, n2, r As Double
Dim op As Integer
Dim res As String
res = "si"
While ((res = "si") Or (res = "SI"))
'Ingreso de datos
n1 = Val(InputBox("Ingrese el primer número: "))
n2 = Val(InputBox("Ingrese el segundo número: "))
Do
'Diseño de menú
op = InputBox("Seleccione una opción: 1.- Suma, 2.- Resta, 3.- Multiplicación, 4.- División")
Loop Until ((op >= 1) And (op <= 4))
'Operaciones
If (op = 1) Then 'Suma
r = n1 + n2
ElseIf (op = 2) Then 'Resta
r = n1 - n2
ElseIf (op = 3) Then 'Multiplicación
r = n1 * n2
Else 'División
While (n2 = 0)
n2 = InputBox("Ingrese nuevamente el valor de numero 2:")
Wend
r = n1 / n2
End If
MsgBox "El resultado es: " & Format(r, "0.0")
res = InputBox("¿Desea otra opción (si/no)?: ")
Wend
End Sub
Ejercicios adicionales con estructuras de control repetitivas
Ejercicio 1: Números naturales en orden decreciente
Mostrar los números naturales del 50 al 15 en orden decreciente.
Sub ej1()
Dim contador As Integer
contador = 50
While (contador >= 15)
MsgBox contador
contador = contador - 1
Wend
End Sub
Ejercicio 2: Números naturales hasta un límite ingresado por el usuario
Mostrar todos los números naturales que hay desde 1 hasta un número que se introduce por teclado.
Sub ej2()
Dim n As Integer
Dim c As Integer
c = 1
n = InputBox("Ingrese numero por teclado", "Entrada de datos")
While (c <= n)
MsgBox c
c = c + 1
Wend
End Sub
Ejercicio 3: Cálculo de promedio general de un curso
Imprimir el promedio general del curso de 15 alumnos, en donde la nota final debe considerar lo siguiente:
- El promedio de 3 notas parciales equivale al 60% de la nota final.
- El examen equivale al 40 % de la nota final.
Sub ej3()
Dim c As Integer 'Contador de alumnos
Dim cn As Integer 'Contador de nota
Dim nota As Double
Dim p As Double
Dim s As Double 'Acumulador de notas
Dim nf As Double 'nf es nota final
c = 1
While (c <= 15) 'Total de alumnos: 15
cn = 1
s = 0
While (cn <= 3) 'Controlador de notas (3)
'Validación de nota
Do
nota = InputBox("Ingrese nota " & cn, "Entrada de notas")
Loop While (nota < 1 Or nota > 7)
s = s + nota 'Sumando nota
cn = cn + 1
Wend
p = s / 3
MsgBox ("El promedio del alumno " & c)
MsgBox ("es " & p)
'Validación de examen
Do
nota = InputBox("Ingrese examen:", "ENTRADA DE DATOS")
Loop While (nota < 1 Or nota > 7)
nf = p * 0.6 + nota * 0.4
MsgBox ("Nota final es: " & nf)
c = c + 1
Wend
End Sub