hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
26 de Julio de 2008, 05:33:03
Noticias: Te consideras bueno en C++?
Para ver este enlace Registrate o Inicia Sesion
Aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: ranefi, crypto136, ziBboh, >> s E t H <<)
| | | |-+  Codigo fuente para estadistica (frecuencia y moda)
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Codigo fuente para estadistica (frecuencia y moda)  (Leído 358 veces)
andressoft
Recien llegado
*
Desconectado Desconectado

Mensajes: 9


Ver Perfil
« : 04 de Enero de 2008, 04:45:21 »

Que vaina, aqui mi primer aporte a ver que les parece, un codigo fuente en VB para obtener la frecuencia y la moda de una matrix de n elementos !!! Ojo me mate mucho inventandome esto, compartan y no olviden agradecer Smiley

El codigo guarda en un tabla de base de datos Access.  Es para programadores avanzados, va sin explicaciones, debe ser adaptado para un fin diferente del que lo cree.



Private Sub Frecuencia()
On Error Resume Next
Static C As Integer
recTabla.MoveF irst

    For X1 = 1 To 1000
    If recTabla.BOF Or recTabla.EOF Then
        Exit For
    Else
    recTabla.MoveN ext
    C = C + 1
    End If
    Next X1
Me.Caption = C



Dim VM As Integer, M As Integer, mEdad(1 To 100) As Integer, ContF(100) As Integer, MatF(100) As Integer, DatF(100) As String, NU, X

recTabla.MoveF irst
For NU = 1 To C
    mEdad(NU) = Val(recTabla.Field s("edad"))
    recTabla.MoveN ext
Next NU

For X = 1 To C
    For Y = (X + 1) To recTabla.Recor dCount
        If mEdad(X) > mEdad(Y) Then
            aux = mEdad(X)
            mEdad(X) = mEdad(Y)
            mEdad(Y) = aux
        End If
    Next Y
Next X

For E = 1 To C
    ltItems.AddIte m mEdad(E)
Next E


'Frecuenciar ·······································································
On Error Resume Next
Dim Elim

For Elim = 1 To C
    TFrec.Delete
    TFrec.MoveNext
Next Elim

For M = 1 To C
    If M = 1 Then
        VM = 0
    Else
        VM = 1
    End If
   
    mAux = mEdad(M)
        If mAux = mEdad(M + VM) Then
            cm = cm + 1
        Else
            If cm = 0 Then
                MatF(M) = mEdad(M)
                ContF(M) = cm + VM
                DatF(M) = "Edad(es) " & MatF(M) & " = Frecuencia " & ContF(M)
                    TFrec.AddNew
                    TFrec("Clave") = M
                    TFrec("edad") = MatF(M)
                    TFrec("Frec") = ContF(M)
                    TFrec.Update
                    TFrec.MoveLast
                cm = 0
            Else
                MatF(M) = mEdad(M - VM)
                ContF(M) = cm + VM
                DatF(M) = "Edad(es) " & MatF(M) & " = Frecuencia " & ContF(M)
                    TFrec.AddNew
                    TFrec("Clave") = M
                    TFrec("Edad") = MatF(M)
                    TFrec("frec") = ContF(M)
                    TFrec.Update
                    TFrec.MoveLast
                cm = 0
            End If
        End If
                        If VM = 0 And mEdad(1) <> mEdad(2) Then
                        MatF(M) = mEdad(M - VM)
                        ContF(M) = cm + VM
                        DatF(M) = "Edad(es) " & MatF(M) & " = Frecuencia " & ContF(M)
                        TFrec.AddNew
                        TFrec("Clave") = M
                        TFrec("Edad") = MatF(M)
                        TFrec("frec") = ContF(M)
                        TFrec.Update
                        TFrec.MoveLast
                        End If

           
 Next M
 
For L = 1 To C
    If Not DatF(L) = "" Then
        ltFrec.AddItem DatF(L)
    End If
Next L

End Sub



Private Sub HallarModa()
ltItems.Clear

Dim N As Integer, Cont As Integer, i, M As Integer, nro As Integer, aux As Integer
Dim mEdad(1 To 100) As Integer
Dim X As Integer, Y As Integer, Nu As Integer, Valor As Integer
Static Moda As Integer


'Ordenar··································
recTabla.MoveF irst

For Nu = 1 To recTabla.Recor dCount
    mEdad(Nu) = Val(recTabla.Field s("edad"))
    recTabla.MoveN ext
Next Nu

For X = 1 To recTabla.Recor dCount
    For Y = (X + 1) To recTabla.Recor dCount
        If mEdad(X) > mEdad(Y) Then
            aux = mEdad(X)
            mEdad(X) = mEdad(Y)
            mEdad(Y) = aux
        End If
    Next Y
Next X

For E = 1 To recTabla.Recor dCount
    ltItems.AddIte m mEdad(E)
Next E


'Modalizar ···························
Cont = 0
i = 0

Dim mAux As Integer, mVal As Integer, ContM As Integer
On Error Resume Next
mAux = 0
ContM = 0
For M = 1 To recTabla.Recor dCount
    If M = 1 Then
        VM = 0
    Else
        VM = 1
    End If
    mAux = mEdad(M)
        If mAux = mEdad(M + VM) Then
            mVal = mVal + 1
         Else
            mVal = 0
         End If
        If mVal >= ContM Then
            ContM = mVal
            Moda = mAux
        End If
       
lbModa.Caption = "Moda de Edades = " & Moda
Next M

For M = 1 To recTabla.Recor dCount
'    Label1.Caption = ContM(M)
    'Me.Caption = "Moda = " & Moda
Next M
End Sub


En línea
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online