Universidad Tecnológica de Panamá IX. Procesos con Matrices Prof. Anna Araba de Ruiz 1 Arreglos multidimensionales •
Views 80 Downloads 86 File size 190KB
Universidad Tecnológica de Panamá
IX. Procesos con Matrices
Prof. Anna Araba de Ruiz 1
Arreglos multidimensionales • Un arreglo de tamaño n puede verse como una matriz 1 x n. • ¿Cómo definir matrices de tamaño m x n? • ¿Cómo definir matrices de r x m x n?
1
Arreglos multidimensionales 1x
rxmxn
n 1x3
Arreglo de tres variables
3x3x2
mxn
Arreglo de 18 variables
3x3
¿O arreglo de 2 arreglos de 3 arreglos de 3 variables?
Arreglo de 9 variables ¿O arreglo de 3 arreglos de 3 variables?
Arreglos multidimensionales B(0,0)
B(0,1)
B(0,2)
A B A(0) A(1) A(2)
B(2,0)
B(2,1)
B(2,2)
2
Para un arreglo de n dimensiones, la sintaxis será: Dim Nombre_Arreglo(dimensión1, dimensión2, ...) As [Tipo de dato]
Declaración de una matriz tradicional de m x n elementos: Dim A(3, 2) As Integer Fila
Columna
El número de elementos declarados se calcula teniendo en cuenta que la numeración de los índices empieza en cero. Por ejemplo, para una matriz en la que el número de elementos será de 4 x 3 = 12, decimos que hay - Cuatro filas (0, 1, 2 y 3) y - Tres columnas (0, 1 y 2).
La siguiente tabla representa una matriz de 6 filas y 8 columnas, que contiene el numero de alumnos matriculados en cada grupo de un centro docente, por asignatura. Las filas corresponden a los grupos y las columnas a las asignaturas. •
MATRICULA
•
1
2
3
4
5
6
7
8
1
35
30
32
32
34
35
34
28
2
40
33
40
37
36
39
40
29
3
25
23
26
21
24
24
25
15
4
33
33
33
32
34
30
32
20
5
45
44
45
44
43
40
44
33
6
24
20
22
22
24
25
24
12
NOMBRE DE LA TABLA: MATRICULA. COMPONENTES: MATRICULA(1,1), MATRICULA(1,2),..., MATRICULA(6,7), MATRICULA(6,8). INDICES: Los números del 1 al 6 para las filas y los números 1 al 8 para las columnas. DIMENSION: Dos
LONGITUD: 6 * 8 = 48
TIPO: Numérica entera
La componente MATRICULA(4,6) almacena el número de alumnos matriculados en el grupo número 4 en la asignatura número 6, que en el ejemplo representado son 30 alumnos. La tabla anterior se declara:
Dim MATRICULA (6, 8) As Integer
3
Ejemplo: En un arreglo de dos dimensiones queremos almacenar el número de alumnos con que cuenta una academia, ordenados en función del nivel y del idioma que estudian. Tendremos 3 filas que representarán los niveles: 0 = Básico 1 = Medio 2 = Perfeccionamiento Tendremos 4 columnas que representarán los idiomas: 0 = Inglés 1 = Francés 2 = Alemán 3 = Ruso
La declaración de dicha matriz será: Dim Alumnosxniveleidioma(3, 4) Podemos asignar contenidos de la siguiente manera: Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(1, Alumnosxniveleidioma(1,
0) = 7 1) = 14 2) = 8 3) = 3 0) = 6 1) = 19
Representación gráfica asociada a la asignación de datos
Alumnosxniveleidioma(1, Alumnosxniveleidioma(1, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2,
N i v e l e s
2) = 7 3) = 2 0) = 3 1) = 13 2) = 4 3) = 1
Idiomas 0 1 2 3 0 1 2
4
Ejemplo 1: REM Curso Visual Basic Public Class Form1 Dim Alumnosxniveleidioma (3, 4) As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVale As System.EventArgs) Handles MyBase.Load D. Alumnosxniveleidioma(0, 3) = 3 --Alumnosxniveleidioma(2, 1) = 13 DD MsgBox(“La academia cuenta con " & Alumnosxniveleidioma(0, 3) & “ estudiantes en el Nivel Basico del idioma Ruso”) End Sub End Class
La organización de la información en matrices nos brinda numerosas ventajas al momento del tratamiento de datos en nuestros programas. Veamos algunos casos de declaraciones con más de dos dimensiones. Para ello tomaremos como ejemplo el conteo del número de automoviles que pasan por una vía en un periodo de tiempo.
Duración de conteo
Tipo de Arreglo
Declaración NA (Numero de Autos)
Varios Años
Arreglo de cuatro dimensiones (Año, Mes. Dia, Hora)
Dim NA(10, 12, 31, 24) As Integer
Varios Meses
Arreglo de tres dimensiones (Mes, Dia, Hora)
Dim NA(12, 31, 24) As Integer
Varios Días
Matriz (Dia y Hora)
Dim NA(31, 24) As Integer
Un Día
Vector (Hora)
Dim NA(24) As Integer
5
XII. DATAGRIDVIEW
11
DataGridView Muestra filas y columnas de datos en una cuadricula que se puede personalizar. Permite mostrar y editar datos en tablas a partir de numerosos tipos diferentes de orígenes de datos, por ejemplo Bases de Datos. El DataGridView proporciona una manera fácil y muy personalizable de mostrar los datos sin enlazarse a un origen de datos. Por ejemplo, mostrar el contenido de una matriz bidimensional de tipo String. Permite administrar la inserción y eliminación de filas. Para impedir que se agreguen filas, debemos establecer la propiedad AllowUserToAddRows en false.
6
Con los métodos de utilidad en contexto, puede asociar controladores de eventos. Controlará los eventos Click de los botones Agregar y Eliminar Cuando se provoca el evento Click del botón Agregar, se agrega una nueva fila vacía a DataGridView. Cuando se provoca el evento Click del botón Eliminar, se elimina la fila seleccionada, a no ser que sea la fila para nuevos registros, que permite al usuario agregar nuevas filas. Esta fila siempre es la última fila del control DataGridView.
Tipos de Variables TIPO
COMENTARIO
BOOLEAN
Sólo admite 2 valores: TRUE o FALSE
BYTE
admite valores entre 0 y 255
INTEGER
admite valores entre -32768 y 32767
LONG
admite valores entre -2.147.483.648 y 2.147.483.647
SINGLE
admite valores decimales con precisión simple
DOUBLE
admite valores decimales de doble precisión
CURRENCY
válido para valores de tipo moneda
STRING
cadenas de caracteres
DATE
fechas, permite operar con ellas
7
Abreviaturas para los controles mas usados Abrev. chk
Control check box
Abrev.
Control
cbo
combo y drop- list box
cmd / btn command button
dir
dir list box
drv
drive list box
fil
file list box
frm
form
fra
frame
hsb
horizontal scroll bar
img
image
lbl
label
lin
line
lst
list
mnu
menu
opt
option button
pct
pictureBox
shp
shape
txt
text edit box
tmr
timer
vsb
vertical scroll bar
8