0% encontró este documento útil (0 votos)
52 vistas21 páginas

Matrices - VB

Este documento presenta información sobre matrices o arreglos bidimensionales. Define una matriz como un arreglo de datos de tamaño m x n que contiene el mismo tipo de datos e identifica los elementos de una matriz mediante dos subíndices que indican la fila y la columna. Explica cómo declarar e inicializar una matriz, cómo almacenar y acceder a valores, y cómo recorrer una matriz mediante ciclos anidados. Finalmente, discute el tamaño de una matriz y cómo cambiarlo usando las instrucciones ReDim y ReDim Preserve en Visual Basic.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas21 páginas

Matrices - VB

Este documento presenta información sobre matrices o arreglos bidimensionales. Define una matriz como un arreglo de datos de tamaño m x n que contiene el mismo tipo de datos e identifica los elementos de una matriz mediante dos subíndices que indican la fila y la columna. Explica cómo declarar e inicializar una matriz, cómo almacenar y acceder a valores, y cómo recorrer una matriz mediante ciclos anidados. Finalmente, discute el tamaño de una matriz y cómo cambiarlo usando las instrucciones ReDim y ReDim Preserve en Visual Basic.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 21

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENERIA QUMICA

MATRICES

DOCENTE: Trujillo Pérez Salvador Apolinar

INTEGRANTES:

Carlos Retamozo Marcos Anthony

Chuquirimay Rojas Brenda Carol

Guerrero Astohuamán Dayanne Nicole

Quintana Rodriguez Luis Javier

Vara Surco Victor

2022

BELLAVISTA – CALLAO
ÍNDICE
INTRODUCCIÓN
CAPÍTULO I: MARCO TEÓRICO

MATRICES O ARREGLOS BIDIMENSIONALES

1.1 Definición

Es una matriz de datos de tamaño m x n que contiene información almacenada del


mismo tipo de datos. Este tipo de arreglos necesita dos subíndices para ser declarado o
para acceder a la información de un elemento en específico, a diferencia de una matriz
unidimensional que solo necesita un subíndice. Un arreglo bidimensional es utilizado
cuando queremos guardar mucha información sobre un tipo de dato en específico
(Solución Ingenieril, 2017)

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.

1.2 Elementos de una matriz

Para identificar los elementos de la matriz, se utilizan dos subíndices:

 El primer subíndice, indica la fila donde se ubica.


 El segundo subíndice, indica en que columna se encuentra.

En general, a un arreglo con m filas y n columnas se llama arreglo de m por n, así:

mxn

En la Figura 1 se muestra un arreglo A con doble subíndice. Este arreglo contiene


tres filas y cuatro columnas, de manera que se dice que es un arreglo de 3 por 4
Figura 1.

Definición de los elementos de un arreglo bidimensional

Nota. Figura reproducida de la referencia []

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 ].

 A es el nombre del arreglo.


 i, j son los subíndices que identifican de manera única a cada elemento de A.

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.

1.3. Declaración e Inicialización de una matriz

La declaración de una matriz especifica el nombre de la matriz, el número de elementos


de la lista y el tipo de éstos. En función del número de dimensiones, distinguimos entre
matrices unidimensionales y multidimensionales.
tipo_dato nombre_arreglo [tamaño_fila][tamaño_columna]

Donde:

 tipo_dato: Nos referimos al tipo de dato que estaremos manejando en el


arreglo, puede ser string, int, double, etc.

 nombre_arreglo: El nombre con el que identificaremos nuestra matriz.

 tamaño_fila: La cantidad de filas que tendrá nuestra matriz.

 tamaño_columna: La cantidad de columnas que tendrá nuestra matriz.


La única diferencia entre esta definición y la que se requiere para un arreglo
unidimensional se encuentra dentro de la especificación del tamaño. Se debe especificar
el tamaño de filas y columnas, como se muestra.

Sin embargo, para declarar la matriz en Visual Basic se debe hacer de la siguiente
manera

Sentencia Dim

La sentencia Dim, además de para declarar variables, se puede utilizar también


para declarar matrices. Su sintaxis es:

Dim variable[(dims)][As tipo][variable[(dims)][as tipo]]...

Donde:

 variable es un identificador que nombra la matriz.

 dims es una de expresiones numéricas, separadas por comas y que definen


