PROGRAMA ARREGLOS
INTERFAZ GRÁFICA
Imagen 5. GUI
programa arreglos.
En este programa le suministramos
al usuario nueve (9) cajas de texto, en las cuales se digitaran números
enteros. Al pulsar el botón Organizar, se mostrarán los números en tres formas:
la primera de la forma como se digitaron, la segunda ordenados de menor a mayor
(AZ) y en la tercera ordenados de mayor a menor (ZA). Las herramientas usadas para
mostrar los números conforme se dijo anteriormente son ListBox.
Imagen 6.
Herramienta ListBox.
|
Herramienta
|
Name
|
Text
|
|
Label
|
lblAviso
|
Digite un número
entero (entre 0 y 1000) en cada caja de texto:
|
|
Label
|
lblNumDigitados
|
Números digitados
|
|
Label
|
lblNumAZ
|
Orden ZA
|
|
Label
|
lblNumZA
|
Orden AZ
|
|
TextBox
|
txtNumUno
|
No aplica
|
|
TextBox
|
txtNumDos
|
No aplica
|
|
TextBox
|
txtNumTres
|
No aplica
|
|
TextBox
|
txtNumCuatro
|
No aplica
|
|
TextBox
|
txtNumCinco
|
No aplica
|
|
TextBox
|
txtNumSeis
|
No aplica
|
|
TextBox
|
txtNumSiete
|
No aplica
|
|
TextBox
|
txtNumOcho
|
No aplica
|
|
TextBox
|
txtNumNueve
|
No aplica
|
|
ListBox
|
ListNormal
|
No aplica
|
|
ListBox
|
ListAscendente
|
No aplica
|
|
ListBox
|
ListDescendente
|
No aplica
|
|
Button
|
btnOrganizar
|
Organizar
|
Tabla 3.
Herramientas y propiedades.
En este programa se utiliza un
arreglo unidimensional para “cargar”
los números digitados en él y poderlos manipular de manera más fácil, conforme
se vio en clase. El método utilizado para organizar los números es el de la Burbuja,
que hace comparación entre dos posiciones adyacentes (seguidas) del arreglo y
en el caso de que el valor de la posición de la izquierda sea mayor que la de
la derecha los intercambia.
Se hace uso de otra estructura
cíclica que es la For Next, que nos permite “desplazarnos”
por el arreglo y efectuar acciones, como cargar su contenido en el respectivo
ListBox, o intercambiar los valores entre posiciones según el método de la
burbuja.
Para ordenar ascendentemente o
descendentemente el arreglo la estructura es la misma, varía solamente en el
signo (> ó <) de la condición.
CÓDIGO FUENTE
Public Class frmArreglos
Private Sub btnOrganizar_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles btnOrganizar.Click
'Declaración del
arreglo y variables de trabajo
Dim arreglo() As Integer = {0, 0,
0, 0, 0, 0, 0, 0, 0}
Dim i, pasadas,
almacena As Integer
'se cargan los
valores digitados en cada de texto en su respectiva posición del arreglo
arreglo(0) = Val(txtNumUno.Text)
arreglo(1) = Val(txtNumDos.Text)
arreglo(2) = Val(txtNumTres.Text)
arreglo(3) = Val(txtNumCuatro.Text)
arreglo(4) = Val(txtNumCinco.Text)
arreglo(5) = Val(txtNumSeis.Text)
arreglo(6) = Val(txtNumSiete.Text)
arreglo(7) = Val(txtNumOcho.Text)
arreglo(8) = Val(txtNumNueve.Text)
'Adiciona todos
los elementos del arreglo en
'forma original
(como se digitaron) al listNormal
For i = 0 To 8
ListNormal.Items.Add(arreglo(i))
Next
'Método de la
burbuja para ordenar en forma Ascendente
For pasadas = 1
To 8
For i = 0 To 8 – 1
'Compara los
elementos adyacentes y los intercambia
'si el primer
elemento es mayor que el segundo
If (arreglo(i) > arreglo(i + 1)) Then
almacena = arreglo(i)
arreglo(i) = arreglo(i + 1)
arreglo(i + 1) = almacena
End If
Next
Next
For i = 0 To 8
'Adiciona los
elementos del arreglo ordenados ascendentemente a ListAscendente
ListAscendente.Items.Add(arreglo(i))
Next
For pasadas = 1
To 8
For i = 0 To 8 - 1
'Similar al caso
ascendente, la diferencia radica en el signo "<" que hace lo contrario
de 'ordenarlo en forma descendente
If
(arreglo(i) < arreglo(i + 1)) Then
almacena = arreglo(i)
arreglo(i) = arreglo(i + 1)
arreglo(i + 1) = almacena
End If
Next
Next
For i = 0 To 8
'Adiciona los
elementos del arreglo ordenados descendentemente a ListDescendente
ListDescendente.Items.Add(arreglo(i))
Next
'limpiamos las
cajas de texto
txtNumUno.Text = ""
txtNumDos.Text = ""
txtNumTres.Text = ""
txtNumCuatro.Text = ""
txtNumCinco.Text = ""
txtNumSeis.Text = ""
txtNumSiete.Text = ""
txtNumOcho.Text = ""
txtNumNueve.Text = ""
End Sub
End Class





