Estructuras Múltiples

Estructuras Múltiples

Ejercicio de Consola:
El ISTP “………………………” está haciendo un descuento del 25 y 50% por la inscripción de uno o dos más hermanos respectivamente. Si solo se inscribe una persona no existe descuento.

    Sub Main()
        Dim a As String
        Dim b, pag As Integer
        Dim desc, monto, tot As Single
        Console.Write("ingrese el apellido y nombre   : ") : a = Console.ReadLine
        Console.Write("ingrese la cantidad de hermanos: ") : b = Console.ReadLine
        Console.Write("ingrese el monto de pago por alumno: ") : pag = Console.ReadLine
        If b = 0 Then
            tot = pag * 1
            desc = 0
        ElseIf b = 1 Then
            tot = pag * 2
            desc = pag * 0.25
            monto = (pag + pag) - desc
        ElseIf b = 2 Then
            tot = pag * 3
            desc = pag * 0.5
            monto = (pag + pag + pag) - desc
        End If
        Console.WriteLine("el monto bruto es : " & tot)
        Console.WriteLine("el descuento es  : " & desc)
        Console.WriteLine("el monto a pagar : " & monto)
        Console.Write("presione la tecla enter para salir") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Crear un programa que permita ingresar el apellido, nombre, categoría y sueldo básico de sus trabajadores. Hallar el monto de pago sabiendo que si el trabajador es:
  • Categoría A, es Obrero y se le incrementa el 5%
  • Categoría B, es Empleado y se le incrementa el 10%
  • Categoría C, es Gerente y se le incrementa el 15%
Si se ingresara una categoría más, se debe señalar categoría no existente.

    Sub Main()
        Dim cat As String
        Dim sueldo, pago, porcent As Single
        Console.Write("ingrese el apellido del trabajador ") : Console.ReadLine()
        Console.Write("ingrese el nombre del trabajador ") : Console.ReadLine()
        Console.Write("ingrese el sueldo del trabajador ") : sueldo = Console.ReadLine()
        Console.Write("ingrese la categoria del trabajador ") : cat = Console.ReadLine()
        If cat = "a" Then
            pago = (sueldo * 0.05) + sueldo
            porcent = sueldo * 0.05
            Console.WriteLine("el señor es obrero su sueldo es " & sueldo & " mas el 5% " & porcent & " siendo el pago total de " & pago)
        ElseIf cat = "b" Then
            pago = (sueldo * 0.1) + sueldo
            porcent = sueldo * 0.1
            Console.WriteLine("el señor es empleado su sueldo es " & sueldo & " mas el 10% " & porcent & " siendo el pago total de " & pago)
        ElseIf cat = "c" Then
            pago = (sueldo * 0.15) + sueldo
            porcent = sueldo * 0.15
            Console.WriteLine("el señor es gerente su sueldo es " & sueldo & " mas el 15% " & porcent & " siendo el pago total de " & pago)
        End If
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Determinar si un numero ingresado es positivo, negativo o cero a través de un mensaje.

    Sub Main()
        Dim num As Single
        Dim result As String
        Console.Write("ingresar numero ") : num = Console.ReadLine
        If num > 0 Then
            result = "es positivo"
        Else
            If num < 0 Then
                result = "es negativo"
            Else
                result = "es cero"
            End If
        End If
        Console.WriteLine("El numero ingresado " & result)
        Console.Write("Presione la tecla Enter para salir") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
