Ejercicios resueltos con Visual Basic (VB.NET)

En este post voy a mostrarte algunos ejercicios y su solución en Visual Basic o VB.NET. Son 13 ejercicios propuestos junto con su solución.

Ejercicios propuestos

1. Escriba un programa que solicite la edad de una persona y determine si es menor o mayor de edad, deberá mostrar un mensaje.

2. Escriba un programa que determine si un número es positivo o negativo.

3. Elabore un programa que de acuerdo con un monto de compra muestre el descuento aplicado y total a pagar.

| Monto compra | Descuento |
| --- | ----------- |
| $ 1000.00 | 30% |
| $ 500.00 | 20% |
| $ 250.00 | 10% |
| Otra Cantidad | 5% |

 

4. Una compañía de seguros para autos ofrece dos tipos de póliza: cobertura amplia (A) y daños a terceros (B).

Para el plan A, la cuota base es de $500.00, y para el B, de $250.00.

Ambos planes se les carga 10% del costo si la persona que conduce bebe alcohol, 5% si utiliza lentes, 5% si padece alguna enfermedad, y si tiene más de 40 años, se le carga 20%, de lo contrario sólo 10%.

Todos estos cargos se realizan sobre el costo base.

5. Calcule la suma de los números naturales desde 1 hasta n. Ejemplo: 1+2+3+4+5=15

6. Escriba un programa que escriba la tabla de multiplicar de x número ingresado por el usuario.

7. Escriba un programa que determine cuanto ahorrara en dólares una persona, si cada mes incrementa $3.00 en su ahorro.

Ejemplo: Enero $3.00, Febrero $6.00, Marzo $9.00 y así sucesivamente, solicite al usuario que escriba el ahorro a realizar en cada mes y muestre el total ahorrado en un año, utilice el ciclo apropiado.

8. Un cliente realiza un depósito cada mes en su cuenta de ahorros. La cuenta percibe un interés fijo durante cada año del 15% anual. Realice un programa que determine el total de la inversión final de cada año en los próximos N años.

9. Declare un vector en el cual almacene 6 notas de un estudiante y determine cuál es la nota mayor y la nota menor. Debe calcular el promedio del alumno e indicar si aprobó o reprobó.

10. Una empresa de transporte cuenta con cinco empleados, de los cuales se tiene la siguiente información: nombres, horas trabajadas y salario por hora trabajada.

Se pide:

  • Calcular el total de horas trabajadas por semana de cada empleado.
  • Calcular el salario semanal de cada empleado.
  • Indicar el nombre del empleado que trabaja más horas
  • Mostrar un reporte con los puntos anteriores.

11. Escriba una función que solicite la edad de una persona y determine si es mayor o menor de edad.

12. Cree una función llamada operaciones la cual reciba tres parámetros: numero1, numero2, y la operación a realizar (suma, resta, multiplicación).

13. Escriba una función que reciba un array de cinco números y determine cuál es el mayor.

Solución

Ahora veamos la solución a estos ejercicios propuestos en Visual Studio. En este caso dividí todo en varios procedimientos (Sub), y las funciones solicitadas las puse en un Function.

Todo el código está en un archivo y separado según el número de ejercicio. Luego se puede invocar desde el Sub Main.

El código completo queda así:

Imports System

