Download - Matrices Visual
-
7/24/2019 Matrices Visual
1/23
2015
DA.NO.VI
Univ. Noya Villa Daniel
[SECCIN MATRICES]Todo lo referente a la programacin de matrices en visual basic 2010
-
7/24/2019 Matrices Visual
2/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 2
NDICE
CONTENIDO PAGINA
nd ice 2
Introduccin 3
Lectu ra de una matr iz 7
Transpuesta de una matr iz 9
Gauss Jordan 12
Mult ipl icacin entre matr ices 15
Inv ersa de una matriz 18
Determinante de una matr iz 21
-
7/24/2019 Matrices Visual
3/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 3
1. INTRODUCCIN
Dentro de lo que son las matrices podremos hallar diferentes tipos de ejercicios,
aplicaciones y mtodos nosotros nos basaremos en la resolucin de dichas matrices y en la
programacin general para todo lo que vayamos necesitando para tal caso, para eso
iremos viendo primero conceptos y herramientas generales.
VARIABLES CON SUBNDICE
QUE SON ESTAS VARIABLES?
Las variables con subndice son aquellas que tiene un numero o ndice en la parte
inferior de la letra en si ejemplo:
() (,)
Don de puede variar desde 0 hasta N que pertenece solo a los nmeros enteros reales.Cmo se determinan o dimensionan en el Visual Basic .Net?
Este tipo de variables se dimensionan de la siguiente manera:
()
Dima(0 To100) AsSingle'Dimensionando la variable con subndice
En esta parte estamos diciendo que nuestra variable a va contener 100 datos distintos
(,)
Dim a(0 To 100, 0 To 100) As Single 'Dimensionando la variable con
subndice
En esta parte estamos diciendo que nuestra variable a va contener 10000 datos
distintos ya que tiene dos subndices si queremos ver en tipo matriz estaramos diciendo
que tiene 100 filas y 100 columnas, este tipo de variable es la que usaremos en todas
nuestras matrices
HERRAMIENTA DATAGRIDVIEW VISUAL BASIC .NET
QUE ES Y PARA QU SIRVE ESTA HERRAMIENTA?
Esta es una de las herramientas para trabajar con base de datos, el uso que lo
daremos nosotros ser para mostrar e introducir datos de nuestras matrices.
El DataGridView es un objeto que nos permite mostrar los campos de la tabla en
nuestra base de datos de una forma sencilla
-
7/24/2019 Matrices Visual
4/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 4
-
7/24/2019 Matrices Visual
5/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 5
COMO SE TRABAJA CON ESTA HERRAMIENTA?
Dentro de esta herramienta se puede crear columnas de tres mtodos diferentes:
Mtodo 1:
Dentro de la herramienta DataGridView en la parte superior derecho
hacemos clic y nos saldr el dialogo Tareas de DataGridView hacemos
clic en Agregar columnay luego hacemos clic en agregar hasta tener el
numero de columnas deseadas y luego hacemos clic en cerrar al momento
de cerrar observaremos que las columnas ya estn ingresadas mas una
fila pero en la parte del encabezado encontrar el texto siguiente Column 1
si queremos cambiar dicho texto solo tendremos que cambiarlo ya sea en
el momento de agregar columnas en la parte del Texto de encabezado o
caso contrario deberemos de hacer clic nuevamente en el men Tareas de
DataGridView y hacer clic en la parte que dice Editar columnas y ah
cambiar a nuestro gusto lo que nosotros queramos desde el ancho de las
columnas hasta el tipo de letra de cada una de ellas
-
7/24/2019 Matrices Visual
6/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 6
Para editar las columnas
Mtodo 2:
Para este mtodo usaremos dos contadores distintos es decir crearemos
las filas y columnas desde un botn o desde nuestra programacin.
DimN AsInteger'Determinando la variable para el numero delas filas y columnas de nuestro DataGridView
N = 5 'Usando un ejemplo de 5 filas y columnas
Fori = 1 ToN 'Usando el primer contador para crear las
columnas
DataGridView1.Columns.Add("Columna"+ Str(i), "")
'Creando las columnas una por una con su nombre respectivo
Next
En esta parte ("Columna"+ Str(i) debemos entender que estamos
dando un nombre a la columna eso es de manera obligado es por eso que
estamos jugando con la parte numeral para distinguir cada columna
adems en la parte que estn comillas sueltas ah podemos poner el
encabezado de cada columna, en la parte de abajo en las filas ya no es
necesario poner nada de lo anterior
Fori = 1 ToN - 1 'Usando el segundo contador para crear
las filas
DataGridView1.Rows.Add() 'Creando las filas una
por una
Next
-
7/24/2019 Matrices Visual
7/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 7
Mtodo 3:
Este es uno de los mtodos mas fciles que podremos hallar ya que en
solo dos filas de programacin podremos crear las filas y las columnas de
nuestro DataGridView
DimN AsInteger'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
N = 5 'Usando un ejemplo de 5 filas y columnas
DataGridView1.ColumnCount = N 'Creando las columnas
DataGridView1.RowCount = N 'Creando las filas
PARA QU SIRVE ESTA HERRAMIENTA?
Esta herramienta sirve como bien lo dijimos arriba para poder mostrar y leer datos
y trabajar en este caso con matrices, debemos mencionar que el verdadero uso
de esta herramienta se lo da para trabajar con base de datos.
2. LECTURA DE UNA MATRIZ:
Diagrama de flujo:
Inicio
m , n
i = 1 m
j = 1 n
a(i,j)
a(i,j)
Finalizar
-
7/24/2019 Matrices Visual
8/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 8
Codificacin:
Interface:
Cdigo:
DimN, M AsInteger'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
Dima(0 To100, 0 To100) 'Determinando la variable para los datos
a ller de la matriz
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
M = Val(TextBox2.Text) 'Valor de M columnas para la lectura y
creacion de la matriz
DataGridView1.ColumnCount = M 'Creando las columnas
DataGridView1.RowCount = N 'Creando las filas
For i = 1 To N 'Iniciando el primer contador (Fila) para la
lectura y para mostrar los datos
Forj = 1 ToM 'Iniciando el segundo contador (Columna) para la
lectura y para mostrar los datos
-
7/24/2019 Matrices Visual
9/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 9
a(i, j) = Val(InputBox("Digite el valor de a("+ Str(i) +
","+ Str(j) + "):", "Lectura de datos"))
'Realizando la lectura de los datos
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
'Mostrando los datos leidos en el DataGridView
Next
Next
3. TRANSPUESTA DE UNA MATRIZ:
Diagrama de flujo:
Inicio
m , n
i = 1 m
j = 1 n
a(i,j)
i = 1 n
j = 1 m
b(i,j)= a(j,i)
b(i,j)
Finalizar
-
7/24/2019 Matrices Visual
10/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 10
Codificacin:
Interface:
Cdigo:
DimN, M AsInteger'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
Dim a(0 To 100, 0 To 100), b(0 To 100, 0 To 100) As Single
'Determinando la variable para los datos a leer de la matriz
PrivateSubButton1_Click(ByValsender AsSystem.Object, ByVal
e AsSystem.EventArgs) HandlesButton1.Click
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
M = Val(TextBox2.Text) 'Valor de M columnas para la
lectura y creacion de la matriz
DataGridView1.ColumnCount = M 'Creando las columnas
-
7/24/2019 Matrices Visual
11/23
-
7/24/2019 Matrices Visual
12/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 12
4. GAUSS JORDAN:
Diagrama de flujo:
Inicio
n
i = 1 n
j = 1 n
a(i,j)
a(i,j+1)i = 1 n
j = 1 n
j i
Q = a(j,i) / a(i,i)
Si
k = 1 n + 1
a(j,k)= a(j,k) ( a(i,k)* Q )
No
i = 1 n
temp = a(i,i)
j = 1 n + 1
a(i,j)= a(i,j) / temp
i = 1 n
j = 1 n
a(i,j)
a(i,j+1) Finalizar
Codificacin:
Interface:
-
7/24/2019 Matrices Visual
13/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 13
Cdigo:
DimN AsInteger'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dimq, temp AsSingle'Variables para los datos alternos
Dima(0 To100, 0 To100) AsSingle'Determinando la variable para
los datos a leer de la matriz
PrivateSubButton1_Click(ByValsender AsSystem.Object, ByVale
AsSystem.EventArgs) HandlesButton1.Click
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
DataGridView1.ColumnCount = N + 1 'Creando las columnas
DataGridView1.RowCount = N 'Creando las filas
Fori = 1 ToN 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
Forj = 1 ToN 'Iniciando el segundo contador
(Columna) para la lectura y para mostrar los datos
a(i, j) = Val(InputBox("Digite el valor de los
datos dependientes("+ Str(i) + ","+ Str(j) + "):", "Lectura de
datos")) 'Realizando la lectura de los datos
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
'Mostrando los datos leidos en el DataGridView
Next
a(i, N + 1) = Val(InputBox("Digite el valor del dato
independiente "+ Str(i) + ":", "Lectura de datos")) 'Realizando
la lectura de los datos independientes
DataGridView1(N, i - 1).Value = ":"+ Str(a(i, N + 1))'Mostrando los datos leidos en el DataGridView
Next
EndSub
PrivateSubButton2_Click(ByValsender AsSystem.Object, ByVale
AsSystem.EventArgs) HandlesButton2.Click
-
7/24/2019 Matrices Visual
14/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 14
DataGridView2.RowCount = N
Fori = 1 ToN 'Iniciando el primer contador para trabajar
con las operaciones filas columnas
Forj = 1 ToN 'Iniciando el segundo contador para
trabajar con las operaciones filas columnas
Ifj i Then'Verificando que no sea datos de la
diagonal principal
q = a(j, i) / a(i, i) 'Operacion alterna
Fork = 1 ToN + 1 'Trabjando con las
operaciones filas columnas
a(j, k) = a(j, k) - (a(i, k) * q)
'Trabajando con las diagonales
Next
EndIf
Next
Next
Fori = 1 ToN 'Contador para volver la diagonal principal
en 1
temp = a(i, i) 'Buscando el dato de la diagonal
principal
Forj = 1 ToN + 1 'Contador para volver la diagonal
principal en 1
a(i, j) = a(i, j) / temp 'Dividiendo cada dato con
el valor de la diagonal principal
Next
NextFori = 1 ToN
DataGridView2(0, i - 1).Value = Str(a(i, N + 1))
'Mostrando el valor del resultado deseado
Next
EndSub
-
7/24/2019 Matrices Visual
15/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 15
5. MULTIPLICACIN ENTRE MATRICES:
Diagrama de flujo:
Inicio
m , n , p
i = 1 m
j = 1 n
a(i,j)
i = 1 n
j = 1 p
b(i,j)
i = 1 m
j = 1 p
c(i,j)= 0
k = 1 n
c(i,j)= c(i,j)+ a(i,k)* b(k,j)c(i,j)
Finalizar
Codificacin:
Interface:
-
7/24/2019 Matrices Visual
16/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 16
Cdigo:
DimM, N, P AsInteger'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
Dim a(0 To 100, 0 To 100), b(0 To 100, 0 To 100) As Single
'Determinando la variable para los datos a leer de la matriz
Dimc(0 To100, 0 To100) AsSingle'Dimensionando la varible para
la matriz resultado
Private SubButton1_Click(ByValsender AsSystem.Object, ByVal e
AsSystem.EventArgs) HandlesButton1.Click
M = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
N = Val(TextBox2.Text) 'Valor de N filas para la lectura y
creacion de la matriz
P = Val(TextBox3.Text) 'Valor de N filas para la lectura y
creacion de la matriz
DataGridView1.ColumnCount = N 'Creando las columnas
DataGridView1.RowCount = M 'Creando las filas
DataGridView2.ColumnCount = P 'Creando las columnas
DataGridView2.RowCount = N 'Creando las filas
Fori = 1 ToM 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For j = 1 To N 'Iniciando el segundo contador
(Columna) para la lectura y para mostrar los datos
a(i, j) = Val(InputBox("Digite el valor de la
matriz a("+ Str(i) + ","+ Str(j) + "):", "Lectura de datos"))
'Realizando la lectura de los datosDataGridView1(j - 1, i - 1).Value = Str(a(i, j))
'Mostrando los datos leidos en el DataGridView
Next
Next
-
7/24/2019 Matrices Visual
17/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 17
Fori = 1 ToN 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For j = 1 To P 'Iniciando el segundo contador
(Columna) para la lectura y para mostrar los datos
b(i, j) = Val(InputBox("Digite el valor de la
matriz b("+ Str(i) + ","+ Str(j) + "):", "Lectura de datos"))
'Realizando la lectura de los datos
DataGridView2(j - 1, i - 1).Value = Str(b(i, j))
'Mostrando los datos leidos en el DataGridView
Next
Next
EndSub
PrivateSubButton2_Click(ByValsender AsSystem.Object, ByVal
e AsSystem.EventArgs) HandlesButton2.Click
DataGridView3.ColumnCount = P 'Creando las columnas
DataGridView3.RowCount = M 'Creando las filas
Fori = 1 ToM 'Iniciando el contador para trabajar con
las operaciones multiplicacion y suma
Forj = 1 To P 'Iniciando el contador para trabajar
con las operaciones multiplicacion y suma
c(i, j) = 0 'Iniciando un acumulador
For k = 1 To N 'Contador para el trabajo del
acumulador
c(i, j) = c(i, j) + (a(i, k) * b(k, j))
'Realizando el calculo de la operacion fila columna
NextDataGridView3(j - 1, i - 1).Value = Str(c(i, j))
'Mostrando el resultado final
Next
Next
EndSub
-
7/24/2019 Matrices Visual
18/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 18
6. INVERSA DE UNA MATRIZ:
Diagrama de flujo:
Inicio
n
i = 1 n
j = 1 n
a(i,j)
i = j a(i,j + n) = 1Si
a(i,j + n) = 0
No
i = 1 n
j = 1 n
i j
Q = a(j,i)/ a(i,i)
Si
k = 1 2 * n
a(j,k)= a(j,k)- a(i,k) * Q
No
i = 1 n
j = 1 2 * n
temp = a(i,j)
a(i,j) = a(i,j)/ temp
i = 1 n
j = n + 1 2 * n
a(i,j)
Finalizar
Codificacin:
Interface:
-
7/24/2019 Matrices Visual
19/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 19
Cdigo:
DimN AsInteger'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dima(0 To100, 0 To100) AsSingle'Determinando la variable para
los datos a leer de la matriz
Dimq, temp AsSingle'Dimensionando la varible auxiliares
Private SubButton1_Click(ByValsender AsSystem.Object, ByVal e
AsSystem.EventArgs) HandlesButton1.Click
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
DataGridView1.ColumnCount = N 'Creando las columnas
DataGridView1.RowCount = N 'Creando las filas
Fori = 1 ToN 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For j = 1 To N 'Iniciando el segundo contador
(Columna) para la lectura y para mostrar los datos
a(i, j) = Val(InputBox("Digite el valor de la
matriz a("+ Str(i) + ","+ Str(j) + "):", "Lectura de datos"))
'Realizando la lectura de los datos
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
'Mostrando los datos leidos en el DataGridView
Ifj = i Then'Creando la matriz aumentada
a(i, j + N) = 1 'Colocando los valores a la
diagonal principal de nuestra matriz aumentada
Else
a(i, j + N) = 0 'Colocando los valores a losdemas datos de la matriz aumentada
EndIf
Next
Next
EndSub
-
7/24/2019 Matrices Visual
20/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 20
Private SubButton2_Click(ByValsender AsSystem.Object, ByVal e
AsSystem.EventArgs) HandlesButton2.Click
DataGridView2.ColumnCount = N 'Creando las columnas
DataGridView2.RowCount = N 'Creando las filas
Fori = 1 ToN 'Iniciando el primer contador para trabajar
con las operaciones filas columnas
For j = 1 To N 'Iniciando el segundo contador para
trabajar con las operaciones filas columnas
Ifj i Then'Verificando que no sea datos de la
diagonal principal
q = a(j, i) / a(i, i) 'Operacion alterna
For k = 1 To N * 2 'Trabjando con las
operaciones filas columnas
a(j, k) = a(j, k) - (a(i, k) * q)
'Trabajando con las diagonales
Next
EndIf
Next
Next
Fori = 1 ToN 'Contador para volver la diagonal principal
en 1
temp = a(i, i) 'Buscando el dato de la diagonal
principal
Forj = 1 ToN * 2 'Contador para volver la diagonal
principal en 1
a(i, j) = a(i, j) / temp 'Dividiendo cada dato conel valor de la diagonal principal
Next
Next
For i = 1 To N 'Contador para mostrar la inversa de la
matriz
-
7/24/2019 Matrices Visual
21/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 21
For j = N + 1 To N * 2 'Contador para mostrar la
inversa de la matriz
DataGridView2(j - (N + 1), i - 1).Value = Str(a(i,
j)) 'Mostrando la inversa de la matriz
Next
Next
EndSub
7. DETERMINANTE DE UNA MATRIZ:
Diagrama de flujo:
Inicio
N
i = 1 N
j = 1 N
a(i,j)
i = 1 N
j = 1 N
j i
Q = a(j,i) / a(i,i)
Si
k = 1 N
a(j,k)= a(j,k) ( a(i,k)* Q )
No
det = 1
i = 1 N
det = det * a(i,i)
det
Finalizar
Codificacin:
Interface:
-
7/24/2019 Matrices Visual
22/23
Seccin Matrices
Univ. Noya Villa Daniel Pgina 22
Codigo:
DimN AsInteger'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dima(0 To100, 0 To100) AsSingle'Determinando la variable para
los datos a leer de la matriz
Dimq, det AsSingle'Dimensionando la varible auxiliares
Private SubButton1_Click(ByValsender AsSystem.Object, ByVal e
AsSystem.EventArgs) HandlesButton1.Click
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
DataGridView1.ColumnCount = N 'Creando las columnas
DataGridView1.RowCount = N 'Creando las filas
Fori = 1 ToN 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For j = 1 To N 'Iniciando el segundo contador
(Columna) para la lectura y para mostrar los datos
a(i, j) = Val(InputBox("Digite el valor de la
matriz a("+ Str(i) + ","+ Str(j) + "):", "Lectura de datos"))
'Realizando la lectura de los datos
DataGridView1(j - 1, i - 1).Value = Str(a(i, j))
'Mostrando los datos leidos en el DataGridView
Next
Next
EndSub
Private SubButton2_Click(ByValsender AsSystem.Object, ByVal e
AsSystem.EventArgs) HandlesButton2.ClickFori = 1 ToN 'Iniciando el primer contador para trabajar
con las operaciones filas columnas
For j = 1 To N 'Iniciando el segundo contador para
trabajar con las operaciones filas columnas
-
7/24/2019 Matrices Visual
23/23
Seccin Matrices
Univ Noya Villa Daniel Pgina 23
Ifj i Then'Verificando que no sea datos de la
diagonal principal
q = a(j, i) / a(i, i) 'Operacion alterna
Fork = 1 ToN 'Trabjando con las operaciones
filas columnas
a(j, k) = a(j, k) - (a(i, k) * q)
'Trabajando con las diagonales
Next
EndIf
Next
Next
det = 1 'Acumulador para la determinante
Fori = 1 ToN 'Contador para calcular el determinante
det = det * a(i, i) 'Calculando el determinante
mediante la diagonal principal
Next
TextBox2.Text = Str(det) 'Mostrando el determinante
EndSub