En una playa de estacionamiento cobran S/. 2,5 por hora o fracción. Diseñar una aplicación que determine cuanto debe pagar un cliente por el estacionamiento de su vehículo, conociendo el tiempo de estacionamiento en horas y fracción.

    Sub Main()
        Dim hora, minuto, minuto1, result As Single
        Console.Write("ingrese el tiempo en horas ") : hora = Console.ReadLine
        Console.Write("ingrese cantidad de minutos ") : minuto = Console.ReadLine
        If minuto > 0 And minuto <= 60 Then
            minuto1 = 2.5
        Else
            minuto1 = 0
            Console.Write("ingrese minutos entre 1 y 60 ") : minuto = Console.ReadLine()
            If minuto > 0 And minuto <= 60 Then
                minuto1 = 2.5
            End If
        End If
        result = (hora * 2.5) + minuto1
        Console.WriteLine("el pago a realizar es " & result)
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Una tienda a puesto en oferta la venta al por mayor de cierto producto, ofreciendo un descuento del 15% por la compra de más de 3 docenas y 10% en caso contrario. Además por la compra de más de tres docenas se le obsequia una unidad del producto comprado. Diseñar un programa que determine el monto de la compra, el monto del descuento y el obsequio (si lo hubiera) por la compra.

    Sub Main()
        Dim cant As Integer
        Dim prec, tot, pago, desc As Single
        Dim prod As String
        Console.Write("ingrese el producto         ") : prod = Console.ReadLine()
        Console.Write("ingrese el precio           ") : prec = Console.ReadLine()
        Console.Write("ingrese la cantidad vendida ") : cant = Console.ReadLine()
        tot = prec * cant
        Console.WriteLine("el importe es              " & tot)
        If cant >= 36 Then
            Console.WriteLine("tienes obsequio de un      " & prod)
            desc = tot * 0.15
            Console.WriteLine("el descuento es del 15%      " & desc)
            pago = tot - desc
            Console.WriteLine("el total a pagar es      " & pago)
        Else
            desc = tot * 0.1
            Console.WriteLine("el descuento es del 10%      " & desc)
            pago = tot - desc
            Console.WriteLine("el total a pagar es      " & pago)
        End If
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Una compañía dedicada al alquiler de automóviles cobra un monto fijo de S/. 200,00 para los primeros 300 Km. cobra un monto adicional de S/. 5,00 por cada Km. en exceso sobre los 300. Para más de 1000 Km. cobra un monto adicional de S/. 3,00 por cada Km. en exceso sobre 1000.
Determinar el monto a pagar por el alquiler de un vehículo y el monto incluido del impuesto.

    Sub Main()
        Dim monto = 200
        Dim km, km1, km2, igv, exce, exce1, monto1 As Single
        Console.Write("ingrese la cantidad de de kilometros recorridos ") : km = Console.ReadLine()
        If km > 0 And km <= 300 Then
            Console.WriteLine("el monto a pagar es S/. " & monto)
            igv = monto * 0.19
        ElseIf km > 300 And km <= 1000 Then
            Console.WriteLine("el monto fijo por los primeros 300 kilometros es " & monto)
            km1 = km - 300
            Console.WriteLine("los kilometros excedidos son " & km1)
            exce = (km1 * 5)
            Console.WriteLine("el exceso de los kilometros importa S/. " & exce)
            monto1 = monto + (km1 * 5)
            Console.WriteLine("el monto a pagar es S/. " & monto1)
        ElseIf km > 1000 Then
            Console.WriteLine("el monto fijo por los primeros 300 kilometros es " & monto)
            km1 = km - 300 - (km - 1000)
            Console.WriteLine("los kilometros excedidos de 300 a mil son " & km1)
            km2 = km - 1000
            Console.WriteLine("los kilometros excedidos de mil son " & km2)
            exce = (km1 * 5)
            Console.WriteLine("el exceso de los 300 a mil kilometros importa S/. " & exce)
            exce1 = (km2 * 5)
            Console.WriteLine("el exceso de mas de mil kilometros importa S/. " & exce1)
            monto1 = monto + exce + exce1
            Console.WriteLine("el monto a pagar es S/. " & monto1)
        End If
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Una fábrica de tornillos desea determinar el grado de eficiencia de sus operarios, de acuerdo a las siguientes condiciones que se le imponen para un periodo de prueba:
  • Menos de 200 tornillos defectuosos
  • Más de 10000 tornillos producidos
