Hola, Bienvenido a mi blog!

Puedes seguirnos en :

Categorías

Base De Datos

Programación

¡Suscríbete a mi blog!

Recibe en tu correo las últimas noticias del blog. Sólo ingresa tu correo para suscribirte.

Ads 468x60px

.

miércoles, 13 de marzo de 2013

APLICANDO ARREGLOS(ARRAYS)

Los Arrays o arreglos son conjuntos de Variables Agrupadas con un nombre, que se pueden manejar juntas o individualmente, en Visual Basic .Net se pueden tener arreglos desde una dimensión y hasta un máximo de 32 dimensiones. Puede ver mas en http://emilio.aesinformatica.com/2009/06/05/visual-basic-net-arrays-y-arrays-multidimensionales/.

Nota: Si declaramos a una matriz (6), tendríamos 7 elementos por que recorre desde cero ejemplo
          Private estudiante() As Integer
          estudiante = New Integer(6) {} , seria como muestran los elementos en la imagen:

. Ejemplo 01: mostra 6 edades aleatorias de una clase persona, también sacar su suma y su promedio de las edades .
.Agregamos una clase con el nombre"Persona.vb" dentro de una carpeta  llamado"clases", y tambien agregamos un formulario con el nombre "FrmPeredadsum.vb"
Diseño del fromulario: 1ListBox.1Button,4label como muestra la imagen:
Clase Persona:
Public Class Persona
    Private edad() As Integer
    'desde este método devuelves un arreglo '
    'byval sirve para pasar  valores'
    Function generaredades(ByVal n As Integer) As Integer()
        Dim i As Integer
        'Al utilizar una cláusula New, ésta debe ir seguida de llaves ({}), incluso si están vacías
        Me.edad = New Integer(n) {}
        For i = 0 To edad.Length - 1
            Me.edad(i) = 1 + Rnd() * 100 'Generar valor aleatorio entre 1 y 100.
        Next
        Return Me.edad
    End Function

    Function suma() As Integer
        Dim i As Integer
        Dim SUM As Integer
        SUM = 0
        For i = 0 To edad.Length - 1
            SUM = SUM + edad(i)
        Next
        Return SUM
    End Function

    Function promedio() As Double
        Dim pro As Double
        pro = Me.suma / (edad.Length - 1)
        Return pro
    End Function
End Class

Programamos en el Formulario:
Public Class FrmPeredadsum
    Private opersona As Persona
    Private edad() As Integer
    Private Sub btncalcular_Click(sender As System.Object, e As System.EventArgs) Handles btncalcular.Click
        Dim i As Integer
        lstedadeslis.Items.Clear()
        opersona = New Persona
        edad = opersona.generaredades(5)

        For i = 0 To edad.Length - 1
            lstedadeslis.Items.Add(edad(i))
        Next
        lblpromedio.Text = opersona.promedio
        lblsuma.Text = opersona.suma
    End Sub
End Class


Resultado:
. Ejemplo 02: usamos la misma clase "Persona" del ejemplo anterior, agregamos un nuevo fromulario con el nombre de Frmedadcond.vb
. Diseño del formulario: 4 label,1 button, 1 ListView como muestra la imagen:

configuración del ListView con el nombre "lsvmostreo",sigamos las imágenes:
   -configurando las columnas  en las propiedades de ListView-

  
Clase Persona (la misma clase del ejercicio nterior solo agregamos lo siguiente):

Public Class Persona
     Function total_menor() As Integer
        Dim i As Integer
        Dim R As Integer
        For i = 0 To Me.edad.Length - 1
            If edad(i) < 18 Then
                R = R + 1
            End If
        Next
        Return R
    End Function
    Function total_mayorr() As Integer
        Dim i As Integer
        Dim R As Integer
        For i = 0 To Me.edad.Length - 1
            If edad(i) >= 18 Then
                R = R + 1
            End If
        Next
        Return R
    End Function
End Class


Programamos en el Formulario:

Public Class Frmedadcond
  'Creo una variable de tipo ListViewItem (ALMACEN) que sirve para ir agregando al ListView.
    Private ALMACEN As ListViewItem
    Private opersona As Persona
    Private edad() As Integer
 Private Sub BTNMOSTRAR_Click(sender As System.Object, e As System.EventArgs) Handles BTNMOSTRAR.Click
        Dim i As Integer
        opersona = New Persona
        edad = opersona.generaredades(5)
        lsvmostreo.Items.Clear()
 

        For i = 0 To edad.Length - 1
            'Creo una nueva instancia del
