Escolar Documentos
Profissional Documentos
Cultura Documentos
If count = 0 Then
message = "There are no items."
ElseIf count = 1 Then
message = "There is 1 item."
Else
message = "There are " & count & " items."
End If
El ejemplo siguiente contiene
instrucciones If...Then...Else anidadas.
VB
Private Function CheckIfTime() As Boolean
' Determine the current day of week and hour of day.
Dim dayW As DayOfWeek = DateTime.Now.DayOfWeek
Dim hour As Integer = DateTime.Now.Hour
Else
Return False
End If
Else
Return False
End If
End Function
100. Fin
SOLUCIN AL EJERCICIO CON USO DE GOTO
2. Cdigo (versiones VB menos recientes)
'[Curso VB aprenderaprogramar.com]
'[Ejemplo de IrA]
Option Explicit
Dim Canal As Integer
Dim i As Integer
Dim Dato(35) As Single
Dim Suma!, Media As Single
Private Sub Form_Load()
Show
LabelResultado.Alignment = 2
LabelResultado.FontBold = True
'[Apertura del archivo]
Canal = FreeFile
Open "C:\notas.dat" For Input As Canal
For i = 1 To 35
'[Lectura de datos desde archivo]
Input #Canal, Dato(i)
If Dato(i) < 0 Or Dato(i) > 10 Then
'[Dato no vlido]
GoTo 99 '[Envo a gestin de errores]
End If
Suma = Suma + Dato(i)
Next i
Media = Suma / 35
MsgBox("La media es " & Media)
Close Canal '[Cerramos el archivo]
Unload Form1
End
99 '[Gestin de errores]
LabelResultado = "No se pudo completar la extraccin de datos. Motivo:
dato no vlido. Revise archivo y vuelva a intentarlo" & vbCrLf & "Gracias por
utilizar este programa"
3. Cdigo (versiones VB ms recientes)
Dim i As Integer
Dim Dato(35) As Single
Dim Suma, Media As Single
LabelResultado.TextAlign = ContentAlignment.MiddleCenter
LabelResultado.Font = New Font("Arial", 10, FontStyle.Bold)
LabelResultado.Text = ""
'[Apertura del archivo]
Dim myFileToRead As New
System.IO.StreamReader("C:\Users\Asus\Desktop\notas.dat", False)
For i = 1 To 35
'[Lectura de datos desde archivo]
Dato(i) = myFileToRead.ReadLine()
If Dato(i) < 0 Or Dato(i) > 10 Then '[Dato no vlido]
GoTo 99 '[Envo a gestin de errores]
End If
Suma = Suma + Dato(i)
Next i
Media = Suma / 35
MsgBox("La media es " & Media)
myFileToRead.Close()
Me.Close()
End
99:
'[Gestin de errores]
LabelResultado.Text = "No se pudo completar la extraccin de datos.
Motivo: dato no vlido. Revise archivo y vuelva a intentarlo" & vbCrLf &
"Gracias por utilizar este programa"
myFileToRead.Close()
End Sub
End Class
Instruccion Goto
Transfiere el control a una lnea especifica del cdigo, identificada por una
etiqueta o por un
numero de lnea.
Goto (etiqueta o numero de lnea)
Ejemplo:
Dim R As Single, A As Single
Print Escribir 0 para finalizar
Comienzo:
R = InputBox(Radio:)
If R <= 0 Then
Exit Sub
Else
A = 3.141592 * R^2
Print Area = ; A
End If
Goto Comienzo
4. EJERCICIO RESUELTO
Escribir una aplicacin que calcule el capital total de una cuenta de ahorro
despus de un
periodo de N aos a un inters anual del R% suponiendo un capital inicial de
C Bolvares.
Imprimir el capital acumulado por cada ao transcurrido.
La solucin de este ejemplo puede ser as:
1. Se solicita el capital y el periodo de N aos
2. Se calcula el capital acumulado despus del primer ao y se imprime
3. Partiendo del capital acumulado anterior, se calcula el capital acumulado
despus del
siguiente ao y se imprime; y asi sucesivamente.
Codificacin: (No olvide asignar a la propiedad Redraw del Form el valor
True)
Private Sub Form_Load ( )
Interes Compuesto
Dim Capital As Double, TPInt As Integer
Dim NAos As Integer, R As Integer, I As Integer
Capital = InputBox(Capital a invertir)
NAos = InputBox(Periodo en aos)
R = InputBox(Tipo de Inters)
Escribir ao a ao los resultados redondeados
For I = 1 To Naos
Capital = Int(Capital + R / 100 * Capital + 0.5)
Ing. Raymond Marquina 8
Print Capital Total despus de: ; I; aos; Capital
Next I
End Sub
5. . El siguiente EJERCICIO DE GoTo y Resume.