Matrices - VB
Matrices - VB
MATRICES
INTEGRANTES:
2022
BELLAVISTA – CALLAO
ÍNDICE
INTRODUCCIÓN
CAPÍTULO I: MARCO TEÓRICO
1.1 Definición
a) Características
Se le conocen comúnmente como matrices, pero también como arreglos
bidimensionales
Los arreglos bidimensionales son aquellos que tienen dos dimensiones y,
en consecuencia, se manejan con dos índices, se puede ver también como
un arreglo de arreglos.
La primera dimensión establece la cantidad de filas. (I)
La segunda dimensión establece la cantidad de columnas. (J)
Al igual que en los arreglos de una dimensión, todos tipos de datos de ser
del mismo tipo y estar relacionada.
mxn
Cada elemento del arreglo a se identifica en la figura con el nombre del elemento
de la forma a [ i ][ j ] tal como se hacía con los vectores a[ i ].
Observe que los elementos en la primera fila tienen un primer subíndice 0; los
nombres de los elementos en la cuarta columna tienen un segundo subíndice 3.
Donde:
Sin embargo, para declarar la matriz en Visual Basic se debe hacer de la siguiente
manera
Sentencia Dim
Donde:
Matriz de 9 espacios
Figura 3.
Matriz de 9 valores
Puede tener acceso a cada ubicación en una matriz mediante un índice del
tipo Integer. Puede almacenar y recuperar los valores en una matriz haciendo referencia
a cada ubicación de la matriz usando su índice entre paréntesis. Los índices de matrices
multidimensionales están separados por comas (,). Necesita un índice para cada
dimensión de la matriz.
¿Cómo se guardan los elementos en un arreglo bidimensional?
nombreDelArreglo(
posicionFila,
Figura 4.
Matriz K
Ejemplo 2: Se desea insertan los siguientes nombres: Oscar, Sarah, Jhon y Andrea
en una matriz de 2 x2
nombres(0,0) =“Oscar”;
nombres(0,1) =“Sarah”;
nombres(1,0) =“Jhon”;
nombres(1,1) =“Andrea”;
Figura 5.
Matriz de nombres
Figura 6.
Para recorrer la matriz también utilizaremos el bucle while, al igual que para
recorrer un vector. Podemos recorrer la matriz por filas o por columnas. La manera de
hacerlo dependerá del ejercicio.
For
Ejemplo. Para el ejercicio del arreglo llamado matriz, los datos que imprime son:
{{"10", "5","1"}, {"23", "9","7"}.
Figura 7.
Matriz de 6 valores
'CARGA DE LA MATRIZ:
For C = 0 To 2
For F = 0 To 1
Console.WriteLine()
Figura 8.
Ciclos
Nota. Figura reproducida de la referencia []
Para imprimir primero las columnas y luego las filas se intercambian los ciclos. El
ciclo externo se deja para las columnas y el interno para las filas.
Si bien tanto ReDim como ReDim Preserve se pueden usar en arrays de cualquier
número de dimensiones, en los arrays de más de una dimensión solamente podemos
cambiar el tamaño de la última dimensión.
Hay varios aspectos que se deben tener en cuenta cuando se trabaja con el tamaño
de una matriz.
Tabla 1
En Visual Basic hay dos tipos de matrices: matrices estáticas que tiene siempre el
mismo tamaño y matrices dinámicas cuyo tamaño cambia en tiempo de ejecución.
Ambas serán estudiadas con detalle en este mismo capítulo.
1.7.1Matrices estáticas
Para declarar una matriz estática (matriz con un número fijo de elementos),
Visual Basic hace tres consideraciones importantes:
Cuando las dimensiones de una matriz no son siempre las mismas, la mejor
forma de especificarlas es mediante variables. Una matriz declarada de esta
forma es una matriz dinámica. El espacio necesario para una matriz estática se
asigna al iniciarse la aplicación y permanecerá fijo. En cambio, el espacio para
una matriz dinámica será asignado durante la ejecución de la aplicación. Una
matriz dinámica puede ser redimensionada en cualquier momento durante la
ejecución. Para crear una matriz dinámica:
- Declare la matriz en la sección de declaraciones de módulo con una sentencia
Public si se quiere global o con Private o Dim. Si la quiere al nivel del módulo, o
en procedimiento con Static o Dim si la quiere local. Para especificar que la
matriz va a ser dinámica deje la lista de dimensiones vacía. Por ejemplo:
Cada vez que se ejecuta la sentencia ReDim, todos los valores almacenados
en la matriz se pierden. Visual Basic restablece los valores del valor Empty en
matrices Variant, a cero en matrices numéricas, a una cadena de longitud cero en
matrices de cadenas, o a Nothing en matrices de objetos. Cuando le interese
cambiar el tamaño de la matriz conservando los valores de la misma los valores
de la misma, ejecute ReDim con la palabra clave Preserve.
CAPÍTULO II: DESARROLLO DEL TEMA
EJERCICIOS PROPUESTOS
ALUMNO 0 13 13
ALUMNO 1 11 11
ALUMNO 2 8 20
ALUMNO 3 11 15
ALUMNO 4 8 8
ALUMNO 5 2 14
ALUMNO 6 16 2
ALUMNO 7 12 14
ALUMNO 8 14 16
ALUMNO 9 17 17
ALUMNO 10 11 19
ALUMNO 11 14 10
Diagrama de flujo:
SOLUCIÓN:
Module Program
Sub Main (args As String ())
Dim NOTA (11, 1), F, C, NMAYOR, APROBADOS, DESAPROBADOS As Integer
Dim promedio, suma As Double
Dim NMENOR = 9999
'CARGA DE LA MATRIZ:
For C = 0 To 1
For F = 0 To 11
Console.WriteLine("INGRESE A LA FILA => " & F & " COLUMNA => " & C)
NOTA (F, C) = Console.ReadLine
Next
Next
'CALCULAMOS LO QUE NOS PIDEN:
For F = 0 To 11
For C = 0 To 1
suma = suma + NOTA (F, C)
Next
promedio = suma / C
Console.WriteLine("Los promedios serían " & promedio)
If promedio < 13 Then
DESAPROBADOS = DESAPROBADOS + 1
Else
APROBADOS = APROBADOS + 1
End If
If NMAYOR < promedio Then
NMAYOR = promedio
End If
If promedio < NMENOR Then
NMENOR = promedio
End If
suma = 0
promedio = 0
Next
Console.WriteLine("LA CANTIDAD DE DESAPROBADOS ES: " & DESAPROBADOS)
Console.WriteLine("LA MENOR NOTA REGISTRADA ES: " & NMENOR)
Console.WriteLine("LA CANTIDAD DE APROBADOS ES: " & APROBADOS)
Console.WriteLine("LA MAYOR NOTA REGISTRADA ES: " & NMAYOR)
Console.ReadLine()
End Sub
End Module
2. Hacer un programa en el cual el usuario introduzca 16 numeros que esten en el rango
de 0 a 50, calcular los valores de la diagonal principal y la suma de la diagonal
principal.
Diagrama de flujo:
SOLUCIÓN:
End Sub
https://www.programarya.com/Cursos/Visual-Basic/Estructuras-de-
Datos/Arrays-y-Matrices
http://www.euskalnet.net/jaoprogramador/manuales/vbman/
vb04.htm#estaticas