You are on page 1of 12

INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

PROGRAMACION I

Estructuras Repetitivas en Visual BASIC

Ejercicios:

Después de saber todos los conceptos básicos de la programación en Visual Basic empecemos por
realizar nuestra primera aplicación de consola, para esto crear un nuevo proyecto en visual Basic.

1. Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Programación I.

Primero se declara las variables a ser utilizadas. Tres variables de tipo entero, y la variable
nombre de tipo String.

Dim suma As Integer


Dim promedio As Integer
Dim calificacion As Integer
Dim nombre As String

Inicializamos la variable de suma con el calor de 0. Luego mostramos un mensaje donde


pedimos ingresar el nombre del alumno, y este texto guardarlo en la variable de nombre.

suma = 0
Console.Write("Ingrese Nombre del Alumno: ")
nombre = Console.ReadLine

Ahora utilizamos el for. Donde se utiliza x que inicie con el valor de 1 hasta (To) 7.

For x = 1 To 7

Dentro del For mostramos un mensaje para que se ingrese las notas y guardarlas en la variable
de calificación.

Console.Write("Ingrese Calificacion: ")


calificacion = Console.ReadLine

Seguidamente aumentamos el valor de suma es decir el valor de sumas más el valor ingresado
en la variable de calificación.
El Next hará que estas instrucciones se repetían 7 veces (Valor Final), es decir se volverla a pedir
que se ingresen notas y se le sumaran al valor anterior de suma más el valor de la variable
calificación.

suma = suma + calificacion


Next

Ahora se calcula el promedio que sería el valor final de la variable suma entre la cantidad de
notas en este caso el valor de 7.

1
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

promedio = suma / 7

Finalmente mostramos en Consola el nombre y el promedio final del Alumno.

Console.WriteLine("El promedio Final del Alumno: {0}", nombre)


Console.WriteLine("Es: {0}", promedio)
Console.ReadKey()

El código final debe quedar de la siguiente manera.

Sub Main()
Dim suma As Integer
Dim promedio As Integer
Dim calificacion As Integer
Dim nombre As String
suma = 0
Console.Write("Ingrese Nombre del Alumno: ")
nombre = Console.ReadLine
For x = 1 To 7
Console.Write("Ingrese Calificacion: ")
calificacion = Console.ReadLine
suma = suma + calificacion
Next
promedio = suma / 7
Console.WriteLine("El promedio Final del Alumno: {0}", nombre)
Console.WriteLine("Es: {0}", promedio)
Console.ReadKey()
End Sub

Al compilar el programa nos pedirá ingresar el nombre.

Presionar ENTER, luego nos pedirá ingresar una nota.

Presionar ENTER y volverá a pedir notas 7 veces más.

Volver a presionar Enter para que muestre el nombre y el promedio final del alumno.

2
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

2. Leer 10 números e imprimir cuantos son positivos, cuantos negativos y cuantos neutros.

Primero declarar las variables a utilizar, para los negativos, neutros y positivos. También declara la
variable número.

Sub Main()
Dim numero As Integer
Dim negativos As Integer
Dim positivos As Integer
Dim neutros As Integer

Inicializar las variables a 0.

negativos = 0
positivos = 0
neutros = 0

Creamos un for que comience desde el número 1 hasta 10. Dentro del For pedimos que ingrese un
Número y este valor lo almacenamos en la variable número.

For x = 1 To 10
Console.Write("Ingrese Numero: ")
numero = Console.ReadLine

Dentro del For podemos poner una estructura Selectiva, en este caso será If. Primero preguntamos
si el valor de Número es igual a 0. Entonces se incrementara e valor de la variable neutros.

If numero = 0 Then
neutros = neutros + 1

Caso contrario volvemos a hacer una pregunta si el valor de número es mayor a 0, si es correcto se
incrementara el valor de la variable positivos mas1. Caso contrario se incrementara el valor de los
negativos más 1.

Cerramos los IF y Pedimos el siguiente número con Next.

Else
If numero > 0 Then
positivos = positivos + 1
Else
negativos = negativos + 1

3
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

End If
End If
Next

Finalmente mostramos el valor de las variables.

Console.WriteLine("La cantidad de Negativos son: {0}", negativos)


Console.WriteLine("La cantidad de Neutros son: {0}", neutros)
Console.WriteLine("La cantidad de Positivos son: {0}", positivos)
Console.ReadKey()

El resultado final del código debe ser el siguiente.

Sub Main()
Dim numero As Integer
Dim negativos As Integer
Dim positivos As Integer
Dim neutros As Integer
negativos = 0
positivos = 0
neutros = 0
For x = 1 To 10
Console.Write("Ingrese Numero: ")
numero = Console.ReadLine
If numero = 0 Then
neutros = neutros + 1
Else
If numero > 0 Then
positivos = positivos + 1
Else
negativos = negativos + 1
End If
End If
Next
Console.WriteLine("La cantidad de Negativos son: {0}", negativos)
Console.WriteLine("La cantidad de Neutros son: {0}", neutros)
Console.WriteLine("La cantidad de Positivos son: {0}", positivos)
Console.ReadKey()

End Sub