El grado de eficiencia se determinara de la siguiente manera:
  • Si no cumple ninguna de las condiciones – queda fuera
  • Si solo cumple la primera condicion – sigue a prueba
  • Si solo cumple la segunda condicion – contratado, pero sigue a prueba
  • Si cumple las dos condiciones – contratado

    Sub Main()
        Dim torndef, tornprod As Integer
        Console.Write("ingrese la cantidad de tornillos defectuosos ") : torndef = Console.ReadLine()
        Console.Write("ingrese la cantidad de tornillos producidos ") : tornprod = Console.ReadLine()
        If (torndef > 200) And (tornprod <= 10000) Then
            Console.WriteLine("el señor esta fuera")
        ElseIf (torndef < 200) And (tornprod < 10000) Then
            Console.WriteLine("el señor sigue a prueba")
        ElseIf (torndef > 200) And (tornprod > 10000) Then
            Console.WriteLine("el señor esta contratado, pero sigue a prueba")
        ElseIf (torndef < 200) And (tornprod > 10000) Then
            Console.WriteLine("el señor esta contratado")
        End If
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
Diseñar una aplicación que permita ingresar tres números y determine el orden de mayor a menor.

    Sub Main()
        Dim num1, num2, num3 As Integer
        Console.Write("ingrese el primer numero  ") : num1 = Console.ReadLine()
        Console.Write("ingrese el segundo numero ") : num2 = Console.ReadLine()
        Console.Write("ingrese el tercer numero  ") : num3 = Console.ReadLine()
        If num1 > num2 And num2 > num3 Then
            Console.WriteLine("el numero mayor es " & num1)
            Console.WriteLine("el numero medio es " & num2)
            Console.WriteLine("el numero menor es " & num3)
        ElseIf num1 < num2 And num2 < num3 Then
            Console.WriteLine("el numero mayor es " & num3)
            Console.WriteLine("el numero medio es " & num2)
            Console.WriteLine("el numero menor es " & num1)
        ElseIf num2 > num1 And num1 > num3 Then
            Console.WriteLine("el numero mayor es " & num2)
            Console.WriteLine("el numero medio es " & num1)
            Console.WriteLine("el numero menor es " & num3)
        ElseIf num2 < num1 And num1 < num3 Then
            Console.WriteLine("el numero mayor es " & num3)
            Console.WriteLine("el numero medio es " & num1)
            Console.WriteLine("el numero menor es " & num2)
        ElseIf num1 > num3 And num3 > num2 Then
            Console.WriteLine("el numero mayor es " & num1)
            Console.WriteLine("el numero medio es " & num3)
            Console.WriteLine("el numero menor es " & num2)
        ElseIf num1 < num3 And num3 < num2 Then
            Console.WriteLine("el numero mayor es " & num2)
            Console.WriteLine("el numero medio es " & num3)
            Console.WriteLine("el numero menor es " & num1)
        End If
        Console.Write("presione enter para terminar") : Console.ReadLine()
    End Sub

