viernes, 25 de noviembre de 2011

Manual de Visual Basic 6 Nivel Intermedio

Manual de Visual Basic 6 Nivel Intermedio

Variables y constantes

Variable
En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa.

Constante
En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa. (Wikipedia).

Para declara una constante
Especifique si es privada o pública, por default son privadas.
Ejemplos
Const VarNum=52
Public Const CadCarac=”Hola”
Private Const VarInt=5
Const Str=”Hello”, Costo As Double=45.80

Nombres de variables
Debe iniciar con una letra, con una longitud hasta 255 caracteres, sin espacios, puntos, ni caracteres especiales o palabras reservadas.

Tipos de datos
Boolean: Binario (True o False).
Byte: Entero corto (0 a 255).
Integer: Entero (2 bytes, %, -32768 a 32767).
Long: Entero largo (4 bytes, &, -2147483648 a 2147483647).
Single: Real simple precisión (4 bytes,  !, -3.40E+38 a 3.40E+38).
Double: Real doble precisión ( 8 bytes, #, -1.79D+308 a 1.79D+308).
Currency: Número con punto decimal fijo (8 bytes, @, 0 a 65500 caracteres).
Date: Fecha (8 bytes, 01/01/100 a 31/12/9999, 0:00:00 a 23:59:59).
Variant: Diferentes tipos de valor.
User-defined: Definida por el usuario.

Para declarar variables
Utilice la palabra reservada Dim el nombre de la variable la palabra reservada As y el tipo de datos.

Sintaxis:
Dim NombreVariable As TipoVariable

Ejemplos:
Dim Radio As Double, Superficie as Single
Dim Nombre As String

También puedes utilizar los caracteres especiales de declaración de tipo
Radio# doble precisión
Nombre$ cadena de caracteres



 OPERADORES

Aritméticos
^             Exponenciación
-              Cambio de signo (operador unario)
*, /          Multiplicación, división
\              División entera
Mod       Resto de una división entera
+, -          Suma y resta

Concatenación
& +         Concatenar o enlazar

Relacional
=             Igual a
<>           Distinto
<     <=    Menor que / menor o igual que
>      >=   Mayor que / mayor o igual que

Lógico
Is             Comparar dos referencias a objetos
Not         Negación
And        Y
Or           O

Estructura de control

Sentencia IF ... THEN ... ELSE ...

Esta estructura permite ejecutar condicionalmente el flujo de ejecución del código de un programa.

Forma simple
If condición Then sentencia1 [Else sentencia2]

Forma completa
If condicion Then
   sentencia(s)
[Else
   sentencia(s)]
End If

Si condicion es True (verdadera), se ejecutan las sentencias que están a continuación de Then, y si condicion es False (falsa), se ejecutan las sentencias que están a continuación de Else, si esta cláusula ha sido especificada (pues es opcional).

Forma múltiple
If condicion1 Then
   sentencias1
ElseIf condicion2 Then
   sentencias2
Else
   sentencia-n
End If
Si se cumple la condicion1 se ejecutan las sentencias1, y si no se cumple, se examinan secuencialmente las condiciones siguientes hasta Else, ejecutándose las sentencias correspondientes al primer ElseIf cuya condición se cumpla. Si todas las condiciones son falsas, se ejecutan las sentencias-n correspondientes a Else, que es la opción por defecto.

Manejo de Condición simple
Agregue dos label, un textbox y un botón de comando, configure según las ilustraciones. El programa determina si un número es positivo.



Agregue dos label, un textbox y un botón de comando, configure según las ilustraciones. El programa determina si un número es Par



Agregue dos label, un textbox y un botón de comando, configure según las ilustraciones. El programa determina si una Persona es mayor de edad.



Actividades
1.-Realizar un programa que determine si un numero es negativo
2.-Determinar cuando un numero es diferente de cero.
3.-Elaborar un programa que determine si un numero es mayor o igual a 10.
5.-Realizar un programa que determine si un numero es impar.
6.-Determinar cuando una persona es menor de edad.
7.-Determinar cuando una persona es anciana (Mayor o igual a 60 años).
8.-Determinar de acuerdo a la edad si una persona es un niño (menor de 14 años)
9.- Determinar de acuerdo a una hora (1-24) si es “antes de medio día”.
10.- Determinar de acuerdo a una hora si es “Pasado de medio día”

Manejo de condición completa
Agregue dos label, un textbox y un botón de comando, configure según las ilustraciones. El programa determina si un número es positivo o negativo.



Private Sub Determinar_Click()
  If Valor >= 0 Then resultado = "Positivo" Else resultado = "Negativo"
End Sub

Agregue dos label, un textbox y un botón de comando, configure según las ilustraciones. El programa determina si un número es par o Impar.



Private Sub Determinar_Click()
  If Valor mod 2 = 0 Then resultado = "Par" Else resultado = "Impar"
End Sub




 
Private Sub Determinar_Click()
If Valor >= 18 Then Salida.Caption = "Mayor de edad" Else Salida.Caption = "Menor de edad"
End Sub

Actividades
1.-Dada una hora (1-24) determinar si es “antes de medio día” o “Pasado de medio día”
2.-Dado un numero (1-12) indicar una salida de “Mayo” cuando sea 5 y “Mes sin importancia” con cualquier otro valor.
3.-Indicar “Jueves de plaza” cuando un numero (1-7) sea 4 y “Poca venta” cualquiera de los demás números.
4.-De diez números (1-10) indicar “Continua” cuando no sea 5 y “mitad” en caso contrario.
5.-Se una calificación, indicar cuando es aprobatoria y cuando no lo es.
6.-Dado un porcentaje de asistencia indicar cuando es se tiene derecho a global o no.
7.-Sea un porcentaje de evidencias indicar cuando se tiene derecho a global o no.
8.-Dado un porcentaje de asistencia indicar cuando se tiene derecho a especial o no.
9.-De 10 números indicar “Básico” para 1-5 y “Avanzado” para 6-10
10.-Dada una hora si es diferente de 14 indica “trabajo” en caso contrario “Receso”.

Manejo de OR



 
Private Sub Determinar_Click()
If Valor < 0 Or Valor > 0 Then
   If Valor > 0 Then Salida.Caption = "Positivo" else Salida.caption=”Negativo”
Else
   Salida.Caption = "Cero"
End If
End Sub



Private Sub Determinar_Click()
If Valor < 21 Or Valor >= 60 Then Salida.Caption = "No es adulto" Else Salida.Caption = "Adulto"
End Sub


 
Private Sub Determinar_Click()
If Valor < 80 Or Valor >= 90 Then Salida.Caption = "No procede" Else Salida.Caption = "Procede"
End Sub

Actividades
Utilice el conector lógico OR.
1.-Determinar en base a una calificación, el calificativo de suficiente para 6 y 7.
2.-Indique de acuerdo a una edad el calificativo de adolescente (14-20 años).
3.-Indique el calificativo de “básico” para 1-5 y “avanzado” para 6-10.
4.-Indique el calificativo de “veda” para los meses de enero (1) o junio (6).
5.-Indique descanso para los días sábado y domingo (6,7)
6.-Mande una señal de alerta cuando la temperatura alcanza los 40-50 grados centígrados.
7.-Indique vacaciones para los mese de marzo (3), agosto (8) y Diciembre (12)
9.-De, el calificativo de “muy bien” para calificaciones de 8 y 9.
10.-Califique de niño a una persona de 2 a 13 años.


Manejo de AND
Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina de que triangulo se trata, en base a tres medidas.



 
Private Sub determinar_Click()
If x = y And y = z Then
   salida.Caption = "Equilatero"
Else
   If x <> y And y <> z And z <> x Then
      salida.Caption = "Escaleno"
   Else
      salida.Caption = "Isoceles"
    End If
End If
End Sub

Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina, que numero es mayor de tres..


 
Private Sub determinar_Click()
If v1 > v2 And v1 > v3 Then
   numero.Caption = "El numero mayor es " & v1
Else
  If v2 > v3 Then
     numero.Caption = "El numero mayor es " & v2
  Else
     numero.Caption = "El numero mayor es " & v3
  End If
End If
End Sub

Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina, si un alumno aprobó si tiene 80 porciento en asistencia y evidencias y 8 de examen como mínimo.



Private Sub determinar_Click()
If v1 >= 80 And v2 >= 80 And v3 >= 8 Then
   Aprobado.Caption = "Alumno aprovado"
Else
   Aprobado.Caption = "Elementos insuficientes"
End If
End Sub


Actividades
Utilice el conector lógico And.
1.-Determine que numero es mayor de cuatro.
2.-Determine si un alumno tiene derecho a global, recuperación o especial, en base a la siguiente tabla.

Global
recuperación
especial
Asistencia
>=90
>=80
>=70
Evidencias
>=80
>=90
100

3.-Asigne un calificativo en base a una calificación, de acuerdo a la siguiente tabla.
Calificación
0-7.9
8-8.9
9-9.9
10
Calificativo
Reprobado
Bien
Muy bien
Excelente

4.-Asigne un calificativo a una persona en base a su edad, de acuerdo a la siguiente tabla.
Calificativo
niño
adolescente
adulto
anciano
Edad
2-13
14-20
21-59
>=60

5.-Determinar a que tipo de beca puede acceder un alumno de acuerdo a su promedio, distancia e ingreso familiar.

Transporte
Alimenticia
Completa
Promedio
8
7
10
Distancia
Más de 12km.
Menos de 5km.
Menos de 1km.
Ingreso familiar
Menos de $5000.00
Menos de $2000.00
Menos de $6000.00

6.-Según una velocidad de viento determinar el daño de un huracán, en base a la siguiente tabla
Velocidad
74-95
96-110
111-130
131-150
mayores a 155
Daño
mínimos
moderados
extensos
extremos
catastróficos

7.-Según una magnitud en escala Richter determinar los daños de un terremoto:
Magnitud
3.5-5.4
5.5-6.0
6.1-6.9
7.0-7.9
8 o mayor
Daños
menores
ligeros
severos
graves
destrucción total

8.-Determinar el nivel de seguridad de una contraseña en base a la cantidad de caracteres:
Caracteres
5-9
10-14
15-19
Mayor a 19
Seguridad
mínima
intermedia
avanzada
máxima

9.-En base a los resultados de un examen determinar el nivel de conocimientos de una persona
Resultados
50-99
100-199
200 o más
Nivel
Básicos
Intermedios
Avanzados

10.-Determinar el número mayor de seis números.

 

Sentencia SELECT CASE
Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Su forma general es la siguiente:

Select Case expresion
Case etiq1
   [ sentencias1]
Case etiq2
   [ sentencias2]
Case Else
   sentenciasn
End Select

Donde expresion es una expresión numérica o alfanumérica, y etiq1, etiq2, ... pueden adoptar las formas siguientes:
1. expresion
2. expresion To expresion
3. Is operador-de-relación expresion
4. combinación de las anteriores separadas por comas


Manejo de Select case
Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina de que triangulo se trata, en base a tres medidas.


 
Private Sub Determina_Click()
Select Case Int(a)
Case b
   Select Case Int(b)
      Case c: triangulo.Caption = "Equilatero"
      Case Else: triangulo.Caption = "Isoceles"
   End Select
Case c
   Select Case Int(c)
      Case b: triangulo.Caption = "Equilatero"
      Case Else: triangulo.Caption = "Isoceles"
   End Select
Case Else
  Select Case Int(b)
     Case c: triangulo.Caption = "Isoceles"
     Case Else: triangulo.Caption = "Escaleno"
   End Select
End Select
End Sub

Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina, que numero es mayor de tres.


 
Private Sub Determina_Click()
Select Case Int(x)
   Case Is >= y
   Select Case Int(x)
      Case Is >= z: mayor.Caption = x
      Case Else: mayor.Caption = z
   End Select
   Case Else
   Select Case Int(y)
      Case Is >= z: mayor.Caption = y
      Case Else: mayor.Caption = z
   End Select
End Select
End Sub

Agregue 3 label, 3 cuadros de texto y un botón de comando, configure según las ilustraciones. El programa determina, si un alumno aprobó si tiene 80 porciento en asistencia y evidencias y 8 de examen como mínimo.



 
Private Sub Determinar_Click()
Select Case Int(a)
   Case Is >= 80
      Select Case Int(b)
         Case Is >= 80
         Select Case Int(c)
            Case Is >= 8: Aprobado.Caption = "Aprobado"
            Case Else: Aprobado.Caption = "No aprobado"
         End Select
         Case Else: Aprobado.Caption = "No aprobado"
      End Select
   Case Else
   Aprobado.Caption = "No aprobado"
End Select
End Sub


 
Actividades
Utilice la sentencia select case.
1.-Determine que numero es mayor de cuatro.
2.-Determine si un alumno tiene derecho a global, recuperación o especial, en base a la siguiente tabla.

Global
recuperación
especial
Asistencia
>=90
>=80
>=70
Evidencias
>=80
>=90
100
3.-Asigne un calificativo en base a una calificación, de acuerdo a la siguiente tabla.
Calificación
0-7.9
8-8.9
9-9.9
10
Calificativo
Reprobado
Bien
Muy bien
Excelente
4.-Asigne un calificativo a una persona en base a su edad, de acuerdo a la siguiente tabla.
Calificativo
niño
adolescente
adulto
anciano
Edad
2-13
14-20
21-59
>=60
5.-Determinar a que tipo de beca puede acceder un alumno de acuerdo a su promedio, distancia e ingreso familiar.

Transporte
Alimenticia
Completa
Promedio
8
7
10
Distancia
Más de 12km.
Menos de 5km.
Menos de 1km.
Ingreso familiar
Menos de $5000.00
Menos de $2000.00
Menos de $6000.00
6.-Según una velocidad de viento determinar el daño de un huracán, en base a la siguiente tabla
Velocidad
74-95
96-110
111-130
131-150
mayores a 155
Daño
mínimos
moderados
extensos
extremos
catastróficos
7.-Según una magnitud en escala Richter determinar los daños de un terremoto:
Magnitud
3.5-5.4
5.5-6.0
6.1-6.9
7.0-7.9
8 o mayor
Daños
menores
ligeros
severos
graves
destrucción total
8.-Determinar el nivel de seguridad de una contraseña en base a la cantidad de caracteres:
Caracteres
5-9
10-14
15-19
Mayor a 19
Seguridad
mínima
intermedia
avanzada
máxima
9.-En base a los resultados de un examen determinar el nivel de conocimientos de una persona
Resultados
50-99
100-199
200 o más
Nivel
Básicos
Intermedios
Avanzados
10.-Determinar el número mayor de seis números.


Sentencia FOR ... NEXT
La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto número de veces. Su forma general es:

For variable = expresion1 To expresion2 [Step expresion3]
[sentencias]
Exit For
[sentencias]
Next [variable]

Cuando se ejecuta una sentencia For, primero se asigna el valor de la expresion1 a la variable y se comprueba si su valor es mayor o menor que la expresion2. En caso de ser menor se ejecutan las sentencias, y en caso de ser mayor el control del programa salta a las líneas a continuación de Next. Todo esto sucede en caso de ser la expresion3 positiva. En caso contrario se ejecutarán las sentencias cuando la variable sea mayor que expresion2. Una vez ejecutadas las sentencias, la variable se incrementa en el valor de la expresion3, o en 1 si Step no se especifica, volviéndose a efectuar la comparación entre la variable y la expresion2, y así sucesivamente.
La sentencia Exit For es opcional y permite salir de un bucle For ... Next antes de que éste finalice.

Manejo de for
Agregue un botón de comando y configure la siguiente manera, el programa realiza 10 ciclos.


 
Private Sub incrementa_Click()
Ciclo.Caption = ""
For a = 1 To 10
   Ciclo.Caption = Ciclo.Caption & a & " "
Next a
End Sub


Modifique la línea de for de las siguientes maneras y ejecute.
For a = 1 To 10 Step 2
For a = 10 To 1 Step -2

Modifique el código de la siguiente forma:
Private Sub incrementa_Click()
Ciclo.Caption = ""
vi = Int(InputBox("Valor inicial:"))
nc = Int(InputBox("Numero de ciclos:"))
ci = Int(InputBox("cantidad de incremento:"))
For a = vi To nc Step ci
   Ciclo.Caption = Ciclo.Caption & a & " "
Next a
End Sub

Agregue un Picturebox y un botón de comando, configure de acuerdo a las ilustraciones. El programa genera la tabla del 2.


 
Private Sub determina_Click()
For a = 1 To 10
r = "2 x " & a & " =" & 2 * a
resultado.Print r
Next a
End Sub

Modifique el pictorebox a forma que se vean todos los resultados de acuerdo al siguiente código.
Private Sub determina_Click()
For b = 2 To 5

 Agregue un Picturebox y un botón de comando, configure de acuerdo a las ilustraciones. El programa calcula el sueldo de 3 empleados.

   For a = 1 To 10
       r = b & " x " & a & " =" & b * a
       resultado.Print r
   Next a
   resultado.Print " "
Next b
End Sub



 
Private Sub determinar_Click()
Dim cve As Integer
Dim nombre As String
Dim hrstrab As Integer
Dim ctoxhr As Single
resultado.Cls
resultado.Print "clave", "Nombre", "Hrs. Trab.", "CtoXHr", "Sueldo"
For a = 1 To 3
   cve = Int(InputBox("Clave de empleado: "))
   nombre = InputBox("nombre:")
   hrstrab = Int(InputBox("horas trabajadas: "))
   ctoxhr = CSng(InputBox("Costo por Hora: "))
   resultado.Print cve, nombre, hrstrab, ctoxhr, ctoxhr * hrstrab
Next a
End Sub

Actividades

Utilice la instrucción For
1.- Elabore un programa que muestre las tablas de multiplicar del 6-10.
2.-Elabore un programa que visualice las tablas al cuadrado del 2 al 5.
3.-Elabore un programa que determine la sumatoria del 1 al 10.
4.-Elaborar un programa que calcule el promedio de tres alumnos en base a tres calificaciones.
5.- Elaborar un programa que genere una tabla de dividir de cualquier numero del uno al diez.
6.- Realizar un programa que calcule la tabla del 2 en sentido inverso y con saltos de -2.
7.- Realizar un programa que calcule la tabla del 2 desde un valor inicial a uno final.
8.- Realizar un programa que calcule la tabla del 2 hasta un valor final.
9.-Realiza un programa que calcule la siguiente tabla en base a los valores de a y b
10.- En base a los valores de a y b, elaborar una tabla que muestre los siguientes cálculos.




Sentencia DO ... LOOP
Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta, o hasta que una condición dada sea cierta. La condición puede ser verificada antes o después de ejecutarse el conjunto de sentencias. Sus posibles formas son las siguientes:

’ Formato 1:
Do [{While/Until} condicion]
[ sentencias]
[Exit Do]
[ sentencias]
Loop

’ Formato 2:
Do
[ sentencias]
[Exit Do]
[ sentencias]
Loop [{While/Until} condicion]

La sentencia opcional Exit Do permite salir de una bucle Do ... Loop antes de que finalice éste.

Manejo de Do… Loop
Agregue un botón de comando y configure de acuerdo a las ilustraciones, el programa utiliza un ciclo para mostrar números del 1 al 10.



 
Con Until

Private Sub determinar_Click()
contador = 1
DoLoop.Caption = ""
Do
   DoLoop.Caption = DoLoop.Caption & contador & " "
   contador = contador + 1
Loop Until contador = 11
End Sub


2da forma

Private Sub determinar_Click()
contador = 1
DoLoop.Caption = ""
Do Until contador = 11
   DoLoop.Caption = DoLoop.Caption & contador & " "
   contador = contador + 1
Loop
End Sub

 
Con While

Private Sub determinar_Click()
contador = 1
DoLoop.Caption = ""
Do While contador < 11
   DoLoop.Caption = DoLoop.Caption & contador & " "
   contador = contador + 1
Loop
End Sub


2da Forma

Private Sub determinar_Click()
contador = 1
DoLoop.Caption = ""
Do
   DoLoop.Caption = DoLoop.Caption & contador & " "
   contador = contador + 1
Loop While contador <> 11
End Sub

 
Agregue un Picturebox y un botón de comando, configure de acuerdo a las ilustraciones. El programa genera la tabla del 2.


Private Sub determinar_Click()
a = 1
Do While a <> 11
   r = "2 x " & a & " =" & 2 * a
   resultado.Print r
   a = a + 1
Loop
End Sub

Private Sub determinar_Click()
b = 1
Do While b <> 11
   a = 1
   Do While a <> 11
      r = b & " x " & a & " =" & b * a
      resultado.Print r
      a = a + 1
   Loop
   b = b + 1
   resultado.Print " "
Loop
End Sub

 
Modifique el pictorebox a forma que se vean todos los resultados de acuerdo al siguiente código.


Agregue un Picturebox y un botón de comando, configure de acuerdo a las ilustraciones. El programa calcula el sueldo de 3 empleados.



 
Private Sub determinar_Click()
Dim cve As Integer
Dim nombre As String
Dim hrstrab As Integer
Dim ctoxhr As Single
resultado.Cls
resultado.Print "clave", "Nombre", "Hrs. Trab.", "CtoXHr", "Sueldo"
a = 1
Do While a <> 4
   cve = Int(InputBox("Clave de empleado: "))
   nombre = InputBox("nombre:")
   hrstrab = Int(InputBox("horas trabajadas: "))
   ctoxhr = CSng(InputBox("Costo por Hora: "))
   resultado.Print cve, nombre, hrstrab, ctoxhr, ctoxhr * hrstrab
Loop
End Sub

Actividades

Utilice la instrucción Do… Loop
1.- Elabore un programa que muestre las tablas de multiplicar del 6-10.
2.-Elabore un programa que visualice las tablas al cuadrado del 2 al 5.
3.-Elabore un programa que determine la sumatoria del 1 al 10.
4.-Elaborar un programa que calcule el promedio de tres alumnos en base a tres calificaciones.
5.- Elaborar un programa que genere una tabla de dividir de cualquier numero del uno al diez.
6.- Realizar un programa que calcule la tabla del 2 en sentido inverso y con saltos de -2.
7.- Realizar un programa que calcule la tabla del 2 desde un valor inicial a uno final.
8.- Realizar un programa que calcule la tabla del 2 hasta un valor final.
9.-Realiza un programa que calcule la siguiente tabla en base a los valores de a y b

10.- En base a los valores de a y b, elaborar una tabla que muestre los siguientes cálculos.