Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Ahinoam en 6 Junio 2016, 20:34 pm



Título: Tabla de distribución de frecuencias
Publicado por: Ahinoam en 6 Junio 2016, 20:34 pm
Hola, muy buenas, vengo a pedir orientación para la realización de un programa en visual studio, en form.

La idea del programa es hacer una tabla de distribución de frecuencias. Ya he comenzado el diseño del programa, pero hasta ahora no me ha gustado el resultado que llevo asta ahora, así que pido su ayuda para que me puedan decir si se pueden hacer algunas cosas que tengo en mente, mejorar detalles, o hacer mas simple el programa. (Este tema sera extenso para que puedan entender lo que quiero hacer).

El programa consta de 6 pasos.

1: Ordenar.
2: Rango.
3: # Intervalos.
4: Ancho de clase.
5: Tabla de distribución de frecuencia.
6: Gráfica (es opcional).

Bueno este es el diseño del programa, y así quiero realizar la tabla, estaba pensando en distribuirlas en 6 ListBox, pero no se como relacionar todas las ListBox.


# Intervalos = # No. de Intervalos
Lim. Inferior = El Valor menor de los datos agregados
Lim Superior = Es la suma del Lim Inf + el Ancho de clase
Frecuencia absoluta = Es el valor que hay entre el Lim. Inferior y el Lim. Superior
Frecuencia relativa = Es la división de Frecuencia absoluta y el No. total de datos
Frecuencia porcentual = Es el porcentaje de la Frecuencia relativa ( Frecuencia relativa x 100)


(https://k61.kn3.net/F/A/A/C/7/2/A53.jpg)

El código esta bien aunque fallan algunos detalles, por ejemplo al ingresar valores como: 2, 9, 6, 4, 35, 69. Al ordenarlos de menor a mayor no toma en cuenta los valores de dos dígitos.


(https://k61.kn3.net/A/F/5/3/D/7/533.jpg)

El que me esta dando fallos en el # Intervalos, la formula para obtener el resultado es: 1 + 3.333 Log(n), n es el numero total de datos y Log es logaritmo. Este es el código que puse.


Código:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        ' # Intervalo
        Dim num As Double
        num = Val(TextBox5.Text)
        TextBox6.Text = (1 + 3.333 * Math.Log10(num))
        Intervalo = TextBox6.Text
        TextBox6.Text = ""
    End Sub

Bueno eso seria todo quisiera que me ayudaran para terminar este programa.