Professional Documents
Culture Documents
Existen conjuntos de datos que por su naturaleza son mejor representados mediante tablas o matrices multidimensionales que por vectores.
Por ejemplo, se puede representar las calificaciones de 4 asignaturas cursadas por 6 estudiantes mediante una tabla como la que abajo se ilustra:
Columna 1 Columna 2 Columna 3 Columna 4 Fila 1 Fila 2 Fila 3 Fila 4 Fila 5 Fila 6
donde cada fila correspondera a un estudiante y cada columna a una asignatura. Cada dato individual (la calificacin de un estudiante en una asignatura dada) es un elemento de esta tabla y ocupa una celda identificable por el nmero de la fila y el nmero de la columna.
De esta manera, cada elemento de la tabla queda completamente identificado mediante dos subndices: el primero para identificar la fila y el segundo para identificar la columna.
M( i , j )
Cada elemento de la matriz representara la calificacin de un estudiante dado en una asignatura dada. Por ejemplo:
M(4,2) = C
significa que el estudiante nmero 4 obtuvo C en la asignatura 2. La posicin del elemento dentro de la matriz corresponde a la celda sombreada en la tabla de la figura de arriba.
i = 1, 2, 3, ...,6 j = 1, 2, 3, 4
Con frecuencia se manejan arreglos de ms de dos dimensiones, correspondiendo un subndice a cada dimensin.
El programador debe tener presente que la memoria de las computadoras es lineal, por lo que la mayora de los compiladores almacenan en memoria los elementos de una matriz linealizandola por filas; es decir, todos los elementos de la primera fila primero, los de la segunda despus y as sucesivamente.
Ejemplo
GUI
Dim j1 As Integer Dim j2 As Integer Dim j3 As Integer Dim sumaBranch As Double Dim sumaTrimestre As Double Dim x(1 To 3, 1 To 4) As Double --------------------------------------------------------------------------------
lblCoralGables.Left = 1640 txtFlagler.Visible = False txtKendall.Visible = False txtCoralGables.Visible = False cmdCalcular.Enabled = False Picture1.ForeColor = vbRed Picture1.Print "Primero", "Segundo", "Tercer", "Cuarto", "TOTAL" Picture1.ForeColor = vbBlue
For i = 1 To 3
sumaBranch = 0
Next i
cmdLimpiar.SetFocus
If KeyAscii = 13 Then
Select Case j3 Case 1 lblTrimestre.Caption = "Segundo Trimestre" Case 2 lblTrimestre.Caption = "Tercer Trimestre" Case 3 lblTrimestre.Caption = "Cuarto Trimestre" End Select
lblTrimestre.ForeColor = vbRed lblTrimestre.Caption = " TRIMESTRE:" cmdCalcular.SetFocus Else txtCoralGables.Enabled = False txtFlagler.Enabled = True txtFlagler.SetFocus txtFlagler.Text = "" End If
End If
If KeyAscii = 13 Then
j1 = j1 + 1 x(1, j1) = Val(txtFlagler.Text) txtFlagler.Enabled = False txtKendall.Enabled = True txtKendall.SetFocus txtKendall.Text = ""
End If
End Sub
--------------------------------------------------------------------------------
If KeyAscii = 13 Then
j2 = j2 + 1 x(2, j2) = Val(txtKendall.Text) txtKendall.Enabled = False txtCoralGables.Enabled = True txtCoralGables.SetFocus txtCoralGables.Text = ""
End If
Arriba
15.2 Ejercicios
Completar la aplicacin del ejemplo calculando e imprimiendo el total por trimestre y el Gran Total. Modificar la aplicacin del ejemplo para que determine el elemento de mayor valor y el de menor valor en la tabla del ejemplo (que sucursal y en que trimestre se produjo la mxima y la mnima venta)