SlideShare una empresa de Scribd logo
1 de 15
POLITÉCNICO ABURRÁ
                                                           LÓGICA DE PROGRAMACIÓN II


Docente:            Hernán Darío Hoyos Barrientos
Asignatura:         Lógica de programación II
Tema:               Introducción a las Bases de Datos
Fecha:              13, 20, 27 de febrero de 2012
Sede:               Mariscal - Medellín
Nivel:              3




Tipos de datos


   Tipo de Dato              Tamaño de                                                     Rango
                           Almacenamiento


Byte                   1 byte                    0 a 255


Boolean                2 bytes                   True o False


Integer                2 bytes                   -32.768 a 32.767


Long                   4 bytes                   -2.147.483.648 a 2.147.483.647
(entero largo)


Single                 4 bytes                   -3,402823E38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para
                                                 valores positivos
(coma flotante/
precisión simple)


Double                 8 bytes                   -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos;
                                                 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos
(coma flotante/
precisión doble)


Currency               8 bytes                   -922.337.203.685.477,5808 a 922.337.203.685.477,5807
(entero a escala)


Decimal                14 bytes                  +/- 79.228.162.514.264.337.593.543.950.335 sin punto decimal;
                                                 +/- 7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal;
                                                 elnúmero más pequeño distinto de cero es
                                                 +/- 0,000000000000000000000000001


Date                   8 bytes                   1 de enero de 100 a 31 de Diciembre de 9999


String                 Longitud de la            Desde 1 a 65.400 aproximadamente
(longitud fija)        cadena


Variant                16 bytes                  Cualquier valor numérico hasta el intervalo de un tipo Double
(con números)


Definido por           Número requerido por los El intervalo de cada elemento es el mismo que el intervalo de su tipo de datos
el usuario             elementos


                                                                                                                                        Pág.: 1
(utilizando Type)



Tipos de variables

El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable.

Las reglas básicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable.

En primer lugar es dentro de cualquier función o procedimiento, a estas se les llama variables locales y solo pueden ser usadas por instrucciones que
estén dentro de esa función o procedimiento.

En segundo lugar es como parámetro de una función, donde después de haber recibido el valor podrá actuar como variable local en esa función o
procedimiento.

En esencia una variable local solo es conocida por el código de esa función o procedimiento y es desconocida por otras funciones o procedimientos.

En tercer lugar es fuera de todas los procedimiento o funciones (que es el caso común de casi todas las variables usadas hasta ahora en los ejemplos
y programas hechos) a este tipo de variables se les llama variables globales y podrán ser usadas por cualquier función o procedimiento del programa.

En programación en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que variables globales están vivas
todo el tiempo de ejecución del programa y si una global solo la ocupa unos cuantos procedimientos no tiene caso que este viva para todo el resto, otra
razón es que es peligroso tener variables globales porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o
comparten su valor y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor.

Funciones básicas

Funciones para el tratamiento de cadenas

Las funciones de cadena, como su nombre lo indica, se utilizan para trabajar y tratar las cadenas de caracteres.

A continuación las más importantes de ellas.

Función Lcase y Ucase

Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula.
La función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como utilizarla sería así:

Lcase (cadena que queremos convertir a minúsculas)

Ejemplo:

Dim Cadena As String

Cadena = "HOLA MUNDO"

'Convertimos
cadena = LCase(cadena)

'La variable cadena ahora vale "hola mundo"

La función Ucase funciona de la misma manera que Lcase pero convierte el contenido de una cadena a mayúsculas.

Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de sueldos", escribiendo la siguiente línea:

Label1 = UCase(Label1)

El control Label1 pasaría a mostrar o mejor dicho contener en su propiedad caption:"PORCENTAJE DE SUELDOS".

Función Trim, LTrim y RTrim

Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena.

LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim de la parte derecha y Trim de ambas partes.

Ejemplos:

Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios vacíos de la izquierda haríamos lo siguiente:

ciudad = LTrim(ciudad)
                                                                                                                                              Pág.: 2
Si en un TextBox se quisiera borrar todos los espacios vacíos de la parte derecha de la cadena:

MiText = RTrim(MiText)

La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena. Ejemplo:

Pais = " Colombia       "
País = Trim(Pais)


Ahora el valor de País es igual a: "Colombia".

Función Len

La función Len nos permite conocer la cantidad de caracteres que tiene una determinada cadena. O sea que esta función nos devuelve un número.

Ejemplo:

Len (Aquí va la cadena que queremos averiguar su tamaño)

Como la función Len devuelve un número debemos asignar ese número devuelto en una variable de tipo numérica.

Ejemplo:

Dim TamanoCadena As Long

Dim MiCadena As String

MiCadena = "Me Llamo Eustaquio"

TamanoCadena = Len(MiCadena)


El valor de la variable TamanoCadena pasaría a valer 18.

Hay que tener en cuenta que la función Len también toma en cuenta los espacios vacíos.

Función Asc y Chr

La función Asc nos permite obtener el código ASCII de un de terminado caracter.

Ejempos:

Si queremos obtener el código ASCII del caracter "a", que es el número 97 podríamos hacer lo siguiente:

Dim num As Integer

num = Asc("a")

En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos obtener dicho número.

La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un determinado número nos devolverá el caracter ASCII.

Obviamente que en vez de pasarle a la función un parámetro String es decir la letra, debemos pasarle un número ASCII y nos devolverá el carácter
asociado.

Ejemplo:

Dim letra As String

letra = Chr(97)

La variable pasa a valer en este caso el caracter "a"
Función InsTr

La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra cadena.

Si la función encuentra la cadena a buscar devuelve un número que representa la posición donde encontró la cadena, si no la encuentra devuelve un 0.


                                                                                                                                                 Pág.: 3
Los parámetros que lleva esta función son:

InStr (comienzo, Cadena donde buscar , La Cadena a buscar)

Como esta función devuelve un número debemos almacenarla en una variable de tipo numérica para utilizarla.

Ejemplo:

Dim posicion As Integer

posicion = InStr("Estoy tomando mate", "mate")

En este ejemplo la función encontró la cadena "mate" en la posición 15, o sea que la variable posición pasa a valer 15.

Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide que le digamos desde que posición comenzar a buscar. En
nuestro ejemplo, este parámetro lo obviamos, esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero podríamos especificar
una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo que necesitemos hacer.

Función Str y Val

La función Val convierte una cadena en un número yla función Str un número en una cadena.

Ejemplos:

cadena = "123456"
cadena = Val(cadena)

'Ahora cadena vale 123456

cadena2 = 123456
cadena2 = Str(cadena2)

'Ahora cadena2 vale "123456"


Funciones para el tratamiento de números

Visual Basic posee muchas funciones para tratar números. A continuación las principales funciones.

Función Round

La función Round se utiliza para redondear un número decimal, devolviendo un número entero.

Ejemplo:

Dim Mimumero As Long

Minumero = Round(245.8) '(La función devuelve 246)
Minumero = Round(245.3) '(La función devuelve 245)
Minumero = Round(245.5) '(La función devuelve 245)

Round posee un parámetro opcional por si queremos incluir los dígitos decimales.


