lunes, 26 de noviembre de 2007

el blog mas rapido

aqui esta el trabajo no esta editado y es para que le saquen pero aqui esta casi toda la informacion

Matrices en Visual Basic

Al utilizar matrices, puede emplear el mismo nombre para hacer referencia a distintos valores gracias a la utilización de un número denominado índice o subíndice que permite distinguirlos. Las matrices pueden reducir y simplificar el código, permitiendo crear bucles que gestionan de forma eficiente cualquier número de elementos.

m Una matriz es un conjunto de valores relacionados lógicamente entre sí, como el número de estudiantes de cada curso en una escuela primaria.

Una matriz permite hacer referencia a estos valores relacionados mediante un mismo nombre y utilizar un número, denominado índice o subíndice, para distinguirlos. Los valores individuales se llaman elementos de la matriz. Son contiguos desde el índice 0 hasta el valor del índice superior.

m En el ejemplo siguiente se declara una variable de matriz para que contenga el número de estudiantes de cada curso en una escuela primaria.

Dim students(6) As Integer

La matriz students del ejemplo anterior contiene 7 elementos. Los índices de los elementos van de 0 a 6. Tener esta matriz es más fácil que declarar 7 variables diferentes.

En la siguiente ilustración se muestra la matriz students. Para cada elemento de la matriz:

· El índice del elemento representa el curso (el índice 0 representa el jardín de infancia).

· El valor contenido en el elemento representa el número de estudiantes en ese curso.

Elementos de la matriz "students"

Imagen de una matriz que muestra el número de estudiantes

m En el ejemplo siguiente se muestra cómo hacer referencia al primer, segundo y último elemento de la matriz students.

Dim kindergarten As Integer = students(0)
Dim firstGrade As Integer = students(1)
Dim sixthGrade As Integer = students(6)
MsgBox("Students in kindergarten = " & CStr(kindergarten))
MsgBox("Students in first grade = " & CStr(firstGrade))
MsgBox("Students in sixth grade = " & CStr(sixthGrade))

m Puede hacer referencia a la matriz en conjunto utilizando simplemente el nombre de la variable de la matriz sin índices.

Tipos de matriz y otros tipos

Tipos de datos

m Cada matriz tiene un tipo de datos pero no es igual que el tipo de datos de sus elementos. Por ejemplo, la matriz students del ejemplo anterior es de tipo Integer(), mientras que cada uno de sus elementos es de tipo Integer. La notación Integer() significa una matriz de elementos Integer. Para obtener más información, consulte Tipos de datos de matrices en Visual Basic.

m Cada matriz hereda de la clase System.Array y puede declarar una variable que sea de tipo Array pero no puede crear una matriz de tipo Array. Asimismo, Instrucción ReDim (Visual Basic) no puede funcionar en una variable declarada de tipo Array. Por estas razones y para mayor seguridad del tipo, es aconsejable declarar cada matriz como un tipo específico, como por ejemplo Integer en el ejemplo anterior.

Dimensiones de matriz

m La matriz students del ejemplo anterior utiliza un índice y se dice que es unidimensional. Una matriz que utiliza más de un índice o subíndice se denomina multidimensional.

m Otro tipo de matriz es el que contiene otras matrices como elementos. Esto se conoce como una matriz de matrices o una matriz escalonada. Una matriz escalonada puede ser unidimensional o multidimensional, y lo mismo sucede con sus elementos.

Contrastar tipos

m A diferencia de una matriz, una variable que contiene un único valor se llama variable escalar

Una dimensión es una dirección en la que puede variar la especificación de los elementos de una matriz. Una matriz que contiene el total de ventas de todos los días del mes tiene una dimensión (el día del mes). Una matriz que contiene el total de ventas por departamento de todos los días del mes tiene dos dimensiones (el número del departamento y el día del mes). El número de dimensiones que tiene una matriz se denomina rango.

Trabajar con dimensiones

Para especificar un elemento de una matriz, proporcione un índice o un subíndice para cada una de sus dimensiones. Los elementos son contiguos a lo largo de cada dimensión del índice 0 al índice más alto para esa dimensión.

