Ejercicios resueltos básicos y de estructuras de decisión en Visual Basic 6.0
1) Escribir un programa que agregue un valor de la suma
Se debe crear:
3 Label (En el tercer Label cambia el BorderStyle de 0 - None a 1 - Fixed Single)
1 TextBox
1 CommandButton
Debe quedar así
Hay dos formas de hacerlo: Forma simple(Nivel: Facil) y Forma simple(Nivel: Normal). Verán porque.
Forma simple(Nivel: Facil): El problema de la forma simple es que al agregar el primer valor y al darle sumar nos agrega el primer valor ingresado, en vez de esperar los otros valores que se van a sumar. Por ejemplo:
1) Si ingreso 1 en lugar de quedar el Label3 en blanco te muestra el primer valor ingresado, en vez de quedarse en blanco el Label3, para poder ingresar el siguiente valor sumarlo y mostrar el resultado. Pruebenlo y veran porque.
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Option Explicit
Dim Suma As Double
_____________________________________________________________________
Private Sub Command1_Click()
Dim Valor As Double
Valor = Text1
Suma = Suma + Valor
Label3 = Suma
End Sub
Forma simple(Nivel: Normal): Esta es la forma en que vemos si se ha ingresado datos o no en el TextBox usando condicionales, y también nos ayuda a sumar de forma cómoda como las calculadora de Windows.
Debe quedarte así:
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Dim Operacion As String
Dim Inicio As Boolean
Dim PrimerValor, ValorSiguiente, Suma As Double
Private Sub Command1_Click()
PrimerValor = Val(Text1.Text)
Text1.Text = ""
Inicio = False
Operacion = "Suma"
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Label3 = ""
ValorSiguiente = 0
Inicio = False
End Sub
Private Sub Command3_Click()
If Text1 = "" Then
MsgBox "Usted no ha ingresado su numero"
End If
ValorSiguiente = Text1.Text
Select Case Operacion
Case "Suma"
Suma = PrimerValor + ValorSiguiente
Label3 = Suma
End Select
End Sub
2) Escribir un programa que lea 5 números enteros y escriba la media aritmética (Promedio) de los mismos
Se hace de tres maneras
Primera manera
Se debe crear:
5 TextBox
7 Label (En el último Label cambia el BorderStyle de 0 - None a 1 - Fixed Single)
1 CommandButton
Debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
Dim PrimerValor As Integer, SegundoValor As Integer, TercerValor As Integer, CuartoValor As Integer, QuintoValor As Integer
PrimerValor = Text1
SegundoValor = Text2
TercerValor = Text3
CuartoValor = Text4
QuintoValor = Text5
Label7 = (PrimerValor + SegundoValor + TercerValor + CuartoValor + QuintoValor) / 5
End Sub
Segunda manera:
Esta manera es para que cuando se nos olvide poner el algún valor en cualquier TextBox, nos muestre un mensaje de que falta ingresar un valor en tal TextBox
Se debe crear:
5 TextBox
7 Label (En el último Label cambia el BorderStyle de 0 - None a 1 - Fixed Single)
1 CommandButton
Debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
Dim PrimerValor As Integer, SegundoValor As Integer, TercerValor As Integer, CuartoValor As Integer, QuintoValor As Integer
PrimerValor = Val(Text1)
SegundoValor = Val(Text2)
TercerValor = Val(Text3)
CuartoValor = Val(Text4)
QuintoValor = Val(Text5)
If Text1 = "" Then
MsgBox "Falta el un valor en la casilla 1"
ElseIf Text2 = "" Then
MsgBox "Falta el un valor en la casilla 2"
ElseIf Text3 = "" Then
MsgBox "Falta el un valor en la casilla 3"
ElseIf Text4 = "" Then
MsgBox "Falta el un valor en la casilla 4"
ElseIf Text5 = "" Then
MsgBox "Falta el un valor en la casilla 5"
Else
Label7 = (PrimerValor + SegundoValor + TercerValor + CuartoValor + QuintoValor) / 5
End If
End Sub
Tercera forma:
Para eso debemos crear una "Matriz de Controles", lo que significa que debemos crear 9 veces un TEXT1
Como se muestra gráficamente.
Creamos un TextBox
Le damos click derecho del Mouse y nos saldrá el siguiente cuadro lo cual sale una opción que dice copiar.
Ahora acercamos el cursor en el espacio del formulario le damos click derecho y pegar. O lo más fácil apretamos la tecla Ctrl y la tecla V las dos (teclas a la vez)
Luego de haberle dado pegar te va a salir un cuadro que te dice lo siguiente:
"Ya existe un control llamado Text1 ¿Deseas crear una matriz de controles?"
Les das click en SI o en Aceptar
Creas 5 Text1
7 Labels
y un CommandButton
El formulario debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
Dim PrimerValor As Integer, SegundoValor As Integer, TercerValor As Integer, CuartoValor As Integer, QuintoValor As Integer
PrimerValor = Val(Text1(0))
SegundoValor = Val(Text1(1))
TercerValor = Val(Text1(2))
CuartoValor = Val(Text1(3))
QuintoValor = Val(Text1(4))
If Text1(1) = "" Then
MsgBox "Falta el un valor en la casilla 1"
ElseIf Text1(2) = "" Then
MsgBox "Falta el un valor en la casilla 2"
ElseIf Text1(3) = "" Then
MsgBox "Falta el un valor en la casilla 3"
ElseIf Text1(4) = "" Then
MsgBox "Falta el un valor en la casilla 4"
ElseIf Text1(5) = "" Then
MsgBox "Falta el un valor en la casilla 5"
Else
Label7 = (PrimerValor + SegundoValor + TercerValor + CuartoValor + QuintoValor) / 5
End If
End Sub
3) El alquiler de un vehículo cuesta 70.000 bolívares por día más 750 bolívares por cada kilómetro recorrido. Escribir un programa que lea por teclado el número de días en alquiler y el números de kilómetros recorridos y muestre el monto total que se debe pagar.
Se debe crear:
2 TextBox
4 Label (En el último Label cambia el BorderStyle de 0 - None a 1 - Fixed Single)
1 CommandButton
Debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
'Declaramos las constantes
Const AlquilerDelAuto = 70000
Const KilometrosRecorrido = 750
Dim DiasDeAlquiler As Integer
Dim KilometrosRecorridos As Integer
DiasDeAlquiler = Val(Text1)
Kilometros = Val(Text2)
If Text1 = "" Then
MsgBox "No has ingresado los dias"
ElseIf Text2 = "" Then
MsgBox "No has ingresado los kilometros"
Else
Label3 = (DiasDeAlquiler * AlquilerDelAuto) + (KilometrosRecorrido * Kilometros)
End If
End Sub
4) Escribir un programa que lea por teclado un numero entero, el cual representa un monto en bolívares y muestre cuantos billetes de 50.000, 20.000, 10.000, 5.000, 2.000 y 1.000 y cuantas monedas de 500, 100, 50, 20, 10, 5 y 1 constituyen esa cantidad.
Aquí usaremos InputBox
Se debe crear:
13 TextBox
13 Label
1 CommandButton
Debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Option Explicit
Private Sub Command1_Click()
Dim Monto As Long
'Ingresamos los datos
Monto = InputBox("Ingrese su monto")
Text1 = Monto \ 50000
Text2 = Monto \ 20000
Text3 = Monto \ 10000
Text4 = Monto \ 5000
Text5 = Monto \ 2000
Text6 = Monto \ 1000
Text7 = Monto \ 500
Text8 = Monto \ 100
Text9 = Monto \ 50
Text10 = Monto \ 20
Text11 = Monto \ 10
Text12 = Monto \ 5
Text13 = Monto \ 1
End Sub
5) Escribir un programa que solicite al usuario la introducción de un número de tres dígitos y que lo imprima en orden inverso. Ejemplo: Para una entrada de 695,la salida deberá ser 596.
Se debe crear:
2 TextBox
2 Label
1 CommandButton
Debe quedarte así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
Dim Numero As Integer
Dim CalculoUno As Integer, RespuestaUno As Integer
Dim CalculoDos As Integer, RespuestaDos As Integer
Numero = Text1
CalculoUno = Numero \ 100
RespuestaUno = Numero Mod 100
CalculoDos = RespuestaUno \ 10
RespuestaDos = RespuestaUno Mod 10
Text2 = RespuestaDos & CalculoDos & CalculoUno
End Sub
6) Dados tres valores enteros, los cuales representan las longitudes de los lados de un triángulo, escribir un programa que determine si el triángulo es isósceles, equilátero o escaleno.
Se debe crear:
4 Label
3 TextBox
1 CommandButton
Debe quedar así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command1_Click()
Dim LadoUno As Integer, LadoDos As Integer, LadoTres As Integer
LadoUno = Text1
LadoDos = Text2
LadoTres = Text3
If LadoUno = LadoDos And LadoDos = LadoTres Then
Label4 = "Es equilátero"
ElseIf LadoUno = LadoDos Or LadoUno = LadoTres Or LadoDos = LadoTres Or LadoDos = LadoUno Or LadoTres = LadoUno Or LadoTres = LadoDos Then
Label4 = "Isosceles"
Else
Label4 = "Escaleno"
End If
End Sub
7) Escribir un programa que dada la hora en HH:MM:SS calcule y muestre la hora un segundo después.
Donde:
HH es la hora
MM son los minutos
SS son los segundos
Se debe crear:
3 TextBox
3 CommandButton
Debe quedar así
Aquí esta el código (Darle doble clíck al CommandButton e introducir lo siguiente)
Private Sub Command3_Click()
VariableHora = Text1
VariableMinutos = Text2
VariableSegundos = Text3
VariableSegundos = VariableSegundos + 1
If VariableSegundos = 60 Then
VariableSegundos = 0
VariableMinutos = VariableMinutos + 1
If VariableMinutos = 60 Then
VariableMinutos = 0
VariableHora = VariableHora + 1
If VariableHora > 12 Then
VariableHora = 1
End If
End If
End If
Text1 = VariableHora
Text2 = VariableMinutos
Text3 = VariableSegundos
End Sub
_____________________________________
Private Sub Command1_Click()
Text1 = ""
Text2 = ""
Text3 = ""
End Sub
_______________________________
Private Sub Command2_Click()
End
End Sub
_________________________________
NOTA:
A) El CommandButton3 es el botón Hora
B) El CommandButton1 es el botón Borrar
C) El CommandButton2 es el botón Salir
CALIFICACIÓN DE ESTUDIANTES
Crea un formulario con ocho etiquetas, nueve cajas de texto, tres botones ye escribe el siguiente código:
El botón Salir
Private Sub Command3_Click()
Unload Me
End
End Sub
El botón Limpiar
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
Text6 = ""
Text7 = ""
Text8 = ""
Text9 = ""
Text1.SetFocus
End Sub
El botón Prom. Gral. Redondeado
Private Sub Command1_Click()
Dim n1 As Double, n2 As Double, n3 As Double, n4 As Double, n5 As Double, n6 As Double
Dim promedio As Integer
n1 = Val(Text2): n2 = Val(Text3)
n3 = Val(Text4): n4 = Val(Text5)
n5 = Val(Text6): n6 = Val(Text7)
promedio = ((n1 + n2 + n3 + n4 + n5 + n6) / 6)
Text8 = Str(promedio)
If promedio >= 9.5 Then
Text9 = "Excelente"
End If
If promedio >= 9 And promedio < 9.5 Then
Text9 = "Muy Bien"
End If
If promedio >= 8.5 And promedio < 9 Then
Text9 = "Bien"
End If
If promedio >= 8 And promedio < 8.5 Then
Text9 = "Regular"
End If
If promedio < 8 Then
Text9 = "Mal"
End If
End Sub