Si realizamos la compilación e ingresamos los valores que deseamos.

4
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

Después de ingresar los 10 números presionamos la tecla Enter para que nos muestre los
resultados.

Muestra los valores de las Variables. Probar con otros valores y ver el resultado.

Ejemplos Mientras… Hacer

1. Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la
semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por
comisiones de sus ventas. El gerente de su compañía desea saber cuánto dinero obtendrá en
la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto
será su sueldo final tomando en cuenta su sueldo base y sus comisiones.

Primero se declara las variables a ser utilizadas. En este caso su totalidad en tipo Integer.

Dim vendedores As Integer


Dim venta1, venta2, venta3 As Integer
Dim SueldoBase As Integer
Dim Comision As Integer
Dim sueldo As Integer
Dim contador As Integer

Inicialicemos los valores de la variable contador a 1. Pedimos ingresar el número de vendedores y


este valor se guarda en la variable de vendedores.

contador = 1
Console.Write("Ingrese numero de Vendedores: ")
vendedores = Console.ReadLine

5
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

Creamos un While (Mientras Hacer), primero preguntamos si el contador es menor o igual a la


variable vendedores. Si es menor pedimos ingresar el sueldo base más las tres ventas realizadas y
las guardamos en sus variables respectivas.

Console.Write("Ingrese Sueldo Base: ")


SueldoBase = Console.ReadLine
Console.Write("Ingrese Venta1: ")
venta1 = Console.ReadLine
Console.Write("Ingrese Venta2: ")
venta2 = Console.ReadLine
Console.Write("Ingrese Venta3: ")
venta3 = Console.ReadLine

Se realiza el cálculo de la comisión que es la suma de las tres ventas por el 10% (0.1). También
realizamos el cálculo del sueldo que es la suma del sueldo base más la comisión.

Comision = (venta1 + venta2 + venta3) * 0.1


sueldo = SueldoBase + Comision

Mostrar ahora los resultados de las variables. Y sumamos en valor de la variable contador más 1.

Console.WriteLine("Su comision es: {0}", Comision)


Console.WriteLine("Su nuevo sueldo es: {0}", sueldo)
Console.WriteLine("----------------------------------")
contador = contador + 1

Se debe tener el siguiente código final.

Sub Main()
Dim vendedores As Integer
Dim venta1, venta2, venta3 As Integer
Dim SueldoBase As Integer
Dim Comision As Integer
Dim sueldo As Integer
Dim contador As Integer
contador = 1
Console.Write("Ingrese numero de Vendedores: ")
vendedores = Console.ReadLine

While contador <= vendedores


Console.Write("Ingrese Sueldo Base: ")
SueldoBase = Console.ReadLine

Console.Write("Ingrese Venta1: ")


venta1 = Console.ReadLine

Console.Write("Ingrese Venta2: ")


venta2 = Console.ReadLine

Console.Write("Ingrese Venta3: ")


venta3 = Console.ReadLine

Comision = (venta1 + venta2 + venta3) * 0.1

6
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

sueldo = SueldoBase + Comision

Console.WriteLine("Su comision es: {0}", Comision)


Console.WriteLine("Su nuevo sueldo es: {0}", sueldo)
Console.WriteLine("----------------------------------")
contador = contador + 1

End While
Console.ReadKey()

End Sub

Ejecutar la aplicación. Primero ingresar la cantidad de vendedores.

Siguiente pedirá ingresar el sueldo base y las ventas realizadas por el vendedor 1.

Presionamos Enter para continuar, mostrara los resultados y ahora pedirá ingresar el sueldo base
del segundo vendedor.

Ingresamos el sueldo base y las otras ventas del vendedor 2. Muestra ahora la comisión y el sueldo
total del vendedor dos.

7
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

Ahora ingresar el sueldo base y las ventas para el vendedor 3.

Vemos como muestra la comisión y el sueldo final de los tres vendedores.

Ejercicios Repetir Hasta Que. (DO While)

1. Realizar un programa que reciba una cantidad n de números y que posteriormente nos muestre
el promedio de los mismos. Dejará de pedir números cuando e ingrese un valor 0.

Primero se declaran las variables a ser utilizadas, la variable suma para que vaya sumando los
números ingresados, la variable número que será el número ingresado.

Sub Main()
Dim suma, numero As Integer

También declarar la variable promedio para mostrar el resultado final y una variable de cantidad
para saber cuántos números han sido ingresados.

Dim cantidad As Integer


Dim promedio As Integer

Inicializamos la variable de cantidad y suma en 0.

cantidad = 0
suma = 0

Abrimos la instrucción Repetir. Dentro pedimos mediante un mensaje que ingrese un número y
asignar este valor ingresado a la variable número.

Do
Console.Write("Ingrese numeros: ")
numero = Console.ReadLine

8
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

Ahora realizamos las operaciones de sumar los números, e incrementar la cantidad de números
ingresados.

suma = suma + numero


cantidad = cantidad + 1

La instrucción de Do se seguirá ejecutando mientras se ingrese valores mayores a cero.

Loop While numero > 0

Se calcula el promedio que el resultado de la suma entre la cantidad. Este resultado se muestra en
un mensaje.