Rnd y Randomize - Números aleatorios

Para generar números aleatorios, Visual Basic incluye 2 funciones: Rnd y Randomize.

La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro.

Ejemplo :

Rnd (número)

Pero para poder generar dichos números aleatorios, debemos utilizar previamente la función Randomize con la siguiente fórmula:

Dim LimiteInferior As Integer
Dim LimiteSuperior As Integer

LimiteInferior = 20
LimiteSuperior = 40

                                                                                                                                         Pág.: 4
MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)

En el ejemplo anterior, se generarán números aleatorios comprendidos entre el 20 y el 40

Nota: en este enlace podés ver un ejemplo que permite generar números aleatorios no repetidos

Funciones matemáticas

Las principales funciones matemáticas provistas por Visual Basic son:

Abs: Devuelve el valor absoluto de una expresión numérica.
Atn: Devuelve el arco tangente de un número.
Cos: Devuelve el coseno de un ángulo.
Exp: Devuelve el número "e" elevado a una potencia.
Log: Devuelve el logaritmo natural de un número.
Sgn: Devuelve un valor indicando el signo de un número.
Sin: Devuelve el seno de un ángulo.
Sqr: Devuelve la raíz cuadrada de un número.
Tan: Devuelve la tangente de un ángulo.

Funciones de formato

Visual Basic posee varias funciones para darle formato a distintos tipos de datos e información. A continuación se ve algunos ejemplos de las
principales funciones:

FormatCurrency: Esta función se utiliza para trabajar con números con formato en dinero. Ejemplo:
si tenemos un número 3 y utilizamos la función nos devolvería "$3".

FormatPercent: Esta función es utilizada para trabajar con porcentajes. Ejemplo :
si tendríamos un número 321, nos devolvería: "32,1%" .

FormatDateTime: Esta función trabaja con fechas y horas.
FormatNumber: Formatea expresiones números


Resultado = FormatPercent(321) 'devuelve: "32.100,00%"
Resultado = FormatCurrency(3) 'devuelve: "$3,00"
Resultado = FormatDateTime("6-8-1978") 'La función devolvería: "06/08/1978"

NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantos números decimales devolverá la función:

Ejemplo:

cadena = FormatCurrency(325, 3) 'Devuelve: "$325,000"


Ejemplo de la función FormatDateTime

Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo parámetro es el tipo de formato, pueden ser 5 tipos.

vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y vbShortTime.

Función Format:

La función Format es mas completa que las anteriores funciones, porque puede manejar mas tipos de datos, y no devuelve solo cadenas, esta también
puede devolver números y fechas.

La función Format posee dos parámetros:

Format (Expresión, formato)

En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a continuación veremos una descripción de los formatos de VB:

     GeneralNumber: Devuelve el número sin formato.
     Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las derecha.
     Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal.
     Standar: Similar a Fixed pero incluye un separador de miles.
     Percent: Multiplica el número por cien y le agrega el símbolo "%"
     True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0.
                                                                                                                                               Pág.: 5
On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0.

Nota: La forma de pasar el parámetro es entre comillas.

Ejemplo:

cadena = Format(75, "Currency") ' Devolvería: "$75,00"


Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la coma "," ya que la coma determina el comienzo de otro parámetro dentro de la
función y Visual basic daría error de sintaxis

Funciones de formato para fechas y hora

Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas:


Funciones para Fechas


Dim cadena As String

cadena = Format("06/08/78", "General Date") ' Devuelve: "06/08/1978"
cadena = Format("19/08/79", "Long Date") ' Devuelve : "Jueves 19 de Agosto de 1979".
cadena = Format("19/8/79", "Medium Date") ' Devuelve: "19-Ago-1979"
cadena = Format("17:08", "Short Time") ' "05:08"
cadena = Format("17:08", "Medium Time") ' "05:08 PM"
cadena = Format("17:08", "Long Time") ' "05:08:00 PM"

Funciones para calcular fechas

Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar
fechas y horas y otras operaciones y cálculos

DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado
DateDiff : Devuelve el número de intervalos de tiempo entre dos fechas determinadas
DatePart : Devuelve una parte específica de una fecha dada
DateSerial : Devuelve un valor Date para un año, mes y día determinados

Ejemplos

El siguiente ejemplo utiliza la función DateDiff para mostrar el itervalo entre dos fechas. El intervalo lo muestra en segundos , minutos, dias, semanas
meses y años, como muestra el siguiente gráfico

Colocar en el formulario un Boton

Option Explicit

' recibe las dos fechas como parámetros
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Calcular(Fecha_Inicial As Date, _
                               Fecha_Final As Date)


   Const Formato As String = "#,##0"

   Me.Cls
   Me.Print "Calcular Intervalos entre las fechas " & Fecha_Inicial & _
       " hasta :" & Fecha_Final & vbNewLine & String(150, "-") & vbNewLine


   Me.Print Format(DateDiff("s", Fecha_Inicial, Fecha_Final), Formato) & " segundos"
   Me.Print Format(DateDiff("n", Fecha_Inicial, Fecha_Final), Formato) & " minutos"
   Me.Print Format(DateDiff("h", Fecha_Inicial, Fecha_Final), Formato) & " horas"

   Me.Print Format(DateDiff("y", Fecha_Inicial, Fecha_Final), Formato) & " dias"
   Me.Print Format(DateDiff("WW", Fecha_Inicial, Fecha_Final), Formato) & " semanas"
   Me.Print Format(DateDiff("m", Fecha_Inicial, Fecha_Final), Formato) & " meses"
   Me.Print Format(DateDiff("yyyy", Fecha_Inicial, Fecha_Final), Formato) & " años"

End Sub

                                                                                                                                               Pág.: 6
Private Sub Command1_Click()
   ' le pasa las dos fechas a la función
   Call Calcular("01/01/2000", Date)
End Sub

Private Sub Form_Load()

  Me.AutoRedraw = True
  Command1.Caption = "calcular intervalos "

End Sub


Ejemplo con DateAdd

Lo siguiente, muestra como añadir y restar fechas

' agrega 10 años a la fecha actual
MsgBox DateAdd("yyyy", 10, Date)

' Agrega cinco meses a la fecha actual
MsgBox DateAdd("m", 5, Date)

' resta 1 dias a la fecha actual ( usa el signo -)
MsgBox DateAdd("y", -1, Date)


Nota: para restar, usar el signo negativo, como se usa en el último ejemplo.

Para poder restar y agregar segundos a una hora, usar en el parámetro intervalo la "S", para minutos usar la "n", para horas la "h", para restar y sumar
semanas la "ww"

En el siguiente enlace podés ver algunos otros ejemplos que trabajan con dichas funciones

Funciones para trabajar con fechas en visual basic

Calcular edad de una persona usando DateDiff

Averiguar con Dateserial, el Primer y último día de un mes

Funciones para obtener la fecha u hora actual de la PC

Dim Cadena As String
Cadena = Date ' Devuelve el día del sistema en este formato: "02/08/2004"

Cadena = Time ' Devuelve la hora del sistema en este formato: "17:32:51"

