Está en la página 1de 6

LENGUAJE DE PROGRAMACIÓN DE INGENIERÍA

_____________________________________________________________________________________________

GUÍA DE PRÁCTICA: SENTENCIAS CONDICIONALES

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.

Estructura del Case:


Select Case [expresión]
Case [valor expresión 1]
Instrucción 1
Instrucción 2
Case [valor expresión 2]
Instrucción 3
Instrucción 4
Case [valor expresión n]
Instrucción k
Case Else
Instrucción m
End Select

- De coincidencia: por ejemplo, Case 12 indicaría que si la expresión evaluada vale 12 se


ejecutarán las instrucciones anexas.

- 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
_____________________________________________________________________________________________

1. Un empleado de una compañía desea saber el descuento y el sueldo neto que va


recibir, si solo se le proporciona el sueldo bruto. Muestre la solución en un formulario,
teniendo en cuenta la siguiente información que se le muestra.
Sueldo Descuento
0<= sueldo <=500 2%
500< sueldo <=1200 5%
1200< sueldo <=2500 9%
2500< sueldo <=5000 15%
5000< sueldo <=10000 19%
Sueldo >10000 25%

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
_____________________________________________________________________________________________

5. Uso del checkbox, contando los checkbox seleccionados.

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

También podría gustarte