Las ilustraciones siguientes muestran la estructura conceptual de matrices con rangos diferentes. Cada elemento de las ilustraciones muestra los valores de índice que tienen acceso a él. Por ejemplo, puede tener acceso al primer elemento de la segunda fila de la matriz bidimensional especificando los índices (1, 0).

Matriz unidimensional

Diagrama de gráfico de matriz unidimiensional

Matriz bidimensional

Diagrama de gráfico de matriz bidimiensional

Matriz tridimensional

Diagrama de gráfico de matriz tridimiensional

Una dimensión

Muchas matrices tienen sólo una dimensión, como el número de personas de cada edad. El único requisito para especificar un elemento es la edad para la que ese elemento contiene el recuento. Por lo tanto, este tipo de matriz utiliza sólo un índice. El ejemplo siguiente declara una variable para que contenga una matriz unidimensional de recuentos de edad para edades de 0 a 120.

Dim ageCounts(120) As UInteger

Dos dimensiones

Algunas matrices tienen dos dimensiones, como el número de oficinas de cada planta de todos los edificios de un campus. La especificación de un elemento requiere el número del edificio y de la planta, y cada elemento contiene el recuento para esa combinación de edificio y planta. Por consiguiente, este tipo de matriz utiliza dos índices. El ejemplo siguiente declara una variable para que contenga una matriz bidimensional de recuentos de oficinas para 0 a 40 edificios y 0 a 5 plantas.

Dim officeCounts(40, 5) As Byte

Una matriz bidimensional también se denomina matriz rectangular.

Tres dimensiones

Algunas matrices tienen tres dimensiones, como los valores de un espacio tridimensional. Este tipo de matriz utiliza tres índices que, en este caso, representan las coordenadas x, y y z del espacio físico. El ejemplo siguiente declara una variable para que contenga una matriz tridimensional de las temperaturas del aire en distintos puntos de un volumen tridimensional.

Dim airTemperatures(99, 99, 24) As Single

Más de tres dimensiones

Aunque una matriz puede tener hasta un máximo de 32 dimensiones, es raro que tenga más de tres.

NoteNota

Cuando se agregan dimensiones a una matriz, el espacio total necesario para guardar la matriz aumenta considerablemente; por ello, debe utilizar las matrices multidimensionales con prudencia.

Uso de dimensiones diferentes

Suponga que desea realizar el seguimiento de las cantidades de ventas de todos los días del mes actual. Es posible que desee declarar una matriz unidimensional con 31 elementos, uno por cada día del mes, tal como muestra el ejemplo siguiente.

Dim salesAmounts(30) As Double

Ahora, suponga que desea realizar el seguimiento de la misma información no sólo para todos los días del mes sino también para todos los meses del año. Puede declarar una matriz bidimensional con 12 filas (para los meses) y 31 columnas (para los días), tal como muestra el ejemplo siguiente.

Dim salesAmounts(11, 30) As Double

Ahora, suponga que decide mantener la información en la matriz durante más de un año. Si desea realizar el seguimiento de las cantidades de ventas durante 5 años, puede declarar una matriz tridimensional con 5 capas, 12 filas y 31 columnas, tal como muestra el ejemplo siguiente.

Dim salesAmounts(4, 11, 30) As Double

Tenga en cuenta que, debido a que un índice varía de 0 a su máximo, las dimensiones de salesAmounts se declaran como una menos que la longitud necesaria para esa dimensión. Observe igualmente que el tamaño de la matriz aumenta con cada nueva dimensión. Los tres tamaños de los ejemplos anteriores son respectivamente 31, 372 y 1.860 elementos.

4 comentarios:

azrael dijo...

o simon chato y migu ya no les paso tareas creo que este post estara por el rato despues lo voy a quitar bwajaja

Metatrón dijo...

la verdad creo que esto de las matrices estade mas urizen

urizen dijo...

creo que si

isaccel dijo...

el chato se paso de domokun hoy seria bueno publicar algo de el