'Funciones para establecer la fecha u hora de la PC:

Date = (La fecha que queremos establecer)

Time = (La hora que queremos establecer)


Funciones para presentar mensajes


Visual Basic posee 2 tipos de funciones para presentar mensajes, ellas son MsgBox e InputBox.


Función InputBox:

La función InputBox presenta un mensaje al usuario, permitiéndole ingresar un valor en una caja de texto:

Como se dijo la función InputBox presenta un cuadro de diálogo donde el usuario puede ingresar un texto y luego aceptar o cancelar dicho cuadro de
diálogo.

Los parámetros principales de esta función son:

InputBox (Promt,Title, Default)

                                                                                                                                               Pág.: 7
El parámetro Prompt específica la leyenda que mostrará la caja de mensajes.
El parámetro Title especifica el título que llevará el cuadro de diálogo.
El parámetro Default es el texto que mostrará la caja de texto.

El aspecto mas importante de InputBox es que nos devuelve una cadena con lo que haya ingresado el usuario en la caja de texto. Luego podemos
realizar una tarea específica dependiendo del valor devuelto.

Ejemplo:

Dim retorno As String

retorno = InputBox("Ingrese algo en la caja de texto", "Ejemplo")
MsgBox "Usted ingresó:" & retorno


En el ejemplo anterior, en la variable Retorno se almacenará el valor que haya ingresado el usuario cuando haga Click en el botón de Aceptar.

Cuando el usuario presiona Candelar, el InputBox devuelve una cadena vacía. Esto es importante tenerlo en cuenta para realizar una o tal acción

Si quiseramos por ejemplo desplegar un InputBox, y que este no se cierre hasta que el usuario si o si haya ingresado un valor, podemos hacerlo de la
siguiente forma, utilizando una condición en un bucle Do Loop



Código fuente en el formulario

Private Sub Form_Load()

  Dim Dato As String

  ' Hasta que no se ingrese un dato, _
    el InputBox no se cerrará

  Do
    Dato = InputBox("Ingresar algun dato", " Ejemplo ")
  Loop Until Dato <> ""

  'Muestra el valor
  MsgBox Dato, vbInformation

End Sub

Función MsgBox:


La función MsgBox, que ya se vió varias veces en distintos ejemplos, es muy fácil de usar y se utiliza para mostrar distintos tipos de mensajes.

Ejemplos de mensajes o cajas de texto con la función MsgBox que podemos mostrar:




                                                                                                                                                   Pág.: 8
Como se ve en los gráficos anteriores, con MsgBox podemos tener variedad a la hora de mostrar un determinado mensaje, utilizando para ello las
diferentes constantes que incorpora la función.

Los parámetros más importantes son:

Title : Es la leyenda que aparecerá en el título del mensaje.
Texto : Es el Texto que mostrará el mensaje.
Botones: En este parámetro se colocan las constantes que determinarán si la caja tiene uno o varios botones y el tipo de mensaje: informativo, de
exclamación de alerta etc... Cuando escribimos la coma dentro de la función en el parámetro botones, Visual Basic despliega una lista con las opciones
o constantes que podemos utilizar.




                                                                                                                                             Pág.: 9
TECNOLÓGICO DE ANTIOQUIA
                                                                LENGUAJE I


Docente:         Hernán Darío Hoyos Barrientos
Asignatura:      Lenguaje I
Tema:            Taller de Visual Basic 6.0
Fecha:           4 de marzo de 2012
municipio:       Cañasgordas
Nivel:           3


                                                         TALLER DE VISUAL BASIC

1. Crear un programa que lea un nombre escrito en una caja de texto y cuente cuantos caracteres posee esa cadena.

2. crear un programa que lea un número entero (días) y calcule e imprima cuantas horas, minutos y segundos hay en dicho número.

3. Crear un programa que lea un número entero de tres cifras e imprima cuantas unidades, decenas y centenas hay en dicho número.

4. Crear un programa que calcule las dos raíces de una ecuación de segundo grado utilizando la fórmula cuadrática (imprimir además un mensaje si la
ecuación no tiene solución).




