Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguaje de Programacion
Lenguaje de Programacion
_____________________________________________________________________________________________
OBJETIVO: Programar sentencias condicionales en el lenguaje Visual Basic bajo el entorno de Visual
Studio 2016.
I. SENTENCIAS CONDICIONALES
Una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o
no en función del valor de una condición.
Los tipos más conocidos de sentencias condicionales (estructuras selectivas simple, doble y
múltiple) son el:
SI… ENTONCES (If… then)
SI… ENTONCES… SI NO (If… then…else)
SEGÚN (Case o switch)
Aunque también podríamos mencionar al lanzamiento de errores como una alternativa más
moderna para evitar el anidamiento de sentencias condicionales.
- De intervalo: usando la palabra clave To. Por ejemplo, Case 12 To 14 indicaría que si la
expresión evaluada tiene un valor comprendido entre 12 y 14 (incluidos los extremos de los
intervalos), se ejecutarán las instrucciones anexas.
- De comparación: usando la palabra clave Is. Por ejemplo, Case Is <= 14 indicaría que si la
expresión evaluada tiene un valor menor o igual a 14 se ejecutarán las instrucciones anexas.
Las sentencias condicionales constituyen, junto con los bucles, los pilares de programación
estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que ejecutaba
la siguiente línea o no en función del valor de una condición.
II. EJEMPLOS
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores
LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA
_____________________________________________________________________________________________
Solución:
btnCalcular:
Dim sueldo, descuento, sNeto, porcentaje As Double
If Not String.IsNullOrEmpty(txtSueldo.Text) And Not
String.IsNullOrWhiteSpace(txtSueldo.Text) Then
sueldo = CDbl(txtSueldo.Text)
If sueldo > 0 Then
If sueldo <= 500 Then
porcentaje = 2
descuento = sueldo * 0.02
ElseIf sueldo <= 1200 Then
porcentaje = 5
descuento = sueldo * 0.05
ElseIf sueldo <= 2500 Then
porcentaje = 9
descuento = sueldo * 0.09
ElseIf sueldo <= 5000 Then
porcentaje = 15
descuento = sueldo * 0.15
ElseIf sueldo <= 10000 Then
porcentaje = 19
descuento = sueldo * 0.19
ElseIf sueldo > 10000 Then
porcentaje = 25
descuento = sueldo * 0.25
End If
End If
sNeto = sueldo - descuento
txtDes.Text = porcentaje
txtDesc.Text = Math.Round(descuento, 2)
txtSneto.Text = Math.Round(sNeto, 2)
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores
LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA
_____________________________________________________________________________________________
Else
MessageBox.Show("ERROR!")
txtSueldo.Text = Space(0)
txtSueldo.Focus()
End If
btnSalir:
End
btnBorrar:
txtDes.Text = Space(0)
txtDesc.Text = Space(0)
txtSneto.Text = Space(0)
txtSueldo.Text = Space(0)
txtSueldo.Focus()
2. Se desea calcular el promedio de 4 notas ingresadas por teclado, pero se debe eliminar
la menor nota de ellas. Muestre la solución en un formulario.
Solución:
btnCalcular:
Dim n1, n2, n3, n4, prom, aux As Double
n1 = CDbl(txtN1.Text)
n2 = CDbl(txtN2.Text)
n3 = CDbl(txtN3.Text)
n4 = CDbl(txtN4.Text)
aux = n1
If n2 < aux Then
aux = n2
End If
If n3 < aux Then
aux = n3
End If
If n4 < aux Then
aux = n4
End If
prom = (n1 + n2 + n3 + n4 - aux) / 3
txtProm.Text = Math.Round(prom, 2)
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores
LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA
_____________________________________________________________________________________________
3. Programa que lee un número de día (1-7) y nos imprima el nombre del día.
Solución:
btnAnalizar:
Dim dia As Integer
dia = CInt(txtD1.Text)
Select Case dia
Case 1
txtDn.Text = "Lunes"
Case 2
txtDn.Text = "Martes"
Case 3
txtDn.Text = "Miércoles"
Case 4
txtDn.Text = "Jueves"
Case 5
txtDn.Text = "Viernes"
Case 6
txtDn.Text = "Sábado"
Case 7
txtDn.Text = "Domingo"
Case Else
MessageBox.Show("Dato incorrecto!!!")
txtD1.Text = Space(0)
txtD1.Focus()
End Select
4. Se ingresan dos números por teclado, se desea conocer cuál es el mayor y cuál es el
menor. Muestre la solución en un formulario.
Solución:
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores
LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA
_____________________________________________________________________________________________
btnAnalizar:
Dim C As Integer
C = 0
If CheckBox1.Checked Then
C = C + 1
End If
If CheckBox2.Checked Then
C = C + 1
End If
If CheckBox3.Checked Then
C = C + 1
End If
MessageBox.Show("Han sido seleccionados " + Str(C) + " checkbox")
6. Se ingresa un sueldo, se desea analizar sus descuentos acorde a ley, debe imprimir el
descuento respectivo y sueldo neto.
Solución:
btnCalcular:
Dim sueldo, sueldoN, desc As Double
desc = 0
sueldo = CDbl(txtSb.Text)
If CheckBox1.Checked Then
desc = desc + (sueldo * 0.11)
End If
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores
LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA
_____________________________________________________________________________________________
If CheckBox2.Checked Then
desc = desc + (sueldo * 0.09)
End If
If CheckBox3.Checked Then
desc = desc + CDbl(txtOtro.Text)
End If
sueldoN = sueldo - desc
txtDesc.Text = Math.Round(desc, 2)
txtSueldoN.Text = Math.Round(sueldoN, 2)
CheckBox3_CheckedChanged:
txtOtro.Enabled = CheckBox3.Checked
txtOtro.Focus()
Form1_Load:
txtOtro.Enabled = False
txtOtro_EnabledChanged:
txtOtro.Clear()
_____________________________________________________________________________________________
FACULTAD DE ING. MINAS, GEOLOGÍA Y METALURGIA Ing. Wilfredo M. Trejo Flores