You are on page 1of 5

Aplicacin 14

Matriz de dos dimensiones Se desarroll una aplicacin en Visual Basic, la cual permite que mediante la ejecucin de un botn se ingresen datos para crear una matriz de dos dimensiones variables, as como tambin mostrar los valores de dicha matriz en filas y columnas definidas por el usuario. Cdigo Dim m() As Double 'se asigna la matriz como doble' Dim nf As Integer, nc As Integer, f As Integer, c As Integer ' se asignan varias variables como enteros'

Private Sub Form_Load() nf = InputBox("Valores para filas", "Filas", "Insertar Numero de Filas", 5000, 5000) 'al momento de cargar debe salir el objeto msgbox para ingresar datos de filas' nc = InputBox("Valores para columnas", "Columnas", "Insertar Numero de Columnas", 5000, 5000) 'al momento de cargar debe salir el objeto inputbox para ingresar datos de columnas'

Filas1.Text = Val(nf) 'al objeto Filas1.Text se le asigna el valor de nf, igresado anteriormente' Columnas1.Text = Val(nc) 'al objeto Columnas1.Text se le asigna el valor de nc, ingresado anteriormente' ReDim m(1 To nf, 1 To nc) 'cambia el rango de la matriz de 1 a los valores indicados' NumF.Text = 1 'al objeto NumF.Text se le asigna el valor 1' NumC.Text = 1 'al objeto NumC.Text se le asigna el valor de 1' f = 1 'la variable es igual a 1' c = 1 'la variable es igual a 1'

End Sub

Private Sub Aceptar_Click()

If f < nf Then 'inicio de bucle de condicion, si se cumple la condicion entonces' If c < nc Then 'inicio de bucle anidado, si se cumple la condicion entonces' m(f, c) = Val(ValEl.Text) 'el valor del elemento de la matriz f,c sera igual al valor del objeto indicado' c = c + 1 'c tiene un valor nuevo sumandosele uno' NumC = c 'el valor del objeto es igual a la variable indicada' NumF = f 'el valor del objeto es igual a la variable indicada' ValEl = 0 'el valor del objeto es igual a 0'

Else 'en caso de no cumplir la condicion del bucle anidado' m(f, c) = ValEl.Text 'el valor de la matriz sera igual a los datos del objeto indicado' c = 1 'el valor de c es igual a 1' f = f + 1 'f tiene un neuvo valor sumandosele uno' NumC = c 'el valor del objeto es igual a la variable indicada' NumF = f 'el valor del objeto es igual a la variable indicada' ValEl = 0 'el valor del objeto es igual a 0' End If 'fin del bucle anidado'

Else 'en caso de no cumplir la condicion del bucle de condicion principal entonces'

If c < nc Then 'inicio de segundo bucle de condicion anidado' m(f, c) = Val(ValEl.Text) 'el valor de la matriz seria igual al valor del objeto indicado' c = c + 1 'el valor de c cambiara sumandosele 1' NumC = c 'el valor del objeto es igual a la variable indicada' NumF = f 'el valor del objeto es igual a la variable indicada' ValEl = 0 'el valor del objeto es igual a 0'

Else 'en caso de no cumplir la condicion del bucle anidado' m(f, c) = Val(ValEl.Text) 'el valor de la matriz sera el valor de el objeto indicado' ValEl = 0 'el objeto indicado tendra valor 0' Mens = MsgBox("Todos los dastos han sido correctamente almacenados", vbExclamation, "Datos Completos") 'se mostrar un mesgbox para confirmar la almacenacion de datos' End If 'fin del bucle anidado' End If 'fin del bucle principal de condicion' End Sub

Private Sub Nuevo_Click() Erase m 'borrar los valores de la matriz' nf = InputBox("Nuevas filas de la matriz", "Datos") 'la variable nf sera igual a los valores agregados al inputbox que aparecera al ejecutar la accion del boton' nc = InputBox("Nmero de columnas de la matriz", "Datos") 'la variable nf sera igual a los valores agregados al inputbox que aparecera al ejecutar la accion del boton' Filas1.Text = Val(nf) 'el objeto indicado tendra el valor de la variable indicada'

Columnas1.Text = Val(nc) 'el objeto indicado tendra el valor de la variable indicada' ReDim m(1 To nf, 1 To nc) 'reestablece el rango de la matriz a los valores indicados' NumF.Text = 1 'al objeto NumF.Text se le asigna el valor 1' NumC.Text = 1 'al objeto NumC.Text se le asigna el valor de 1' f = 1 'la variable es igual a 1' c = 1 'la variable es igual a 1' End Sub

Private Sub Salir_Click() End 'termina el programa' End Sub

Private Sub Ver_Click() 'esta parte permite ver los datos de la matriz segun las filas y columnas que ingresemos' Dim i As Integer, j As Integer 'se declaran dos variables nuevas como enteros' ValMat.Text = " " 'borra los datos que se le agregaron anteriormente" For i = 1 To nf 'condicion para la variable i, cuando i este en el intervalo indicado' For j = 1 To nc 'condicion para la variable j, cuando j este en el intervalo indicado' ValMat.SelStart = Len(ValMat) 'el objeto indicado iniciara con la longitud del valor del objeto mismo' ValMat.SelText = "m (" & i & "," & j & ")= " & m(i, j) & " " 'el objeto respeta el valor agregado anteriormente y escribe el nuevo valor de la matriz como se indica'

Next j 'continua la instruccion hasta el siguiente valor de j sino termina el proceso' ValMat.SelStart = Len(ValMat) 'el objeto inicia con la longitud del objeto mismo' ValMat.SelText = vbCrLf 'el objeto indicado respeta el valor anterior y el siguiente lo escribe en el siguiente renglon' Next i 'continua la instruccion hasta el siguiente valor de i sino termina el proceso' End Sub