Beruflich Dokumente
Kultur Dokumente
DA.NO.VI
Univ. Noya Villa Daniel
[SECCIN MATRICES]
Todo lo referente a la programacin de matrices en visual basic 2010
Seccin Matrices
NDICE
CONTENIDO
PAGINA
ndice
Introduccin
Gauss Jordan
12
15
18
21
Pgina 2
Seccin Matrices
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.
()
(,)
Don de i 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:
()
Dim a(0 To 100) As Single '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
Pgina 3
Seccin Matrices
Pgina 4
Seccin Matrices
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 columna y 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
Pgina 5
Seccin Matrices
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.
Dim N As Integer 'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
N = 5 'Usando un ejemplo de 5 filas y columnas
For i = 1 To N '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
For i = 1 To N - 1 'Usando el segundo contador para crear
las filas
DataGridView1.Rows.Add() 'Creando las filas una
por una
Next
Pgina 6
Seccin Matrices
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
Dim N As Integer '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=1m
Finalizar
j=1n
a(i,j)
a(i,j)
Univ. Noya Villa Daniel
Pgina 7
Seccin Matrices
Codificacin:
Interface:
Cdigo:
Dim N, M As Integer 'Determinando la variable para el numero de
las filas y columnas de nuestro DataGridView
Dim a(0 To 100, 0 To 100) 'Determinando la variable para los datos
a ller de la matriz
N = Val(TextBox1.Text)
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
Pgina 8
Seccin Matrices
a(i, j) = Val(InputBox("Digite el valor de a(" + Str(i) +
"," + Str(j) +
Inicio
m,n
i=1m
i=1n
Finalizar
j=1n
j = 1 m
a(i,j)
b(i,j) = a(j,i)
b(i,j)
Pgina 9
Seccin Matrices
Codificacin:
Interface:
Cdigo:
Dim N, M As Integer '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
Private Sub Button1_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button1.Click
N = Val(TextBox1.Text) 'Valor de N filas para la lectura y
creacion de la matriz
M
Val(TextBox2.Text)
'Valor
de
columnas
para
la
Pgina 10
Seccin Matrices
DataGridView1.RowCount = N 'Creando las filas
For i = 1 To N 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For
To
'Iniciando
el
segundo
contador
To
'Iniciando
el
segundo
contador
Pgina 11
Seccin Matrices
4. GAUSS JORDAN:
Diagrama de flujo:
Inicio
n
i=1n
a(i,j+1)
j=1n
i=1n
i=1n
j=1n
a(i,j+1)
a(i,j)
i=1n
Finalizar
temp = a(i,i)
j <> i
No
j=1n+1
Si
Q = a(j,i) / a(i,i)
j=1n
a(i,j)
a(i,j) = a(i,j) / temp
k=1n+1
Codificacin:
Interface:
Pgina 12
Seccin Matrices
Cdigo:
Dim N As Integer 'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dim q, temp As Single 'Variables para los datos alternos
Dim a(0 To 100, 0 To 100) As Single 'Determinando la variable para
los datos a leer de la matriz
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.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
For i = 1 To N '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 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
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Univ. Noya Villa Daniel
Pgina 13
Seccin Matrices
DataGridView2.RowCount = N
For i = 1 To N '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
If j <> 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 + 1 'Trabjando con las
operaciones filas columnas
a(j, k) = a(j, k) - (a(i, k) * q)
'Trabajando con las diagonales
Next
End If
Next
Next
For i = 1 To N 'Contador para volver la diagonal principal
en 1
temp = a(i, i) 'Buscando el dato de la diagonal
principal
For j = 1 To N + 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
Next
For i = 1 To N
DataGridView2(0, i - 1).Value = Str(a(i, N + 1))
'Mostrando el valor del resultado deseado
Next
End Sub
Univ. Noya Villa Daniel
Pgina 14
Seccin Matrices
5. MULTIPLICACIN ENTRE MATRICES:
Diagrama de flujo:
Inicio
m,n,p
i=1m
i=1n
j=1n
j=1p
a(i,j)
b(i,j)
i=1m
Finalizar
j=1p
c(i,j) = 0
k=1n
c(i,j)
Codificacin:
Interface:
Pgina 15
Seccin Matrices
Cdigo:
Dim M, N, P As Integer '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
Dim c(0 To 100, 0 To 100) As Single 'Dimensionando la varible para
la matriz resultado
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.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
For i = 1 To M 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For
To
'Iniciando
el
segundo
contador
Pgina 16
Seccin Matrices
For i = 1 To N 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For
To
'Iniciando
el
segundo
contador
Pgina 17
Seccin Matrices
6. INVERSA DE UNA MATRIZ:
Diagrama de flujo:
Inicio
n
i=1n
i=1n
j=1n
i=1n
j=1n
i=1n
Finalizar
a(i,j)
temp = a(i,j)
i <> j
i=j
Si
a(i,j + n) = 1
j=n+12*n
No
j=12*n
Si
a(i,j)
No
Q = a(j,i) / a(i,i)
a(i,j + n) = 0
k=12*n
Codificacin:
Interface:
Pgina 18
Seccin Matrices
Cdigo:
Dim N As Integer 'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dim a(0 To 100, 0 To 100) As Single 'Determinando la variable para
los datos a leer de la matriz
Dim q, temp As Single 'Dimensionando la varible auxiliares
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.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
For i = 1 To N 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For
To
'Iniciando
el
segundo
contador
Pgina 19
Seccin Matrices
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
DataGridView2.ColumnCount = N 'Creando las columnas
DataGridView2.RowCount = N 'Creando las filas
For i = 1 To N '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
If j <> i Then 'Verificando que no sea datos de la
diagonal principal
q = a(j, i) / a(i, i) 'Operacion alterna
For
To
k)
a(j,
'Trabjando
con
las
k)
(a(i,
k)
q)
Pgina 20
Seccin Matrices
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
End Sub
7. DETERMINANTE DE UNA MATRIZ:
Diagrama de flujo:
Inicio
i=1N
i=1N
j=1N
det = 1
j=1N
a(i,j)
j <> i
i=1N
det
Finalizar
No
Si
Q = a(j,i) / a(i,i)
k=1N
Codificacin:
Interface:
Pgina 21
Seccin Matrices
Codigo:
Dim N As Integer 'Determinando la variable para el numero de las
filas y columnas de nuestro DataGridView
Dim a(0 To 100, 0 To 100) As Single 'Determinando la variable para
los datos a leer de la matriz
Dim q, det As Single 'Dimensionando la varible auxiliares
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.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
For i = 1 To N 'Iniciando el primer contador (Fila) para
la lectura y para mostrar los datos
For
To
'Iniciando
el
segundo
contador
Pgina 22
Seccin Matrices
If j <> 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 'Trabjando con las operaciones
filas columnas
a(j,
k)
a(j,
k)
(a(i,
k)
q)
det
a(i,
i)
'Calculando
el
determinante
Pgina 23