ALMACEN
             ALMACEN = New ListViewItem
            'pasamos como dado principal

            ALMACEN.Text = edad(i)
            If edad(i) >= 18 Then
              'Agregamos  los demas datos a los SubItems

                ALMACEN.SubItems.Add("MAYOR DE EDAD")
            Else
                ALMACEN.SubItems.Add("MENOR DE EDAD")
            End If

            'Agrego el almacen  a la colección de listViewItem lsvmostreo.
            lsvmostreo.Items.Add(ALMACEN)
        Next
        lblmenores.Text = opersona.total_menor
        lblmayores.Text = opersona.total_mayorr
    End Sub
End Class



Resultado:
. Ejemplo 03: calcular la temperatura minima, maxima y su promedio en 16 dias que oscile ente 10 y 36.

.Crear una clase con el nombre "ClsTemperatura.vb" en una carpeta "clases", agregamos un nuevo formulario con el nombre "FrmTemperatura.vb"
. Diseño del fromulario: 1 button , 1 ListView nombre "Lvtabla" que tine 4 columnas, como muestra la imagen : 
.Clase ClsTemperatura:
Public Class ClsTemperatura
    ' matriz filas y columnas bidimensionales
    Private num(,) As Integer

    Public Sub simular()
        Me.num = New Integer(15, 2) {}
        Dim i As Integer
        For i = 0 To 15
            num(i, 0) = 10 + Rnd() * 13
            num(i, 1) = num(i, 0) + Rnd() * 13
            num(i, 2) = (num(i, 0) + num(i, 1)) / 2
        Next
    End Sub
    'retorno'
    Public Function mostraresiltado() As Integer(,)
        Return num
    End Function
End Class



Programamos en el Formulario:
Public Class FrmTemperatura
    Private otemperatura As ClsTemperatura
    Private tem(,) As Integer
    Private ingresar As ListViewItem
Private Sub BtnMostrar_Click(sender As System.Object, e As System.EventArgs) Handles BtnMostrar.Click
        otemperatura = New ClsTemperatura
        otemperatura.simular()
        tem = otemperatura.mostraresiltado
        lsvresul.Items.Clear()
        Dim i As Integer

        For i = 0 To 15
            ingresar = New ListViewItem
            ingresar.Text = i + 1
            ingresar.SubItems.Add(tem(i, 0))
            ingresar.SubItems.Add(tem(i, 1))
            ingresar.SubItems.Add(tem(i, 2))
            lsvresul.Items.Add(ingresar)
        Next
    End Sub
End Class


Resultado:
.Ejemplo04: en este ejemplo vamos hacer una tabla aritmética de suma, resta, multiplicación, división:
. Creamos una clase con el nombre "ClsTabla.vb" en  una carpeta llamada "clases", luego agregamos un formulario con el nombre "FrmTablaAritmetica.vb"
.Diseño del Formulario: 1 label, 1 TextBox en su propiedad name "txtvalor", 1 button en su propiedad name "Btnmostrar", 1 GroupBox, 4 RadioButton en su propiedad name colocamos "Rbsuma, RbResta, RbMultiplicar, RbDividir", 1 ListView en su propiedad name "lsvresul", vemos la imagen:
.Clase ClsTabla:
Public Class ClsTabla
    Private resul() As Double

    Public Function operacion(ByVal tipo As String, ByVal operador As Integer) As Double()
        Dim i As Integer

        resul = New Double(15) {}
        Select Case tipo
            Case "+"
                For i = 1 To 15
                    resul(i) = operador + i
                Next
            Case "-"
                For i = 1 To 15
                    resul(i) = operador - i
                Next
            Case "*"
                For i = 1 To 15
                    resul(i) = operador * i
                Next
            Case "/"
                For i = 1 To 15
                    resul(i) = operador / i
                Next
        End Select
        Return resul
    End Function
End Class
 

Programamos en el Formulario:
Public Class FrmTablaAritmetica
    Private lista As ListViewItem
    Private resultado() As Double
    Private otablas As ClsTabla
    Private tipo As String
    Private valor As Integer
Private Sub Btnmostrar_Click(sender As System.Object, e As System.EventArgs) Handles Btnmostrar.Click
        If Rbsuma.Checked Then tipo = "+"
        If RbResta.Checked Then tipo = "-"
        If RbMultiplicar.Checked Then tipo = "*"
        If RbDividir.Checked Then tipo = "/"
        otablas = New ClsTabla
        valor = txtvalor.Text
        resultado = otablas.operacion(tipo, valor)
        Dim i As Integer
        lsvresul.Items.Clear()
        For i = 1 To 12
            lista = New ListViewItem
            lista.Text = valor
            lista.SubItems.Add(tipo)
            lista.SubItems.Add(i)
            lista.SubItems.Add(resultado(i))
            lsvresul.Items.Add(lista)
        Next
    End Sub

Private Sub FrmTablaAritmetica_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Rbsuma.Checked = True
    End Sub
End Class


Resultado:

0 comentarios:

Publicar un comentario