En estadística, la moda es el valor con una mayor
frecuencia en una distribución de datos.
Esta aplicación es una herramienta básica para la forma
de calcular la moda, se caracteriza
por escribir la cantidad de número y
escribir la máxima cantidad y la mínima.
De igual forma describe el proceso de cada vuelta para el
acomodo de los números,
igualmente se muestra la lista ya ordenada.
Para realizar el ejemplo de la aplicación es necesario
crear una interfaz como la siguiente:
Al generar los datos que con
anticipación ya se habían ingresados, se plasman en el listbox.
'cantidad = InputBox("De cuantos
elementos sera el vector")
'ReDim numeros(cantidad - 1)
'For
i = 0 To cantidad - 1
'numeros(i) = InputBox("Dame el elemento
" & i)
'Next
LstNumeros.Items.Clear()
LstProcesos.Items.Clear()
ReDim
numeros(Val(TxtCantidad.Text) - 1)
Dim NumAleatorio As New Random
For
i = 0 To numeros.Length - 1
numeros(i) =
NumAleatorio.Next(Val(TxtMinimo.Text), Val(TxtMaximo.Text))
Next
For
i = 0 To numeros.Length - 1
LstNumeros.Items.Add(NumAleatorio.Next(Val(TxtMinimo.Text), Val(TxtMaximo.Text)))
Next
Al
botón ordenar se le agrega el siguiente código.
Dim vueltas As
Integer
Dim comparaciones As Integer
Dim puntero As
Integer
Dim aux As
Integer = 0
vueltas = LstNumeros.Items.Count - 1
'*********************************
For i As
Integer = 1 To
vueltas
LstProcesos.Items.Add("**VUELTA " & i & "***********************")
comparaciones = (numeros.Length) -
i
LstProcesos.Items.Add(FotoVector(LstNumeros))
puntero = 0
For
j As Integer =
1 To comparaciones
LstProcesos.Items.Add("
Comparacion " & j & ":
SI " & LstNumeros.Items(puntero) & ">
" & LstNumeros.Items(puntero + 1))
If
LstNumeros.Items(puntero) > LstNumeros.Items(puntero + 1) Then
LstProcesos.Items.Add("
Intercambiar " & LstNumeros.Items(puntero) & " con " & LstNumeros.Items(puntero +
1))
aux =
LstNumeros.Items(puntero + 1)
LstNumeros.Items(puntero +
1) = LstNumeros.Items(puntero)
LstNumeros.Items(puntero) = aux
End If
LstProcesos.Items.Add(FotoVector(LstNumeros))
puntero += 1
Next
Next
Al
botón moda se le agrega el siguiente código.
'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 cont 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 puntero 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(puntero) = LstNumeros.Items(sig) Then
'Se
cuenta el elemento
cont = cont + 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(puntero)
ReDim
Preserve Conteo(CantElementos)
'Se
guarda el numero de veces que el numero ocurre en el vector
Conteo(CantElementos) = cont
'MsgBox(LstNumeros.Items(puntero)
& " " & cont)
'Como
el que sigue es un nuevo numero entonces
'Se
inicia el contador de ocurrencias
cont = 0
'Se
mueve el puntero para que apunte a un numero distinto
puntero = sig
End If
End
While
CantElementos += 1
ReDim Preserve
Elementos(CantElementos)
Elementos(CantElementos) = LstNumeros.Items(puntero)
ReDim Preserve
Conteo(CantElementos)
Conteo(CantElementos) = cont
Dim N, C As String
For
i As Integer =
0 To CantElementos
N = N &
Elementos(i) & " "
C = C & Conteo(i)
& " "
Next
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
MsgBox(" La moda es:: " & Elementos(POS))
Al
botón salir el siguiente código:
Me.Close()
Increíble gracias por la informacion
ResponderEliminar