Ejercicio de Consola:
El promedio de prácticas de un curso se calcula en base a cuatro prácticas calificadas, de las cuales se elimina la nota menor y se promedian las tres notas más altas. Determinar la nota eliminada y el promedio de prácticas de un estudiante.

    Sub Main()
        Dim pract1, pract2, pract3, pract4 As Integer
        Dim prom, menor, menor1, menor2, menor3 As Integer
        Console.Write("ingrese la primera nota de practica ") : pract1 = Console.ReadLine
        Console.Write("ingrese la segunda nota de practica ") : pract2 = Console.ReadLine
        Console.Write("ingrese la tercera nota de practica ") : pract3 = Console.ReadLine
        Console.Write("ingrese la cuarta nota de practica  ") : pract4 = Console.ReadLine
        If pract1 < pract2 And pract2 < pract3 And pract3 < pract4 Then
            menor = pract1
            prom = (pract2 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 < pract2 And pract2 < pract3 And pract3 > pract4 And pract1 < pract4 Then
            menor = pract1
            prom = (pract2 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 < pract2 And pract2 > pract3 And pract3 > pract4 And pract1 < pract4 Then
            menor = pract1
            prom = (pract2 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 < pract2 And pract2 > pract3 And pract3 < pract4 And pract1 < pract3 Then
            menor = pract1
            prom = (pract2 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 > pract2 And pract2 > pract3 And pract3 > pract4 Then
            menor = pract4
            prom = (pract2 + pract3 + pract1) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract1)
        ElseIf pract1 < pract2 And pract2 < pract3 And pract3 > pract4 And pract1 > pract4 Then
            menor = pract4
            prom = (pract2 + pract3 + pract1) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract1)
        ElseIf pract1 < pract2 And pract2 > pract3 And pract3 > pract4 And pract1 > pract4 Then
            menor = pract4
            prom = (pract2 + pract3 + pract1) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract1)
        ElseIf pract1 > pract2 And pract2 < pract3 And pract3 > pract4 And pract1 > pract4 Then
            menor = pract4
            prom = (pract2 + pract3 + pract1) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract3 & " - " & pract1)
        ElseIf pract1 > pract2 And pract2 < pract3 And pract3 < pract4 Then
            menor = pract2
            prom = (pract1 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract1 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 > pract2 And pract2 < pract3 And pract3 > pract4 And pract4 > pract2 Then
            menor = pract2
            prom = (pract1 + pract3 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract1 & " - " & pract3 & " - " & pract4)
        ElseIf pract1 > pract2 And pract2 > pract3 And pract3 < pract4 Then
            menor = pract3
            prom = (pract2 + pract1 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract1 & " - " & pract4)
        ElseIf pract1 < pract2 And pract2 > pract3 And pract3 < pract4 And pract1 > pract3 Then
            menor = pract3
            prom = (pract2 + pract1 + pract4) / 3
            Console.WriteLine("las notas a sacar promedio son " & pract2 & " - " & pract1 & " - " & pract4)
        End If
        Console.WriteLine("la nota menor es " & menor)
        Console.WriteLine("el promedio de las tres notas mas altas es " & prom)
        Console.Write("presione enter para salir") : Console.Read()
    End Sub

Ejercicio de Consola:
Se cuenta con los votos obtenidos por Juan, Pedro y María en una elección democrática a la presidencia de un club.
  • Para ganar la elección debe tener como mínimo el 50% de los votos más 1.
  • En caso que no haya un ganador se repite la elección en una segunda vuelta.
  • Van a la segunda vuelta los dos candidatos que obtengan la más alta votación.
Diseñar el programa que determine el resultado de la elección.

    Sub Main()
        Dim votos, juan, pedro, maria, juan1, pedro1, maria1 As Integer
        Console.Write("ingresar la cantidad total de votos: ") : votos = Console.ReadLine
        Console.Write("ingresar la cantidad de votos de Juan: ") : juan = Console.ReadLine
        Console.Write("ingresar la cantidad de votos de Pedro: ") : pedro = Console.ReadLine
        Console.Write("ingresar la cantidad de votos de Maria: ") : maria = Console.ReadLine
        If juan > ((votos * 0.5) + 1) Then
            Console.WriteLine("el ganador es Juan")
        Else
            If pedro > ((votos * 0.5) + 1) Then
                Console.WriteLine("el ganador es Pedro")
            Else
                If maria > ((votos * 0.5) + 1) Then
                    Console.WriteLine("la ganadora es Maria")
                Else
                    If juan > pedro And pedro > maria Then
                        Console.WriteLine("clasifican a la segunda vuelta Juan y Pedro")
                        Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                        Console.Write("ingresar nuevamente los votos de Juan ") : juan1 = Console.ReadLine
                        Console.Write("ingresar nuevamente los votos de Pedro ") : pedro1 = Console.ReadLine
                    Else
                        If juan > pedro And pedro < maria And juan > maria Then
                            Console.WriteLine("clasifican a la segunda vuelta Juan y Maria")
                            Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                            Console.Write("ingresar nuevamente los votos de Juan ") : juan1 = Console.ReadLine
                            Console.Write("ingresar nuevamente los votos de Maria ") : maria1 = Console.ReadLine
                        Else
                            If juan > pedro And pedro < maria And juan < maria Then
                                Console.WriteLine("clasifican a la segunda vuelta Juan y Maria")
                                Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                                Console.Write("ingresar nuevamente los votos de Juan ") : juan1 = Console.ReadLine
                                Console.Write("ingresar nuevamente los votos de Maria ") : maria1 = Console.ReadLine
                            Else
                                If juan < pedro And pedro < maria Then
                                    Console.WriteLine("clasifican a la segunda vuelta Maria y Pedro")
                                    Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                                    Console.Write("ingresar nuevamente los votos de Maria ") : maria1 = Console.ReadLine
                                    Console.Write("ingresar nuevamente los votos de Pedro ") : pedro1 = Console.ReadLine
                                Else
                                    If juan < pedro And pedro > maria And juan < maria Then
                                        Console.WriteLine("clasifican a la segunda vuelta Maria y Pedro")
                                        Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                                        Console.Write("ingresar nuevamente los votos de Maria ") : maria1 = Console.ReadLine
                                        Console.Write("ingresar nuevamente los votos de Pedro ") : pedro1 = Console.ReadLine
                                    Else
                                        If juan < pedro And pedro > maria And juan > maria Then
                                            Console.WriteLine("clasifican a la segunda vuelta Maria y Pedro")
                                            Console.WriteLine("la cantidad de votos sigue siendo: " & votos)
                                            Console.Write("ingresar nuevamente los votos de Juan ") : juan1 = Console.ReadLine
                                            Console.Write("ingresar nuevamente los votos de Pedro ") : pedro1 = Console.ReadLine
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
        If juan1 > ((votos * 0.5) + 1) Then
            Console.WriteLine("el ganador es Juan")
            Console.WriteLine("presione la tecla enter para terminar") : Console.Read()
        Else
            If maria1 > ((votos * 0.5) + 1) Then
                Console.WriteLine("la ganadora es Maria")
                Console.WriteLine("presione la tecla enter para terminar") : Console.Read()
            Else
                If pedro1 > ((votos * 0.5) + 1) Then
                    Console.WriteLine("el ganador es Pedro")
                    Console.WriteLine("presione la tecla enter para terminar") : Console.Read()
                End If
            End If
        End If
        Console.ReadLine()
    End Sub

Ejercicio de Consola:
Se desea una aplicación que permita saber en qué estación se encuentra, para ello se debe ingresar tanto el día del mes, así  como el mes.

    Sub Main()
        Dim mes, dia As Integer
        Console.Write("ingrese el mes: ") : mes = Console.ReadLine
        Console.Write("ingrese el dia: ") : dia = Console.ReadLine
        Console.Write("la estacion es: ")
        If (mes = 12 And (dia >= 21 And dia <= 31)) Or (mes = 1 And (dia >= 1 And dia <= 31)) Or (mes = 2 And (dia >= 1 And dia <= 28)) Or (mes = 3 And (dia >= 1 And dia <= 21)) Then
            Console.WriteLine("Verano")
            Console.ReadLine()
        Else
            If (mes = 3 And (dia > 21 And dia <= 31)) Or (mes = 4 And (dia >= 1 And dia <= 30)) Or (mes = 5 And (dia >= 1 And dia <= 31)) Or (mes = 6 And (dia >= 1 And dia <= 21)) Then
                Console.WriteLine("Otoño")
                Console.ReadLine()
            Else
                If (mes = 6 And (dia >= 22 And dia <= 30)) Or (mes = 7 And (dia >= 1 And dia <= 31)) Or (mes = 8 And (dia >= 1 And dia <= 31)) Or (mes = 9 And (dia >= 1 And dia <= 22)) Then
                    Console.WriteLine("Invierno")
                    Console.ReadLine()
                Else
                    If (mes = 9 And (dia >= 23 And dia <= 30)) Or (mes = 10 And (dia >= 1 And dia <= 31)) Or (mes = 11 And (dia >= 1 And dia <= 30)) Or (mes = 12 And (dia >= 1 And dia <= 20)) Then
                        Console.WriteLine("Primavera")
                        Console.ReadLine()
                    End If
                End If
            End If
        End If
    End Sub

Ejercicio de Consola:
Trabajando con Select Case de acuerdo al número ingresado (todos los modos de trabajar con este elemento).

    Sub Main()
        Dim num As Integer
        Console.Write("ingrese el numero: ") : num = Console.ReadLine
        Select Case 1
            Case 3
                Console.WriteLine("Mostrara el mensaje siempre y cuando el valor ingresado sea 3")
            Case 6 To 11
                Console.WriteLine("Mostrara el mensaje siempre y cuando el valor ingresado este comprendido entre 6 y 12")
            Case 14, 17
                Console.WriteLine("Mostrara el mensaje siempre y cuando el valor ingresado sea 14 0 17")
            Case Is > 18
                Console.WriteLine("Mostrara el mensaje siempre y cuando el valor ingresado sea mayor a 18")
            Case Else
                Console.WriteLine("Se mostrara este mensaje si el valor ingresado no coincide con ninguno de los anteriores")
        End Select
        Console.ReadLine()
    End Sub


Comentarios

Entradas populares de este blog

Ciber control en excel - código fuente

Estructuras Cíclicas o Repetitivas