5. Crear un programa que resuelva la ecuación teniendo en                              cuenta que los valores X y de M los digita el usuario (imprimir
además un mensaje si la ecuación no tiene solución.

6. Crear un programa que resuelva la ecuación teniendo en                                   cuanta que los valores de A y de B los digita el usuario
(imprimir además un mensaje si la ecuación no tiene solución.

7. Crear un programa que lea una cadena escrita en una caja de                              texto y un carácter en otra caja; el programa debe contar e
imprimir cuantas veces está el segundo carácter en la primera                               cadena.

8. Crear un programa que imprima los primeros 20 números pares positivos.

9. Crear un programa que calcule e imprima el factorial de un número entero digitado por el usuario.

10. Crear un programa que lea un número entero digitado por el usuario e imprima todos los números impares positivos que hay hasta el número
digitado.




                                                                                                                                              Pág.: 10
CODIGO VISUAL BASIC DE CADA PUNTO DEL TALLER

EJERCICIO 1


Option Explicit
Dim Cantidad As Integer
Private Sub BtnContar_Click()
  Cantidad = 0
  Cantidad = Len(TxtCadena.Text)
  MsgBox "la cadena escrita tiene " & Cantidad & " caracteres", vbInformation, "Ejercicio 1"
End Sub
Private Sub BtnSalir_Click()
  Unload Me
End Sub


EJERCICIO 2


Option Explicit
Dim Horas As Long
Dim Minutos As Long
Dim Segundos As Long
Dim Dias As Long

Private Sub BtnCalcular_Click()
  Dias = Val(TxtNumero.Text)
  Horas = Dias * 24
  Minutos = Horas * 60
  Segundos = Minutos * 60
  TxtHoras.Text = Horas
  TxtMinutos.Text = Minutos
  TxtSegundos.Text = Segundos
End Sub

Private Sub BtnSalir_Click()
  Unload Me
End Sub

Private Sub Form_Load()
  TxtHoras.Enabled = False
  TxtSegundos.Enabled = False
  TxtMinutos.Enabled = False
End Sub


EJERCICIO 3


Option Explicit
Dim Centenas As Integer
Dim Decenas As Integer
Dim Unidades As Integer
Dim Numero As Integer

                                                                                               Pág.: 11
Private Sub BtnCalcular_Click()
  Centenas = Mid(TxtNumero.Text, 1, 1)
  Decenas = Mid(TxtNumero.Text, 2, 1)
  Unidades = Mid(TxtNumero.Text, 3, 1)
  TxtCentenas.Text = Centenas
  TxtDecenas.Text = Decenas
  TxtUnidades.Text = Unidades
End Sub

Private Sub BtnSalir_Click()
  Unload Me
End Sub


Private Sub Form_Load()
  TxtCentenas.Enabled = False
  TxtDecenas.Enabled = False
  TxtUnidades.Enabled = False
End Sub


EJERCICIO 4


Option Explicit
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim Discriminante As Long
Dim Temporal As Long
Dim X1 As Integer
Dim X2 As Integer
Private Sub BtnCalcular_Click()
  TxtX1.Text = ""
  TxtX2.Text = ""
   X1 = 0
   X2 = 0
  Discriminante = 0
  A = Val(TxtA.Text)
  B = Val(TxtB.Text)
  C = Val(TxtC.Text)
  Temporal = (B ^ 2 - 4 * A * C)
   If Temporal > 0 Then
      Discriminante = Sqr(B ^ 2 - 4 * A * C)
      If Discriminante > 0 Then
          X1 = ((-1 * B) + Discriminante) / (2 * A)
          X2 = ((-1 * B) - Discriminante) / (2 * A)
          TxtX1.Text = X1
          TxtX2.Text = X2
       Else
          If Discriminante = 0 Then
             X1 = ((-1 * B) + Discriminante) / (2 * A)
             TxtX1.Text = X1
          Else
             MsgBox "la ecuación tiene dos soluciones en los imaginarios", vbInformation, "Ejercicio 4"
          End If
       End If
  Else
        MsgBox "la ecuación no tiene solución", vbInformation, "Ejercicio 4"
  End If
End Sub

Private Sub BtnSalir_Click()
  Unload Me
End Sub

Private Sub Form_Load()
  TxtX1.Enabled = False
  TxtX2.Enabled = False
End Sub

                                                                                                          Pág.: 12
EJERCICIO 5


Option Explicit
Dim X As Integer
Dim M As Integer
Dim Y As Double

Private Sub BtnCalcular_Click()
  TxtY.Text = ""
  X = Val(TxtX.Text)
  M = Val(TxtM.Text)
  If X <> -5 Then
     Y = (4 * X + M) / (X + 5)
     TxtY.Text = Y
  Else
     MsgBox "La ecuación no se puede resolver", vbInformation, "Ejercicio 5"
  End If
End Sub

Private Sub BtnSalir_Click()
  Unload Me
End Sub

Private Sub Form_Load()
  TxtY.Enabled = False
End Sub


EJERCICIO 6

Option Explicit
Dim A As Integer
Dim B As Integer
Dim N As Double
Const PI As Double = 3.1416

Private Sub BtnCalcular_Click()
   TxtN.Text = ""
   A = Val(TxtA.Text)
   B = Val(TxtB.Text)
   If A + B <> 0 Then
      N = (A + 2 * PI) / (A + B)
      TxtN.Text = N
   Else
      MsgBox "La ecuación no se puede resolver", vbInformation, "Ejercicio 6"
   End If
End Sub

Private Sub BtnSalir_Click()
   Unload Me
End Sub

Private Sub Form_Load()
   TxtN.Enabled = False
End Sub

EJERCICIO 7

Option Explicit
Dim I As Integer

                                                                                Pág.: 13
Dim Total As Integer
Dim Caracter As String
Dim C As Integer

Private Sub BtnCalcular_Click()
   C=0
   Total = Len(TxtCadenaInicial.Text)
   Caracter = TxtCadenaSecundaria.Text
   For I = 1 To Total
      If Mid(TxtCadenaInicial.Text, I, 1) = Caracter Then
         C=C+1
      End If
   Next I
   If C <> 0 Then
      MsgBox "el caracter se repite: " & C, vbInformation, "Ejercicio 7"
   Else
      MsgBox "el caracter no se encuentra en la cadena: ", vbInformation, "Ejercicio 7"
   End If
End Sub

Private Sub BtnSalir_Click()
   Unload Me
End Sub

EJERCICIO 8

Option Explicit
Dim I As Integer

Private Sub BtnMostrar_Click()
   For I = 1 To 20
     If I Mod 2 = 0 Then
         TxtSalida.Text = TxtSalida.Text & I & Chr(13) & Chr(10)
     End If
   Next I
End Sub

Private Sub BtnSalir_Click()
   Unload Me
End Sub

EJERCICIO 9


Option Explicit
Dim I As Integer
Dim Factorial As Long
Dim Numero As Integer

Private Sub BtnFactorial_Click()
   Numero = Val(TxtNumero.Text)
   Factorial = 1
   For I = 1 To Numero
     Factorial = Factorial * I
   Next I
   TxtFactorial.Text = Factorial
End Sub

Private Sub BtnSalir_Click()
   Unload Me
End Sub

Private Sub Form_Load()
   TxtFactorial.Enabled = False
End Sub


                                                                                          Pág.: 14
EJERCICIO 10

Option Explicit
Dim I As Integer
Dim Impares As Integer
Dim Numero As Integer
Private Sub BtnImpares_Click()
   TxtImpares.Text = ""
   Numero = Val(TxtNumero.Text)
   For I = 1 To Numero
     If I Mod 2 = 1 Then
         TxtImpares.Text = TxtImpares.Text & I & Chr(13) &
Chr(10)
     End If
   Next I
End Sub

Private Sub BtnSalir_Click()
   Unload Me
End Sub

Private Sub Form_Load()
   TxtImpares.Enabled = False
End Sub




                                                             Pág.: 15

Más contenido relacionado

La actualidad más candente

Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]herminiajimenez123
 
Longitud de cadena y funciones en java
Longitud de cadena y funciones en javaLongitud de cadena y funciones en java
Longitud de cadena y funciones en javaRobert Wolf
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructurasrichmadriz
 
Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Guelmy Romero
 
Vectores y Objetos Programacion Orientada a Objetos
Vectores y Objetos Programacion Orientada a ObjetosVectores y Objetos Programacion Orientada a Objetos
Vectores y Objetos Programacion Orientada a ObjetosJanet Brigyth Camacho Medina
 
Curso de swift lección 6, enumeraciones apple coding
Curso de swift lección 6, enumeraciones   apple codingCurso de swift lección 6, enumeraciones   apple coding
Curso de swift lección 6, enumeraciones apple codingRoggerza
 
Manejo de cadenas de caracteres java
Manejo de cadenas de caracteres javaManejo de cadenas de caracteres java
Manejo de cadenas de caracteres javaEmerson Garay
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoriaIronAngel
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu genericoAna Ocaña
 
Semana 4 arreglos simples (1)
Semana 4   arreglos simples (1)Semana 4   arreglos simples (1)
Semana 4 arreglos simples (1)Julie Suazo
 

La actualidad más candente (18)

Tipos de datos_en_java
Tipos de datos_en_javaTipos de datos_en_java
Tipos de datos_en_java
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 
Java y xml
Java y xmlJava y xml
Java y xml
 
Funciones
FuncionesFunciones
Funciones
 
Longitud de cadena y funciones en java
Longitud de cadena y funciones en javaLongitud de cadena y funciones en java
Longitud de cadena y funciones en java
 
Tipos de datos 1
Tipos de datos 1Tipos de datos 1
Tipos de datos 1
 
Tipos de datos.java
Tipos de datos.javaTipos de datos.java
Tipos de datos.java
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructuras
 
Programacion estructurada (variables Java)
Programacion estructurada (variables Java)Programacion estructurada (variables Java)
Programacion estructurada (variables Java)
 
Funciones
FuncionesFunciones
Funciones
 
Vectores y Objetos Programacion Orientada a Objetos
Vectores y Objetos Programacion Orientada a ObjetosVectores y Objetos Programacion Orientada a Objetos
Vectores y Objetos Programacion Orientada a Objetos
 
Ape unidad4
Ape unidad4Ape unidad4
Ape unidad4
 
Curso de swift lección 6, enumeraciones apple coding
Curso de swift lección 6, enumeraciones   apple codingCurso de swift lección 6, enumeraciones   apple coding
Curso de swift lección 6, enumeraciones apple coding
 
Manejo de cadenas de caracteres java
Manejo de cadenas de caracteres javaManejo de cadenas de caracteres java
Manejo de cadenas de caracteres java
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu generico
 
Tipos de datos Java
Tipos de datos JavaTipos de datos Java
Tipos de datos Java
 
Semana 4 arreglos simples (1)
Semana 4   arreglos simples (1)Semana 4   arreglos simples (1)
Semana 4 arreglos simples (1)
 

Similar a Taller de lenguaje 1

Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funcionesmoii Hp
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basicYesenia Bautista
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenasmkbenitez
 
Funciones de cadena
Funciones de cadenaFunciones de cadena
Funciones de cadenaAlfredo Joya
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenasmkbenitez
 
Introducción a python.pdf
Introducción a python.pdfIntroducción a python.pdf
Introducción a python.pdfAz
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Ana
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en cDiego Maxdj Chicaiza
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en javaJefferson Sarmiento
 
matrices
matricesmatrices
matricesangel
 
Diapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaDiapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaJose Perez
 

Similar a Taller de lenguaje 1 (20)

Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funciones
 
Funciones propias de visual basic
Funciones propias de visual basicFunciones propias de visual basic
Funciones propias de visual basic
 
Visual basic.net
Visual basic.netVisual basic.net
Visual basic.net
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenas
 
Funciones de cadena
Funciones de cadenaFunciones de cadena
Funciones de cadena
 
Fonciones de cadenas
Fonciones de cadenasFonciones de cadenas
Fonciones de cadenas
 
Funciones
FuncionesFunciones
Funciones
 
Introducción a python.pdf
Introducción a python.pdfIntroducción a python.pdf
Introducción a python.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en c
 
Introduccions a java
Introduccions a javaIntroduccions a java
Introduccions a java
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 
matrices
matricesmatrices
matrices
 
Arrays en VB 6.0
Arrays en VB 6.0Arrays en VB 6.0
Arrays en VB 6.0
 
Manual postgre sql
Manual postgre sqlManual postgre sql
Manual postgre sql
 
Mac
MacMac
Mac
 
tipo de datos
tipo de datostipo de datos
tipo de datos
 
tipo de Datos
tipo de Datos tipo de Datos
tipo de Datos
 
Diapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en JavaDiapositivas curso programación orientada a objetos en Java
Diapositivas curso programación orientada a objetos en Java
 

Más de Yesenia Gomez

Más de Yesenia Gomez (20)

Mi opción por el bien
Mi opción por el bienMi opción por el bien
Mi opción por el bien
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Planeacion recursos empresariales
Planeacion recursos empresarialesPlaneacion recursos empresariales
Planeacion recursos empresariales
 
Plan estrategia pais
Plan  estrategia paisPlan  estrategia pais
Plan estrategia pais
 
Pirateria software
Pirateria softwarePirateria software
Pirateria software
 
Nueva gerencia
Nueva gerenciaNueva gerencia
Nueva gerencia
 
Normas iso
Normas isoNormas iso
Normas iso
 
Mejoramiento continuo
Mejoramiento continuoMejoramiento continuo
Mejoramiento continuo
 
Ley 1273 de 2009 delitos informáticos
Ley 1273 de 2009 delitos informáticosLey 1273 de 2009 delitos informáticos
Ley 1273 de 2009 delitos informáticos
 
Intercambio electronico datoss
Intercambio electronico datossIntercambio electronico datoss
Intercambio electronico datoss
 
Gerencia servicio uno
Gerencia servicio unoGerencia servicio uno
Gerencia servicio uno
 
Fraudes informaticos
Fraudes informaticosFraudes informaticos
Fraudes informaticos
 
Delitos onu
Delitos onuDelitos onu
Delitos onu
 
Delitos informaticos
Delitos informaticosDelitos informaticos
Delitos informaticos
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Crm
CrmCrm
Crm
 
Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
Calidad total
Calidad totalCalidad total
Calidad total
 
Seguridad riesgo
Seguridad riesgoSeguridad riesgo
Seguridad riesgo
 
Control interno
Control internoControl interno
Control interno
 

Último

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (12)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Taller de lenguaje 1

  • 1. POLITÉCNICO ABURRÁ LÓGICA DE PROGRAMACIÓN II Docente: Hernán Darío Hoyos Barrientos Asignatura: Lógica de programación II Tema: Introducción a las Bases de Datos Fecha: 13, 20, 27 de febrero de 2012 Sede: Mariscal - Medellín Nivel: 3 Tipos de datos Tipo de Dato Tamaño de Rango Almacenamiento Byte 1 byte 0 a 255 Boolean 2 bytes True o False Integer 2 bytes -32.768 a 32.767 Long 4 bytes -2.147.483.648 a 2.147.483.647 (entero largo) Single 4 bytes -3,402823E38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos (coma flotante/ precisión simple) Double 8 bytes -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos (coma flotante/ precisión doble) Currency 8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807 (entero a escala) Decimal 14 bytes +/- 79.228.162.514.264.337.593.543.950.335 sin punto decimal; +/- 7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; elnúmero más pequeño distinto de cero es +/- 0,000000000000000000000000001 Date 8 bytes 1 de enero de 100 a 31 de Diciembre de 9999 String Longitud de la Desde 1 a 65.400 aproximadamente (longitud fija) cadena Variant 16 bytes Cualquier valor numérico hasta el intervalo de un tipo Double (con números) Definido por Número requerido por los El intervalo de cada elemento es el mismo que el intervalo de su tipo de datos el usuario elementos Pág.: 1
  • 2. (utilizando Type) Tipos de variables El lugar donde sea declarada una variable afectara el uso que el programa quiera hacer de esa variable. Las reglas básicas que determinan como una variable puede ser usada depende de 3 lugares donde se puede declarar una variable. En primer lugar es dentro de cualquier función o procedimiento, a estas se les llama variables locales y solo pueden ser usadas por instrucciones que estén dentro de esa función o procedimiento. En segundo lugar es como parámetro de una función, donde después de haber recibido el valor podrá actuar como variable local en esa función o procedimiento. En esencia una variable local solo es conocida por el código de esa función o procedimiento y es desconocida por otras funciones o procedimientos. En tercer lugar es fuera de todas los procedimiento o funciones (que es el caso común de casi todas las variables usadas hasta ahora en los ejemplos y programas hechos) a este tipo de variables se les llama variables globales y podrán ser usadas por cualquier función o procedimiento del programa. En programación en serio no es acostumbrado usar muchas variables globales por varias razones, una de ellas es que variables globales están vivas todo el tiempo de ejecución del programa y si una global solo la ocupa unos cuantos procedimientos no tiene caso que este viva para todo el resto, otra razón es que es peligroso tener variables globales porque todo el conjunto de procedimiento y funciones que componen un programa tienen acceso o comparten su valor y se corre el riesgo de que inadvertidamente alguno de ellos modifique su valor. Funciones básicas Funciones para el tratamiento de cadenas Las funciones de cadena, como su nombre lo indica, se utilizan para trabajar y tratar las cadenas de caracteres. A continuación las más importantes de ellas. Función Lcase y Ucase Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula. La función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como utilizarla sería así: Lcase (cadena que queremos convertir a minúsculas) Ejemplo: Dim Cadena As String Cadena = "HOLA MUNDO" 'Convertimos cadena = LCase(cadena) 'La variable cadena ahora vale "hola mundo" La función Ucase funciona de la misma manera que Lcase pero convierte el contenido de una cadena a mayúsculas. Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de sueldos", escribiendo la siguiente línea: Label1 = UCase(Label1) El control Label1 pasaría a mostrar o mejor dicho contener en su propiedad caption:"PORCENTAJE DE SUELDOS". Función Trim, LTrim y RTrim Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena. LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim de la parte derecha y Trim de ambas partes. Ejemplos: Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios vacíos de la izquierda haríamos lo siguiente: ciudad = LTrim(ciudad) Pág.: 2
  • 3. Si en un TextBox se quisiera borrar todos los espacios vacíos de la parte derecha de la cadena: MiText = RTrim(MiText) La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena. Ejemplo: Pais = " Colombia " País = Trim(Pais) Ahora el valor de País es igual a: "Colombia". Función Len La función Len nos permite conocer la cantidad de caracteres que tiene una determinada cadena. O sea que esta función nos devuelve un número. Ejemplo: Len (Aquí va la cadena que queremos averiguar su tamaño) Como la función Len devuelve un número debemos asignar ese número devuelto en una variable de tipo numérica. Ejemplo: Dim TamanoCadena As Long Dim MiCadena As String MiCadena = "Me Llamo Eustaquio" TamanoCadena = Len(MiCadena) El valor de la variable TamanoCadena pasaría a valer 18. Hay que tener en cuenta que la función Len también toma en cuenta los espacios vacíos. Función Asc y Chr La función Asc nos permite obtener el código ASCII de un de terminado caracter. Ejempos: Si queremos obtener el código ASCII del caracter "a", que es el número 97 podríamos hacer lo siguiente: Dim num As Integer num = Asc("a") En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos obtener dicho número. La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un determinado número nos devolverá el caracter ASCII. Obviamente que en vez de pasarle a la función un parámetro String es decir la letra, debemos pasarle un número ASCII y nos devolverá el carácter asociado. Ejemplo: Dim letra As String letra = Chr(97) La variable pasa a valer en este caso el caracter "a" Función InsTr La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra cadena. Si la función encuentra la cadena a buscar devuelve un número que representa la posición donde encontró la cadena, si no la encuentra devuelve un 0. Pág.: 3
  • 4. Los parámetros que lleva esta función son: InStr (comienzo, Cadena donde buscar , La Cadena a buscar) Como esta función devuelve un número debemos almacenarla en una variable de tipo numérica para utilizarla. Ejemplo: Dim posicion As Integer posicion = InStr("Estoy tomando mate", "mate") En este ejemplo la función encontró la cadena "mate" en la posición 15, o sea que la variable posición pasa a valer 15. Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide que le digamos desde que posición comenzar a buscar. En nuestro ejemplo, este parámetro lo obviamos, esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero podríamos especificar una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo que necesitemos hacer. Función Str y Val La función Val convierte una cadena en un número yla función Str un número en una cadena. Ejemplos: cadena = "123456" cadena = Val(cadena) 'Ahora cadena vale 123456 cadena2 = 123456 cadena2 = Str(cadena2) 'Ahora cadena2 vale "123456" Funciones para el tratamiento de números Visual Basic posee muchas funciones para tratar números. A continuación las principales funciones. Función Round La función Round se utiliza para redondear un número decimal, devolviendo un número entero. Ejemplo: Dim Mimumero As Long Minumero = Round(245.8) '(La función devuelve 246) Minumero = Round(245.3) '(La función devuelve 245) Minumero = Round(245.5) '(La función devuelve 245) Round posee un parámetro opcional por si queremos incluir los dígitos decimales. Rnd y Randomize - Números aleatorios Para generar números aleatorios, Visual Basic incluye 2 funciones: Rnd y Randomize. La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro. Ejemplo : Rnd (número) Pero para poder generar dichos números aleatorios, debemos utilizar previamente la función Randomize con la siguiente fórmula: Dim LimiteInferior As Integer Dim LimiteSuperior As Integer LimiteInferior = 20 LimiteSuperior = 40 Pág.: 4
  • 5. MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior) En el ejemplo anterior, se generarán números aleatorios comprendidos entre el 20 y el 40 Nota: en este enlace podés ver un ejemplo que permite generar números aleatorios no repetidos Funciones matemáticas Las principales funciones matemáticas provistas por Visual Basic son: Abs: Devuelve el valor absoluto de una expresión numérica. Atn: Devuelve el arco tangente de un número. Cos: Devuelve el coseno de un ángulo. Exp: Devuelve el número "e" elevado a una potencia. Log: Devuelve el logaritmo natural de un número. Sgn: Devuelve un valor indicando el signo de un número. Sin: Devuelve el seno de un ángulo. Sqr: Devuelve la raíz cuadrada de un número. Tan: Devuelve la tangente de un ángulo. Funciones de formato Visual Basic posee varias funciones para darle formato a distintos tipos de datos e información. A continuación se ve algunos ejemplos de las principales funciones: FormatCurrency: Esta función se utiliza para trabajar con números con formato en dinero. Ejemplo: si tenemos un número 3 y utilizamos la función nos devolvería "$3". FormatPercent: Esta función es utilizada para trabajar con porcentajes. Ejemplo : si tendríamos un número 321, nos devolvería: "32,1%" . FormatDateTime: Esta función trabaja con fechas y horas. FormatNumber: Formatea expresiones números Resultado = FormatPercent(321) 'devuelve: "32.100,00%" Resultado = FormatCurrency(3) 'devuelve: "$3,00" Resultado = FormatDateTime("6-8-1978") 'La función devolvería: "06/08/1978" NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantos números decimales devolverá la función: Ejemplo: cadena = FormatCurrency(325, 3) 'Devuelve: "$325,000" Ejemplo de la función FormatDateTime Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo parámetro es el tipo de formato, pueden ser 5 tipos. vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y vbShortTime. Función Format: La función Format es mas completa que las anteriores funciones, porque puede manejar mas tipos de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas. La función Format posee dos parámetros: Format (Expresión, formato) En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a continuación veremos una descripción de los formatos de VB: GeneralNumber: Devuelve el número sin formato. Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las derecha. Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal. Standar: Similar a Fixed pero incluye un separador de miles. Percent: Multiplica el número por cien y le agrega el símbolo "%" True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0. Pág.: 5
  • 6. On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0. Nota: La forma de pasar el parámetro es entre comillas. Ejemplo: cadena = Format(75, "Currency") ' Devolvería: "$75,00" Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la coma "," ya que la coma determina el comienzo de otro parámetro dentro de la función y Visual basic daría error de sintaxis Funciones de formato para fechas y hora Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas: Funciones para Fechas Dim cadena As String cadena = Format("06/08/78", "General Date") ' Devuelve: "06/08/1978" cadena = Format("19/08/79", "Long Date") ' Devuelve : "Jueves 19 de Agosto de 1979". cadena = Format("19/8/79", "Medium Date") ' Devuelve: "19-Ago-1979" cadena = Format("17:08", "Short Time") ' "05:08" cadena = Format("17:08", "Medium Time") ' "05:08 PM" cadena = Format("17:08", "Long Time") ' "05:08:00 PM" Funciones para calcular fechas Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar fechas y horas y otras operaciones y cálculos DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado DateDiff : Devuelve el número de intervalos de tiempo entre dos fechas determinadas DatePart : Devuelve una parte específica de una fecha dada DateSerial : Devuelve un valor Date para un año, mes y día determinados Ejemplos El siguiente ejemplo utiliza la función DateDiff para mostrar el itervalo entre dos fechas. El intervalo lo muestra en segundos , minutos, dias, semanas meses y años, como muestra el siguiente gráfico Colocar en el formulario un Boton Option Explicit ' recibe las dos fechas como parámetros '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Calcular(Fecha_Inicial As Date, _ Fecha_Final As Date) Const Formato As String = "#,##0" Me.Cls Me.Print "Calcular Intervalos entre las fechas " & Fecha_Inicial & _ " hasta :" & Fecha_Final & vbNewLine & String(150, "-") & vbNewLine Me.Print Format(DateDiff("s", Fecha_Inicial, Fecha_Final), Formato) & " segundos" Me.Print Format(DateDiff("n", Fecha_Inicial, Fecha_Final), Formato) & " minutos" Me.Print Format(DateDiff("h", Fecha_Inicial, Fecha_Final), Formato) & " horas" Me.Print Format(DateDiff("y", Fecha_Inicial, Fecha_Final), Formato) & " dias" Me.Print Format(DateDiff("WW", Fecha_Inicial, Fecha_Final), Formato) & " semanas" Me.Print Format(DateDiff("m", Fecha_Inicial, Fecha_Final), Formato) & " meses" Me.Print Format(DateDiff("yyyy", Fecha_Inicial, Fecha_Final), Formato) & " años" End Sub Pág.: 6
  • 7. Private Sub Command1_Click() ' le pasa las dos fechas a la función Call Calcular("01/01/2000", Date) End Sub Private Sub Form_Load() Me.AutoRedraw = True Command1.Caption = "calcular intervalos " End Sub Ejemplo con DateAdd Lo siguiente, muestra como añadir y restar fechas ' agrega 10 años a la fecha actual MsgBox DateAdd("yyyy", 10, Date) ' Agrega cinco meses a la fecha actual MsgBox DateAdd("m", 5, Date) ' resta 1 dias a la fecha actual ( usa el signo -) MsgBox DateAdd("y", -1, Date) Nota: para restar, usar el signo negativo, como se usa en el último ejemplo. Para poder restar y agregar segundos a una hora, usar en el parámetro intervalo la "S", para minutos usar la "n", para horas la "h", para restar y sumar semanas la "ww" En el siguiente enlace podés ver algunos otros ejemplos que trabajan con dichas funciones Funciones para trabajar con fechas en visual basic Calcular edad de una persona usando DateDiff Averiguar con Dateserial, el Primer y último día de un mes Funciones para obtener la fecha u hora actual de la PC Dim Cadena As String Cadena = Date ' Devuelve el día del sistema en este formato: "02/08/2004" Cadena = Time ' Devuelve la hora del sistema en este formato: "17:32:51" 'Funciones para establecer la fecha u hora de la PC: Date = (La fecha que queremos establecer) Time = (La hora que queremos establecer) Funciones para presentar mensajes Visual Basic posee 2 tipos de funciones para presentar mensajes, ellas son MsgBox e InputBox. Función InputBox: La función InputBox presenta un mensaje al usuario, permitiéndole ingresar un valor en una caja de texto: Como se dijo la función InputBox presenta un cuadro de diálogo donde el usuario puede ingresar un texto y luego aceptar o cancelar dicho cuadro de diálogo. Los parámetros principales de esta función son: InputBox (Promt,Title, Default) Pág.: 7
  • 8. El parámetro Prompt específica la leyenda que mostrará la caja de mensajes. El parámetro Title especifica el título que llevará el cuadro de diálogo. El parámetro Default es el texto que mostrará la caja de texto. El aspecto mas importante de InputBox es que nos devuelve una cadena con lo que haya ingresado el usuario en la caja de texto. Luego podemos realizar una tarea específica dependiendo del valor devuelto. Ejemplo: Dim retorno As String retorno = InputBox("Ingrese algo en la caja de texto", "Ejemplo") MsgBox "Usted ingresó:" & retorno En el ejemplo anterior, en la variable Retorno se almacenará el valor que haya ingresado el usuario cuando haga Click en el botón de Aceptar. Cuando el usuario presiona Candelar, el InputBox devuelve una cadena vacía. Esto es importante tenerlo en cuenta para realizar una o tal acción Si quiseramos por ejemplo desplegar un InputBox, y que este no se cierre hasta que el usuario si o si haya ingresado un valor, podemos hacerlo de la siguiente forma, utilizando una condición en un bucle Do Loop Código fuente en el formulario Private Sub Form_Load() Dim Dato As String ' Hasta que no se ingrese un dato, _ el InputBox no se cerrará Do Dato = InputBox("Ingresar algun dato", " Ejemplo ") Loop Until Dato <> "" 'Muestra el valor MsgBox Dato, vbInformation End Sub Función MsgBox: La función MsgBox, que ya se vió varias veces en distintos ejemplos, es muy fácil de usar y se utiliza para mostrar distintos tipos de mensajes. Ejemplos de mensajes o cajas de texto con la función MsgBox que podemos mostrar: Pág.: 8
  • 9. Como se ve en los gráficos anteriores, con MsgBox podemos tener variedad a la hora de mostrar un determinado mensaje, utilizando para ello las diferentes constantes que incorpora la función. Los parámetros más importantes son: Title : Es la leyenda que aparecerá en el título del mensaje. Texto : Es el Texto que mostrará el mensaje. Botones: En este parámetro se colocan las constantes que determinarán si la caja tiene uno o varios botones y el tipo de mensaje: informativo, de exclamación de alerta etc... Cuando escribimos la coma dentro de la función en el parámetro botones, Visual Basic despliega una lista con las opciones o constantes que podemos utilizar. Pág.: 9
  • 10. TECNOLÓGICO DE ANTIOQUIA LENGUAJE I Docente: Hernán Darío Hoyos Barrientos Asignatura: Lenguaje I Tema: Taller de Visual Basic 6.0 Fecha: 4 de marzo de 2012 municipio: Cañasgordas Nivel: 3 TALLER DE VISUAL BASIC 1. Crear un programa que lea un nombre escrito en una caja de texto y cuente cuantos caracteres posee esa cadena. 2. crear un programa que lea un número entero (días) y calcule e imprima cuantas horas, minutos y segundos hay en dicho número. 3. Crear un programa que lea un número entero de tres cifras e imprima cuantas unidades, decenas y centenas hay en dicho número. 4. Crear un programa que calcule las dos raíces de una ecuación de segundo grado utilizando la fórmula cuadrática (imprimir además un mensaje si la ecuación no tiene solución). 5. Crear un programa que resuelva la ecuación teniendo en cuenta que los valores X y de M los digita el usuario (imprimir además un mensaje si la ecuación no tiene solución. 6. Crear un programa que resuelva la ecuación teniendo en cuanta que los valores de A y de B los digita el usuario (imprimir además un mensaje si la ecuación no tiene solución. 7. Crear un programa que lea una cadena escrita en una caja de texto y un carácter en otra caja; el programa debe contar e imprimir cuantas veces está el segundo carácter en la primera cadena. 8. Crear un programa que imprima los primeros 20 números pares positivos. 9. Crear un programa que calcule e imprima el factorial de un número entero digitado por el usuario. 10. Crear un programa que lea un número entero digitado por el usuario e imprima todos los números impares positivos que hay hasta el número digitado. Pág.: 10
  • 11. CODIGO VISUAL BASIC DE CADA PUNTO DEL TALLER EJERCICIO 1 Option Explicit Dim Cantidad As Integer Private Sub BtnContar_Click() Cantidad = 0 Cantidad = Len(TxtCadena.Text) MsgBox "la cadena escrita tiene " & Cantidad & " caracteres", vbInformation, "Ejercicio 1" End Sub Private Sub BtnSalir_Click() Unload Me End Sub EJERCICIO 2 Option Explicit Dim Horas As Long Dim Minutos As Long Dim Segundos As Long Dim Dias As Long Private Sub BtnCalcular_Click() Dias = Val(TxtNumero.Text) Horas = Dias * 24 Minutos = Horas * 60 Segundos = Minutos * 60 TxtHoras.Text = Horas TxtMinutos.Text = Minutos TxtSegundos.Text = Segundos End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtHoras.Enabled = False TxtSegundos.Enabled = False TxtMinutos.Enabled = False End Sub EJERCICIO 3 Option Explicit Dim Centenas As Integer Dim Decenas As Integer Dim Unidades As Integer Dim Numero As Integer Pág.: 11
  • 12. Private Sub BtnCalcular_Click() Centenas = Mid(TxtNumero.Text, 1, 1) Decenas = Mid(TxtNumero.Text, 2, 1) Unidades = Mid(TxtNumero.Text, 3, 1) TxtCentenas.Text = Centenas TxtDecenas.Text = Decenas TxtUnidades.Text = Unidades End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtCentenas.Enabled = False TxtDecenas.Enabled = False TxtUnidades.Enabled = False End Sub EJERCICIO 4 Option Explicit Dim A As Integer Dim B As Integer Dim C As Integer Dim Discriminante As Long Dim Temporal As Long Dim X1 As Integer Dim X2 As Integer Private Sub BtnCalcular_Click() TxtX1.Text = "" TxtX2.Text = "" X1 = 0 X2 = 0 Discriminante = 0 A = Val(TxtA.Text) B = Val(TxtB.Text) C = Val(TxtC.Text) Temporal = (B ^ 2 - 4 * A * C) If Temporal > 0 Then Discriminante = Sqr(B ^ 2 - 4 * A * C) If Discriminante > 0 Then X1 = ((-1 * B) + Discriminante) / (2 * A) X2 = ((-1 * B) - Discriminante) / (2 * A) TxtX1.Text = X1 TxtX2.Text = X2 Else If Discriminante = 0 Then X1 = ((-1 * B) + Discriminante) / (2 * A) TxtX1.Text = X1 Else MsgBox "la ecuación tiene dos soluciones en los imaginarios", vbInformation, "Ejercicio 4" End If End If Else MsgBox "la ecuación no tiene solución", vbInformation, "Ejercicio 4" End If End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtX1.Enabled = False TxtX2.Enabled = False End Sub Pág.: 12
  • 13. EJERCICIO 5 Option Explicit Dim X As Integer Dim M As Integer Dim Y As Double Private Sub BtnCalcular_Click() TxtY.Text = "" X = Val(TxtX.Text) M = Val(TxtM.Text) If X <> -5 Then Y = (4 * X + M) / (X + 5) TxtY.Text = Y Else MsgBox "La ecuación no se puede resolver", vbInformation, "Ejercicio 5" End If End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtY.Enabled = False End Sub EJERCICIO 6 Option Explicit Dim A As Integer Dim B As Integer Dim N As Double Const PI As Double = 3.1416 Private Sub BtnCalcular_Click() TxtN.Text = "" A = Val(TxtA.Text) B = Val(TxtB.Text) If A + B <> 0 Then N = (A + 2 * PI) / (A + B) TxtN.Text = N Else MsgBox "La ecuación no se puede resolver", vbInformation, "Ejercicio 6" End If End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtN.Enabled = False End Sub EJERCICIO 7 Option Explicit Dim I As Integer Pág.: 13
  • 14. Dim Total As Integer Dim Caracter As String Dim C As Integer Private Sub BtnCalcular_Click() C=0 Total = Len(TxtCadenaInicial.Text) Caracter = TxtCadenaSecundaria.Text For I = 1 To Total If Mid(TxtCadenaInicial.Text, I, 1) = Caracter Then C=C+1 End If Next I If C <> 0 Then MsgBox "el caracter se repite: " & C, vbInformation, "Ejercicio 7" Else MsgBox "el caracter no se encuentra en la cadena: ", vbInformation, "Ejercicio 7" End If End Sub Private Sub BtnSalir_Click() Unload Me End Sub EJERCICIO 8 Option Explicit Dim I As Integer Private Sub BtnMostrar_Click() For I = 1 To 20 If I Mod 2 = 0 Then TxtSalida.Text = TxtSalida.Text & I & Chr(13) & Chr(10) End If Next I End Sub Private Sub BtnSalir_Click() Unload Me End Sub EJERCICIO 9 Option Explicit Dim I As Integer Dim Factorial As Long Dim Numero As Integer Private Sub BtnFactorial_Click() Numero = Val(TxtNumero.Text) Factorial = 1 For I = 1 To Numero Factorial = Factorial * I Next I TxtFactorial.Text = Factorial End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtFactorial.Enabled = False End Sub Pág.: 14
  • 15. EJERCICIO 10 Option Explicit Dim I As Integer Dim Impares As Integer Dim Numero As Integer Private Sub BtnImpares_Click() TxtImpares.Text = "" Numero = Val(TxtNumero.Text) For I = 1 To Numero If I Mod 2 = 1 Then TxtImpares.Text = TxtImpares.Text & I & Chr(13) & Chr(10) End If Next I End Sub Private Sub BtnSalir_Click() Unload Me End Sub Private Sub Form_Load() TxtImpares.Enabled = False End Sub Pág.: 15