las dimensiones de una matriz. Esta lista puede ser de la forma siguiente:

[inferior to]superior[,[inferior to]superior]...

 As tipo define el tipo de variable. Puede ser un tipo simple(integer, log,


single, double, string, etc.) o un tipo definido por el usuario.

Por ejemplo, la siguiente línea de código define una matriz bidimensional de 3


filas y 3 columnas de nombre “matriz” de tipo Integer , lo haríamos de la siguiente
manera:

Dim matriz(3,3) as Integer

Esta matriz tendría 9 espacios para guardar información (3x3), y gráficamente lo


veríamos de la siguiente manera en la Figura 2:
Figura 2.

Matriz de 9 espacios

Nota. Figura reproducida de la referencia []

Inicialización de una matriz

Podemos inicializar un arreglo bidimensional al momento de declararlo, indicando


los valores que queremos entre corchetes y separados por coma, por ejemplo:

Dim nombres(,) As Integer = {{"1", "2","3"}, {"5", "6","7"}, {"9", "10","11"} }

Y gráficamente los valores estarían guardados de la siguiente manera:

Figura 3.

Matriz de 9 valores

Nota. Figura reproducida de la referencia []

1.4 Almacenamiento de valores de una matriz

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?

Debe indicar la posición de la fila y de la columna donde va a almacenar el dato

