Ejercicios resueltos en Visual Basic: Operaciones básicas y estructuras de control

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
    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.