martes, 3 de diciembre de 2013

BIENVENIDOS A NUESTRO BLOG


Se creo con la intención de compartir códigos de Visual Basic 2010 los cuales pueden ser de su ayuda.
Somos un grupo de jóvenes estudiantes de la carrera Técnico Superior Universitario en Tecnologías de la Información y Comunicación Área Sistemas Informáticos de la Universidad Tecnológica del Centro ubicada en la ciudad de Izamal, Yucatán.
¡¡Esperamos que sea de gran ayuda!! 





Integrantes:
Chi Burgos Sergio Daniel
Pat Chan Maria Trinidad
Pool Ek Merly 

VECTOR DINÁMICO


Un vector dinámico no es más que un vector con capacidad para crecer y decrecer.
Una instancia v del tipo de datos abstracto Vector dinámico sobre el  tipo float es un array unidimensional de un determinado tamaño n, que puede crecer y decrecer a petición del usuario.

Este es el diseño del proyecto realizado.



Se utiliza el siguiente código:

Public Class VectorDinamico
    Dim numeros() As Integer
    Dim tamano As Integer = -1


    Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        tamano = tamano + 1
        ReDim Preserve numeros(tamano)
        numeros(tamano) = InputBox("Deme el elemento ")

    End Sub

    Private Sub BtnTamano_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTamano.Click
        MsgBox("El vector tiene  " & numeros.Length & " Elementos")

    End Sub

    Private Sub btnImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImprimir.Click
        For i As Integer = 0 To numeros.Length - 1
            MsgBox(numeros(i))
        Next
    End Sub

End Class


En este link podrá encontrar el proyecto ya funcional.





ESTADÍSTICA

En estadística se utilizan ecuaciones para determinar la media, mediana y la moda para hallar estas se requiere saber acerca de los métodos de ordenación, ya que en la mediana y la moda la posición importa. Para hallar cada una de ellas aquí se presenta el código  de cada una de ellas.

Este es el diseño del proyecto realizado.



Se utiliza el siguiente código:

Public Class frmMediaMedianaModa
    Dim numeros() As Integer 'agregamos un vector y no le ponemos tamaño xk es homogeneo
    Dim tamano As Integer   'agregamos una variable y le ponemos -1 xk no podemos ponerlo en cero

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim tamano As Integer ' guarda el tamano
        tamano = Val(Txttamano.Text) 'pide el tamaño del arreglo


        ReDim numeros(tamano)
        For b As Integer = 1 To tamano
            numeros(b) = InputBox("Introduce un valor numérico :", "Introducción de números")
            Lstnumeros.Items.Add(numeros(b)) ' lo manda a la lista
        Next


    End Sub

    Private Sub Estadistica_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtmdia.Enabled = False
        txtmediana.Enabled = False
        txtmoda.Enabled = False
        Lstnumeros.Enabled = False
    End Sub

    Private Sub btnresultado_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnresul.Click
        Dim media As Double = 0.0 ' guarda la media
        Dim total As Double ' guarda el total de la suma
        For i As Integer = 0 To Lstnumeros.Items.Count
            total = total + numeros(i)

        Next

        media = total / Lstnumeros.Items.Count
        txtmdia.Text = media

        Dim vueltas As Integer = 0
        Dim comparaciones As Integer = 0
        Dim puntero As Integer = 1
        Dim aux As Integer = 0


        vueltas = Lstnumeros.Items.Count - 1 'controla el numero de vueltas que dará el método de inserción


        For i As Integer = 1 To vueltas ' determina el numero de comparaciones por cada vueltas
            comparaciones = i 'espara disminuir las vueltas
            puntero = i
            'se explica los pasos


            Dim cont As Integer = 1

            For j As Integer = comparaciones To 1 Step -1



                If Lstnumeros.Items(puntero) < Lstnumeros.Items(puntero - 1) Then 'se explica como se esta asiendo los paso



                    aux = Lstnumeros.Items(puntero - 1)
                    Lstnumeros.Items(puntero - 1) = Lstnumeros.Items(puntero)
                    Lstnumeros.Items(puntero) = aux


                End If
                puntero = puntero - 1

                cont += 1
            Next
            Dim posmedia As Double 'guarda la posicion
            Dim mediana As Double ' saca la media
            If Lstnumeros.Items.Count Mod 2 = 0 Then
                posmedia = Int(Lstnumeros.Items.Count / 2)
                mediana = (Lstnumeros.Items(posmedia) + Lstnumeros.Items(posmedia - 1)) / 2
                ' txtmediana.Text = mediana

            Else
                posmedia = Int(Lstnumeros.Items.Count / 2) + 1
                mediana = Lstnumeros.Items(posmedia - 1)

            End If
            txtmediana.Text = mediana
        Next
        '**************************************MODA****************************************************************
        'Este vector contendrá la lista de numeros diferentes que existan
        Dim Elementos() As Integer

        'Este vector contendrá el numero de veces que un numero este presente (El vector elementos y Conteo estan vinculados por la posicion)
        Dim Conteo() As Integer


        'Servirá para contar el numero de veces que existe un numero
        Dim contador As Integer = 0

        'Cuenta el numero de elementos distintos que hay en la lista
        Dim CantElementos As Integer = -1

        'Apunta al elemento que esta siendo contado
        Dim punterom As Integer = 0
        'Apunta al elemento a comparar con el elemento seleccionado

        Dim sig As Integer = 0

        'Mientras existan elementos para contar
        While sig <= Lstnumeros.Items.Count - 1

            'SI el elemento a contar es igual al siguiente elemento
            If Lstnumeros.Items(punterom) = Lstnumeros.Items(sig) Then

                'Se cuenta el elemento
                contador = contador + 1
                'Se incrementa para comparar con el siguiente
                sig += 1
            Else

                'Si no son iguales, entonces son diferentes. por tanto se incrementa se deduce que se tiene un elemento nuevo
                CantElementos += 1

                'Se dimensiona al vector al nuevo tamaño
                ReDim Preserve Elementos(CantElementos)

                'Se guarda el numero apuntado
                Elementos(CantElementos) = Lstnumeros.Items(punterom)


                ReDim Preserve Conteo(CantElementos)

                'Se guarda el numero de veces que el numero ocurre en el vector
                Conteo(CantElementos) = contador

                'MsgBox(LstNumeros.Items(puntero) & " " & cont)

                'Como el que sigue es un nuevo numero entonces
                'Se inicia el contador de ocurrencias
                contador = 0

                'Se mueve el puntero para que apunte a un numero distinto
                punterom = sig


            End If
        End While
        CantElementos += 1

        ReDim Preserve Elementos(CantElementos)

        Elementos(CantElementos) = Lstnumeros.Items(punterom)
        ReDim Preserve Conteo(CantElementos)

        Conteo(CantElementos) = contador




        Dim N, C As String

        For i As Integer = 0 To CantElementos
            N = N & Elementos(i) & " "
            C = C & Conteo(i) & " "


        Next

        'MsgBox(N )

        Dim mayor As Integer
        Dim POS As Integer

        mayor = Conteo(0)
        POS = 0

        For I As Integer = 1 To Conteo.Length - 1




            If Conteo(I) > mayor Then
                mayor = Conteo(I)
                POS = I


            End If

        Next
        txtmoda.Text = Elementos(POS)



    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlimpiar.Click
        Lstnumeros.Items.Clear()
        txtmdia.Clear()
        txtmediana.Clear()
        Txttamano.Clear()
        txtmoda.Clear()
    End Sub


End Class


En este link podrá encontrar el proyecto ya funcional.