promedio = suma / cantidad


Console.WriteLine("Su Promedio es: {0}", promedio)
Console.ReadKey()

El código final sería el siguiente.

Sub Main()
Dim suma, numero As Integer
Dim cantidad As Integer
Dim promedio As Integer
cantidad = 0
suma = 0
Do
Console.Write("Ingrese numeros: ")
numero = Console.ReadLine
suma = suma + numero
cantidad = cantidad + 1
Loop While numero > 0
promedio = suma / cantidad
Console.WriteLine("Su Promedio es: {0}", promedio)
Console.ReadKey()
End Sub

Si compilamos el programa nos pedirá ingresar un número.

Podemos observar que sigue pidiendo un número. Ingresemos unos valores positivos.

Pero si ingresamos en número cero dejara de ejecutar el programa y se mostrara el resultado.


9
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

También se puede realizar la creación de aplicaciones poniendo una estructura selectiva dentro de
una estructura repetitiva, veamos el siguiente ejemplo.

2. Realizar un programa que me pida ingresar el año actual y el año de nacimiento de una persona,
calcular de la edad. Seguir ingresando el año de nacimiento si la edad es mayor o igual a 18,
repetir hasta que la edad sea menor que 18.

Primero se declara las variables a utilizar, en este caso la edad que será calculada, el año de
nacimiento (añonac) y el año actual (añonactu).

Sub Main()
Dim edad, añonac, añoactu As Integer

Ahora pedir que se ingrese el año actual y almacenar ese valor en la variable añoactu.

Console.Write("Ingrese Año Actual: ")


añoactu = Console.ReadLine

Ahora iniciar la estructura repetitiva y pedimos que se ingrese el año de nacimiento y almacenar
este valor en la variable de añonac. Calcular la edad de la persona restando el año actual
(añoactu) menos el año de nacimiento (añonac).

Do
Console.Write("Ingrese año de nacimiento: ")
añonac = Console.ReadLine
edad = añoactu - añonac

Dentro de DO trabajamos con un If. Se pregunta si la edad es mayor a 18, si esta condición es
verdadera entonces muestra un mensaje de “Puede ingresar su edad es:” y muestra la edad,
pero si esta condón es falsa entonces muestra otro mensaje de “Eres menor de Edad:”,

If edad >= 18 Then


Console.WriteLine("Puede ingresar su Edad es: {0}", edad)
Else
Console.WriteLine("Eres menor de Edad: ")
End If

Si la edad es menor a 18 deja de ejecutarse la instrucción repetitiva ya que solo le dijimos al


bucle que repita mientras la edad sea mayor a 18.

Loop While edad > 18


Console.ReadKey()
10
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

Se debe tener el siguiente código final.

Sub Main()

Dim edad, añonac, añoactu As Integer


Console.Write("Ingrese Año Actual: ")
añoactu = Console.ReadLine

Do
Console.Write("Ingrese año de nacimiento: ")
añonac = Console.ReadLine
edad = añoactu - añonac
If edad >= 18 Then
Console.WriteLine("Puede ingresar su Edad es: {0}", edad)
Else
Console.WriteLine("Eres menor de Edad: ")
End If
Loop While edad > 18
Console.ReadKey()
End Sub

Compilar la aplicación. Ingresar el año actual e ingresar un año de nacimiento.

Podemos ver que si la edad es mayor a 18 muestra un mensaje y luego vuelve a pedir el año de
nacimiento.

Pero si ahora ingresamos una fecha de nacimiento más reciente nos mostrara el otro mensaje y
terminara la aplicación.

Propuestos

1. Calcular el total que una persona debe pagar en una llantería, si el precio de cada llanta es de
$800 si se compran menos de 5 llantas y de $700 si se compran 5 o más.

2. En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento


11
INSTITUTO SUPERIOR TECNOLOGICO “HIPOLITO UNANUE”

dependiendo de un número que se escoge al azar. Si el número escogido es menor que 74 el


descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del
20%. Obtener cuánto dinero se le descuenta.

3. Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de
ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es: num. pulsaciones =
(220 - edad)/10 y si el sexo es masculino: num. pulsaciones = (210 - edad)/10.

4. Una compañía de seguros está abriendo un depto. de finanzas y estableció un programa para
captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor
que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50 000 la
cuota a pagar será el 2% del monto. La afianzadora desea determinar cuál será la cuota que
debe pagar un cliente.

5. En una escuela la colegiatura de los alumnos se determina según el número de materias que
cursan. El costo de todas las materias es el mismo. Se ha establecido un programa para
estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por un alumno
en el último periodo es mayor o igual que 9, se le hará un descuento del 30% sobre la
colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deberá pagar la
colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno.

6. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: Si
los ingresos del comprador son menores de $8000 o más el enganche será del 15% del costo
de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si los ingresos del
comprador son menos de $8000 o más el enganche será del 30% del costo de la casa y el resto
se distribuirá en pagos mensuales a pagar en 7 años. La empresa quiere obtener cuanto debe
pagar un comprador por concepto de enganche y cuanto por cada pago parcial.

12

You might also like