nombreDelArreglo(
posicionFila,

Se utiliza el nombre de la matriz, seguido de paréntesis cuadrado con el número


de la fila y posteriormente otro paréntesis cuadrado con el número de la columna.

Ejemplo 1: Si se desea ingresar el valor 6 en la fila 2, columna 3, de la matriz K,


se haría así:
K (3,2) = 6

Figura 4.

Matriz K

Nota. Figura reproducida de la referencia []

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

Nota. Figura reproducida de la referencia []

1.5 Recorrido de una matriz

Se utilizan loops anidados (uno dentro de otro), preferiblemente los contadores


automáticos. El primer loop se mueve a través de las filas y el segundo loop se mueve a
través de las columnas.

Figura 6.

Llenar el Arreglo – Matriz

Nota. Figura reproducida de la referencia []

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

Es necesario utilizar dos ciclos repetitivos para recorrer un arreglo bidimensional,


uno para las filas y uno para las columnas. Un ciclo se incluye dentro del otro. 

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

Nota. Figura reproducida de la referencia []

'CARGA DE LA MATRIZ:
For C = 0 To 2
For F = 0 To 1
Console.WriteLine()

- El ciclo externo recorre las filas 


- El ciclo interno recorre las columna

Mientras la variable externa F (fila) hace una iteración, la variable interna C


(columna), recorre todas las columnas.

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.

1.6 Tamaño de una matriz

El tamaño de una matriz es el producto de las longitudes de todas sus


dimensiones. Representa el número total de elementos contenidos actualmente en la
matriz.

Para cambiar el tamaño de un array, usaremos la instrucción ReDim, pero no


podemos usar ReDim para definir un array, en Visual Basic siempre hay que declarar
previamente los arrays antes de cambiarles el tamaño.

Lo que también podemos hacer en Visual Basic es cambiar el tamaño de un array


y mantener los valores que tuviera anteriormente, para lograrlo debemos usar ReDim
Preserve.

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

Tamaño de una matriz


El índice de cada dimensión se basa en 0, lo que significa que
Longitud de la va de 0 a su límite superior. Por lo tanto, la longitud de una
dimensión dimensión determinada es una mayor que el límite superior
declarado de esa dimensión.
La longitud de cada dimensión de una matriz se limita al valor
Límites de máximo del Integer tipo de datos. Sin embargo, el tamaño total
longitud de una matriz también está limitado por la memoria disponible
en el sistema.
El tamaño de la matriz es independiente del tipo de datos de sus
Tamaño y tamaño elementos. El tamaño siempre representa el número total de
de elemento elementos, no el número de bytes que consumen en memoria.
Nota. Datos tomados ….

1.7 Tipos de matrices

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:

- Para declarar una matriz global, hágalo en la sección de declaraciones de un


módulo utilizando la sentencia públic.
         Public temp(59) as integer
- Para declarar una matriz a nivel de módulo, hágalo en la sección
declaraciones del módulo utilizando la sentencia Private o Dim.
        Private temp(59) as integer
- Para declarar una matriz local a un procedimiento, utilice la sentencia Dim o
Static dentro del propio procedimiento.
        Dim temp(59) as integer

A diferencia de otras versiones de Basic, Visual Basic no permite declarar


implícitamente una matriz. Una matriz tiene que ser declarada explícitamente,
y los índices de los mismos deben estar en el rango
        Dim Matriz_A(19) as string

1.7.2 Matrices dinámicas

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:

          Dim Matriz_A ()

- Asigne un número actual de elementos con la sentencia ReDim. Se supone que


N está definida previamente.

          ReDim Matriz_A (N + 1)

La sentencia Redim puede aparecer solamente en un procedimiento y permite


cambiar el número de elementos de la matriz, no el número de dimensiones. Sin
embargo, no puede declarar una matriz de un tipo de datos y luego usar ReDim
para cambiar la matriz a otro tipo de datos.

        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

1. Se rindió un examen de selección en el aula de 5to de secundaria en el cual los que


aprueben pasarán a un círculo de estudio. Realizar un programa que determine el
número de aprobados, desaprobados, la mayor nota y menor nota sobre las notas todos
los alumnos. Tener en cuenta que la nota mínima para aprobar es de 13.

 NOTA (F,C) EXAMEN 1 EXAMEN 2

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:

Public Class Form1


Private Sub Button1_Click (sender As Object, e As EventArgs) Handles
Button1.Click
Dim arreglo_bi (4, 4)
Dim i, j As Integer
Dim contar As Integer
Dim promt As String = "Arreglo Bidimensional"
Dim mensaje As String = "Leer elemento del arreglo Bidimensional"
Dim TEXTO As TextBox () = New TextBox () {TextBox1, TextBox2, TextBox3,
TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11,
TextBox12, TextBox13, TextBox14, TextBox15, TextBox16}
Dim S1, S2, S3, S4, SUMA As Integer
Dim R1, R2, R3, R4 As Integer
contar = 0
For i = 0 To 3
For j = 0 To 3
arreglo_bi (j, i) = InputBox (mensaje, promt)
TEXTO (contar). Text = arreglo_bi (j, i)
contar = contar + 1
If arreglo_bi (j, i) < 0 Or arreglo_bi (j, i) > 50 Then
MsgBox ("Ingresar un numero valido")
End If
If arreglo_bi (j, i) = arreglo_bi (0, 0) Then
S1 = arreglo_bi (j, i)
End If
If arreglo_bi (j, i) = arreglo_bi (1, 1) Then
S2 = arreglo_bi (j, i)
End If
If arreglo_bi (j, i) = arreglo_bi (2, 2) Then
S3 = arreglo_bi (j, i)
End If
If arreglo_bi (j, i) = arreglo_bi (3, 3) Then
S4 = arreglo_bi (j, i)
End If
R1 = Val (TextBox1.Text)
R2 = Val (TextBox6.Text)
R3 = Val (TextBox11.Text)
R4 = Val (TextBox16.Text)
Next j
Next i
TextBox1.BackColor = Color.GreenYellow
TextBox6.BackColor = Color.GreenYellow
TextBox11.BackColor = Color.GreenYellow
TextBox16.BackColor = Color.GreenYellow
SUMA = S1 + S2 + S3 + S4
TextBox17.Text = R1
TextBox18.Text = R2
TextBox19.Text = R3
TextBox20.Text = R4
TextBox21.Text = SUMA
End Sub

Private Sub Button2_Click (sender As Object, e As EventArgs) Handles


Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""
TextBox13.Text = ""
TextBox14.Text = ""
TextBox15.Text = ""
TextBox16.Text = ""
TextBox17.Text = ""
TextBox18.Text = ""
TextBox19.Text = ""
TextBox20.Text = ""
TextBox21.Text = ""

End Sub

Private Sub Button3_Click (sender As Object, e As EventArgs) Handles


Button3.Click
End
End Sub
End Class
3.
REFERENCIAS

 https://www.programarya.com/Cursos/Visual-Basic/Estructuras-de-
Datos/Arrays-y-Matrices
 http://www.euskalnet.net/jaoprogramador/manuales/vbman/
vb04.htm#estaticas

También podría gustarte