Module Program
    Sub Ejercicio1()
        Dim edad As Integer
        Console.WriteLine("Escribe tu edad:")
        edad = Convert.ToInt64(Console.ReadLine())
        If edad < 18 Then
            Console.WriteLine("Menor de edad")
        Else
            Console.WriteLine("Mayor de edad")
        End If
    End Sub
    Sub Ejercicio2()
        Dim numero As Integer
        Console.WriteLine("Escribe un número:")
        numero = Convert.ToInt64(Console.ReadLine())
        If numero < 0 Then
            Console.WriteLine("Negativo")
        Else
            Console.WriteLine("Positivo")
        End If
    End Sub

    Sub Ejercicio3()
        Dim monto As Double
        Console.WriteLine("Escribe el monto de compra:")
        monto = Convert.ToDouble(Console.ReadLine())
        Dim porcentajeDescuento As Double
        If monto = 1000 Then
            porcentajeDescuento = 0.3
        ElseIf monto = 500 Then
            porcentajeDescuento = 0.2
        ElseIf monto = 250 Then
            porcentajeDescuento = 0.1
        Else
            porcentajeDescuento = 0.05
        End If
        Dim descuento As Double = monto * porcentajeDescuento
        Dim total As Double = monto - descuento
        Console.WriteLine("Descuento aplicado: {0}  ({1} %) Total: {2}", descuento, porcentajeDescuento * 100, total)
    End Sub

    Sub Ejercicio4()
        Dim tipoPoliza As String
        Console.WriteLine("Escribe el tipo de póliza [A/B]:")
        tipoPoliza = Console.ReadLine()
        Dim cuotaBase As Double = 500
        Dim porcentajeAumento As Double = 0.0
        If tipoPoliza = "B" Then
            cuotaBase = 250
        End If
        Console.WriteLine("¿Bebe alcohol? [s/n]")
        If Console.ReadLine() = "s" Then
            porcentajeAumento += 0.1

        End If
        Console.WriteLine("¿Utiliza lentes? [s/n]")
        If Console.ReadLine() = "s" Then
            porcentajeAumento += 0.05
        End If

        Console.WriteLine("¿Padece alguna enfermedad? [s/n]")
        If Console.ReadLine() = "s" Then
            porcentajeAumento += 0.05
        End If

        Console.WriteLine("Introduzca la edad: ")
        If Convert.ToInt64(Console.ReadLine()) > 40 Then
            porcentajeAumento += 0.2
        Else
            porcentajeAumento += 0.1
        End If
        Dim cargoExtra As Double = cuotaBase * porcentajeAumento
        Dim cuotaFinal As Double = cuotaBase + cargoExtra
        Console.WriteLine("Monto base: {0}. Cargo extra: {1} ({2} %). Cuota final: {3}", cuotaBase, cargoExtra, porcentajeAumento * 100, cuotaFinal)



    End Sub


    Sub Ejercicio5()
        Console.WriteLine("Ingrese el valor de n: ")
        Dim n As Integer = Convert.ToInt64(Console.ReadLine())
        Dim suma As Integer = 0
        For i = 1 To n
            Console.Write("{0}", i)
            suma += i
            If i < n Then

                Console.Write("+")
            Else
                Console.Write("=")

            End If
        Next
        Console.WriteLine(suma)


    End Sub

    Sub Ejercicio6()
        Console.WriteLine("Ingrese el número para mostrar la tabla de multiplicar:")
        Dim numeroDeTabla As Integer = Convert.ToInt64(Console.ReadLine())
        Dim suma As Integer = 0
        For i = 1 To 10
            Dim resultado As Integer = i * numeroDeTabla
            Console.WriteLine("{0} x {1} = {2}", numeroDeTabla, i, resultado)
        Next

    End Sub
    Sub Ejercicio7()
        Dim incremento As Double = 3
        Console.WriteLine("Ingrese ahorro mensual: ")
        Dim ahorro As Double = Convert.ToDouble(Console.ReadLine())
        Dim meses = New String() {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"}
        Dim total As Double = ahorro
        For Each mesActual As String In meses
            Console.WriteLine("{0} ${1}", mesActual, total)
            total += ahorro
        Next

    End Sub

    Sub Ejercicio8()
        Console.WriteLine("Ingrese depósito mensual:")
        Dim depositoMensual As Double = Convert.ToDouble(Console.ReadLine())
        Dim depositoAnual As Double = depositoMensual * 12
        Console.WriteLine("Ingrese la cantidad de años:")
        Dim cantidadAnios As Double = Convert.ToDouble(Console.ReadLine())
        Dim interes As Double = 0.15
        For i = 1 To cantidadAnios
            Dim aumento = depositoAnual * interes
            depositoAnual += aumento
            Console.WriteLine("Año {0} inversión final: {1}", i, depositoAnual)
        Next
    End Sub

    Sub Ejercicio9()

        Dim calificaciones = New Double() {77, 10, 70, 100, 88, 58}
        Dim mayor = calificaciones.ElementAt(0)
        Dim menor = calificaciones.ElementAt(0)
        Dim sumatoria As Double = 0.0
        For Each calificacion In calificaciones
            sumatoria += calificacion
            If calificacion > mayor Then
                mayor = calificacion
            End If

            If calificacion < menor Then
                menor = calificacion
            End If
        Next
        Dim promedio As Double = sumatoria / calificaciones.Length
        Dim apruebaCon As Double = 70
        Console.WriteLine("Nota mayor: {0}", mayor)
        Console.WriteLine("Nota menor: {0}", menor)
        Console.WriteLine("Promedio: {0}", promedio)
        If promedio > apruebaCon Then
            Console.WriteLine("Aprueba")
        Else
            Console.WriteLine("NO arueba")
        End If
    End Sub
    Sub Ejercicio10()
        Dim cantidadEmpleados As Integer = 5
        Dim nombres(cantidadEmpleados) As String
        Dim horasTrabajadas(cantidadEmpleados) As Double
        Dim salarios(cantidadEmpleados) As Double
        For i = 0 To cantidadEmpleados - 1
            Console.WriteLine("Ingrese el nombre del empleado #{0}", i + 1)
            nombres.SetValue(Console.ReadLine(), i)
            Console.WriteLine("Ingrese las horas trabajadas diarias de empleado #{0}", i + 1)
            horasTrabajadas.SetValue(Convert.ToDouble(Console.ReadLine()), i)
            Console.WriteLine("Ingrese el salario por hora trabajada del empleado #{0}", i + 1)
            salarios.SetValue(Convert.ToDouble(Console.ReadLine()), i)
        Next

        Dim diasLaborales As Double = 5

        Dim nombreEmpleadoMasTrabajador = ""
        Dim horasEmpleadoMasTrabajador = 0

        For i = 0 To cantidadEmpleados - 1
            Dim nombre As String = nombres.ElementAt(i)
            Dim horasTrabajadasEmpleado As String = horasTrabajadas.ElementAt(i)
            Dim salario As String = salarios.ElementAt(i)
            Dim horasTrabajadasSemana As Double = horasTrabajadasEmpleado * diasLaborales
            Dim salarioSemanal As Double = horasTrabajadasSemana * salario
            If horasTrabajadasSemana > horasEmpleadoMasTrabajador Then
                horasEmpleadoMasTrabajador = horasTrabajadasSemana
                nombreEmpleadoMasTrabajador = nombre
            End If
            Console.WriteLine("Empleado {0} trabaja {1} horas a la semana, salario semanal es ${2}", nombre, horasTrabajadasSemana, salarioSemanal)
        Next
        Console.WriteLine("Empleado que trabaja más horas: {0} (trabajó {1} horas)", nombreEmpleadoMasTrabajador, horasEmpleadoMasTrabajador)


    End Sub
    Function EsMayorDeEdad(edad As Integer) As Boolean
        If edad < 18 Then
            Return False
        Else
            Return True
        End If

    End Function


    Sub Ejercicio11()
        Console.WriteLine("Ingresa tu edad: ")
        Dim edad As Integer = Convert.ToInt32(Console.ReadLine())
        If EsMayorDeEdad(edad) Then
            Console.WriteLine("Mayor de edad")
        Else
            Console.WriteLine("Menor de edad")
        End If
    End Sub
    Function operaciones(numero1 As Double, numero2 As Double, operacion As String) As Double
        If operacion = "suma" Then
            Return numero1 + numero2
        End If

        If operacion = "resta" Then
            Return numero1 - numero2
        End If
        If operacion = "multiplicación" Then
            Return numero1 * numero2
        End If
    End Function
    Sub Ejercicio12()
        Console.WriteLine("Suma: ")
        Console.WriteLine(operaciones(1, 2, "suma"))
        Console.WriteLine("Resta: ")
        Console.WriteLine(operaciones(1, 2, "resta"))
        Console.WriteLine("Multiplicación: ")
        Console.WriteLine(operaciones(1, 2, "multiplicación"))
    End Sub
    Function obtenerMayor(numeros As Integer()) As Integer
        Dim mayor As Integer = numeros.ElementAt(0)
        For Each numero In numeros
            If numero > mayor Then
                mayor = numero
            End If
        Next
        Return mayor

    End Function

    Sub Ejercicio13()
        Dim numeros = New Integer() {40, 5, 2, 1, 9}
        Dim mayor As Integer = obtenerMayor(numeros)
        Console.WriteLine("Mayor: {0}", mayor)
    End Sub

    Sub Main(args As String())
        Ejercicio1()
        Ejercicio2()
        Ejercicio3()
        Ejercicio4()
        Ejercicio5()
        Ejercicio6()
        Ejercicio7()
        Ejercicio8()
        Ejercicio9()
        Ejercicio10()
        Ejercicio11()
        Ejercicio12()
        Ejercicio13()
    End Sub
End Module

Por aquí te dejo más tutoriales de VB.NET en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

1 comentario en “Ejercicios resueltos con Visual Basic (VB.NET)”

Dejar un comentario

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