Vous êtes sur la page 1sur 21

UNIVERSIDAD NACIONAL DE CAJAMARCA

FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

“TEORÍA DE MATRICES”

CURSO: “Programación Orientada a Objetos”

TRABAJO: “Teoría de Matrices - Programación O. a O.”

DOCENTE: José Camilo Micha

GRUPO:
 Abanto Cotrina, Helber
 Chávez Coronado, Judith
 Cubas Walter, Mabely
 Malimba Bacón, Luzmila

CICLO: IX

Cajamarca 25 de junio de 2018


UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

TEORÍA DE MATRICES EN PROGRAMACIÓN


Una matriz en programación es justamente lo mismo que una matriz en
matemáticas, con la diferencia que su propósito es un poco más práctico y
elemental...en programación una matriz es un conjunto de vectores o mejor dicho es
un vector de muchas direcciones.

Una matriz es un conjunto de valores, que se denomina elementos y que se relacionan


lógicamente entre sí.

EJEMPLOS:

' Declare a single-dimension array of 5 numbers.


Dim numbers(4) As Integer

'Declare a single-dimension array and set its 4 values.


Dim numbers = New Integer() {1, 2, 4, 8}

' Change the size of an existing array to 16 elements and retain the current
values.
ReDim Preserve numbers(15)

' Redefine the size of an existing array and reset the values.
ReDim numbers(15)

' Declare a 6 x 6 multidimensional array.


Dim matrix(5, 5) As Double

' Declare a 4 x 3 multidimensional array and set array element values.


Dim matrix = New Integer(3, 2) {{1, 2, 3}, {2, 3, 4}, {3, 4, 5}, {4, 5, 6}}

' Declare a jagged array


Dim sales()() As Double = New Double(11)() {}

Elementos de la matriz en una matriz simple


Vamos a crear una matriz denominada students para almacenar el número de
alumnos de cada curso en una escuela primaria. Los índices de los elementos van del
0 al 6. Uso de esta matriz es más fácil que declarar siete variables.

1
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

La siguiente ilustración muestra el students matriz. Para cada elemento de la matriz:

 El índice del elemento representa el curso (el índice 0 representa la guardería).


 El valor que se encuentra en el elemento representa el número de estudiantes en
dicho curso.

Elementos de la matriz "students"

En el siguiente ejemplo contiene el código de Visual Basic que crea y utiliza la matriz:

Module SimpleArray
Public Sub Main()
' Declare an array with 7 elements.
Dim students(6) As Integer

' Assign values to each element.


students(0) = 23
students(1) = 19
students(2) = 21
students(3) = 17
students(4) = 19
students(5) = 20
students(6) = 22

' Display the value of each element.


For ctr As Integer = 0 To 6
Dim grade As String = If(ctr = 0, "kindergarten", $"grade {ctr}")
Console.WriteLine($"Students in {grade}: {students(ctr)}")
Next
End Sub
End Module
' The example displays the following output:
' Students in kindergarten: 23
' Students in grade 1: 19
' Students in grade 2: 21
' Students in grade 3: 17

2
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

' Students in grade 4: 19


' Students in grade 5: 20
' Students in grade 6: 22

El ejemplo hace tres cosas:

 Declara un students matriz con siete elementos. El número 6 en la matriz de


declaración indica el último índice de la matriz; es uno menos que el número de
elementos de la matriz.
 Se asignan valores a cada elemento de la matriz. Se tiene acceso a los elementos
de la matriz utilizando el nombre de la matriz y el índice del elemento individual
se incluyen entre paréntesis.
 Muestra cada valor de la matriz. El ejemplo se usa un For instrucción que se va
a obtener acceso a cada elemento de la matriz por su número de índice.

El students matriz en el ejemplo anterior es una matriz unidimensional porque utiliza


un índice. Una matriz que utiliza más de un índice o subíndice se
denomina multidimensionales.

Creación de una matriz


Puede definir el tamaño de una matriz de varias maneras:

 Puede especificar el tamaño cuando se declara la matriz:

' Declare an array with 10 elements.


Dim cargoWeights(9) As Double
' Declare a 24 x 2 array.
Dim hourlyTemperatures(23, 1) As Integer
' Declare a jagged array with 31 elements.
Dim januaryInquiries(30)() As String

o Puede usar un New cláusula para proporcionar el tamaño de una matriz


cuando se crea:

' Declare an array with 10 elements.


Dim cargoWeights() As Double = New Double(9) {}

3
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

' Declare a 24 x 2 array.


Dim hourlyTemperatures(,) As Integer = New Integer(23, 1) {}
' Declare a jagged array with 31 elements.
Dim januaryInquiries()() As String = New String(30)() {}

Si tiene una matriz existente, puede volver a definir su tamaño mediante el uso de
la Redim instrucción. Puede especificar que el Redim instrucción mantener los valores
que se encuentran en la matriz, o puede especificar qué cree una matriz vacía. El
ejemplo siguiente muestra los diferentes usos de la instrucción Redim para modificar
el tamaño de una matriz existente.

' Assign a new array size and retain the current values.
ReDim Preserve cargoWeights(20)
' Assign a new array size and retain only the first five values.
ReDim Preserve cargoWeights(4)
' Assign a new array size and discard all current element values.
ReDim cargoWeights(15)

Almacenamiento de valores en 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. Índices de
matrices multidimensionales se separan mediante comas (,). Necesita un índice para
cada dimensión de la matriz.

En el ejemplo siguiente muestra algunas instrucciones que almacenan y recuperan


valores de matrices.

Module Example
Public Sub Main()
' Create a 10-element integer array.
Dim numbers(9) As Integer
Dim value As Integer = 2

' Write values to it.


For ctr As Integer = 0 To 9
numbers(ctr) = value
value *= 2

4
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Next

' Read and sum the array values.


Dim sum As Integer
For ctr As Integer = 0 To 9
sum += numbers(ctr)
Next
Console.WriteLine($"The sum of the values is {sum:N0}")
End Sub
End Module
' The example displays the following output:
' The sum of the values is 2,046

Tamaño de la 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. Por ejemplo, en el ejemplo siguiente se declara una matriz unidimensional de
2 con cuatro elementos en cada dimensión. Como se muestra en el resultado del
ejemplo, el tamaño de la matriz es 16 (o (3 + 1) * (3 + 1).

Module Example
Public Sub Main()
Dim arr(3, 3) As Integer
Console.WriteLine(arr.Length)
End Sub
End Module
' The example displays the following output:
' 16

Nota
Esta discusión de tamaño de la matriz no se aplica a las matrices escalonadas.

Puede encontrar el tamaño de una matriz mediante la propiedad Array.Length. Puede


averiguar la longitud de cada dimensión de una matriz multidimensional utilizando
el Array.GetLength método.

Se puede cambiar una variable de matriz mediante la asignación de un nuevo objeto


de matriz, o mediante el ReDim instrucción instrucción. En el ejemplo siguiente se usa
el ReDim instrucción para cambiar una matriz de elementos de 100 a una matriz de
elementos de 51.

5
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Module Example
Public Sub Main()
Dim arr(99) As Integer
Console.WriteLine(arr.Length)

Redim arr(50)
Console.WriteLine(arr.Length)
End Sub
End Module
' The example displays the following output:
' 100
' 51

Matriz unidimensional

Matriz bidimensional

Matriz Tridimensional

6
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

El tipo de matriz
Cada matriz tiene un tipo de datos, que difiere del tipo de datos de sus elementos. No
existe ningún tipo de datos para todas las matrices. En su lugar, el tipo de datos de
una matriz lo determina el número de dimensiones, o rango, de la matriz y el tipo de
datos de los elementos de la matriz. Dos variables de matriz son de los mismos datos
escriba solo cuando tienen el mismo rango y sus elementos tienen los mismos datos
de tipo. Las longitudes de las dimensiones de una matriz no influyen en el tipo de
datos de matriz.

Cada matriz hereda la clase System.Array y puede declarar una variable del tipo Array ,
pero no puede crear una matriz del tipo Array . Por ejemplo, aunque el código
siguiente declara la arr variable para que sea de tipo Array y llama a
la Array.CreateInstance demuestra el método para crear una instancia de la matriz, el
tipo de la matriz como Object [].

Module Example
Public Sub Main()
Dim arr As Array = Array.CreateInstance(GetType(Object), 19)
Console.WriteLine(arr.Length)
Console.WriteLine(arr.GetType().Name)
End Sub
End Module
' The example displays the following output:
' 19
' Object[]

Además, la Instrucción ReDim no puede funcionar en una variable declarada de


tipo Array . Por estos motivos y seguridad de tipos, es aconsejable declarar cada
matriz como un tipo específico.

Puede averiguar el tipo de datos de una matriz o de sus elementos de varias


maneras.

 Puede llamar a la GetType método en la variable para obtener un Type objeto


que representa el tipo de tiempo de ejecución de la variable. El
objeto Type contiene amplia información en sus propiedades y métodos.
 Puede pasar la variable a la TypeName función para obtener un String con el
nombre de tipo en tiempo de ejecución.

7
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

En el ejemplo siguiente se llama tanto la GetType método y TypeName función para


determinar el tipo de una matriz. El tipo de matriz es Byte(,) . Tenga en cuenta que
la Type.BaseType propiedad también indica que el tipo base de la matriz de bytes es
el Array clase.

Module Example
Public Sub Main()
Dim bytes(9,9) As Byte
Console.WriteLine($"Type of {nameof(bytes)} array: {bytes.GetType().Name}")
Console.WriteLine($"Base class of {nameof(bytes)}:
{bytes.GetType().BaseType.Name}")
Console.WriteLine()
Console.WriteLine($"Type of {nameof(bytes)} array: {TypeName(bytes)}")
End Sub
End Module
' The example displays the following output:
' Type of bytes array: Byte[,]
' Base class of bytes: Array
'
' Type of bytes array: Byte(,)

Matrices de longitud cero


Visual Basic se diferencia entre una matriz sin inicializar (una matriz cuyo valor
es Nothing ) y un matriz de longitud cero o una matriz vacía (una matriz que no tiene
ningún elemento.) Una matriz sin inicializar es aquel que no se han dimensionada o
tenía ningún valor asignado a él. Por ejemplo:

Dim arr() As String

Se declara una matriz de longitud cero con una dimensión de -1. Por ejemplo:

Dim arrZ(-1) As String

Puede que tenga que crear una matriz de longitud cero en las circunstancias
siguientes:

8
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

 Sin arriesgarse una NullReferenceException excepción, el código debe tener


acceso a los miembros de la Array de la clase, como Length o Rank, o llamar a
una función de Visual Basic como UBound.
 Desea mantener el código sencillo al no tener que comprobar
para Nothing como un caso especial.
 El código interactúa con una interfaz de programación de aplicaciones (API)
que requiere pasar una matriz de longitud cero a uno o más procedimientos o
que devuelve una matriz de longitud cero desde uno o más procedimientos.

División de una matriz


En algunos casos, debe dividir varias matrices en una matriz. Esto implica identificar
el punto o puntos en el que se va a dividir la matriz y, a continuación, escupir la
matriz en dos o más matrices independientes.

Los criterios para dividir una matriz más comúnes son:

 Número de elementos de la matriz. Por ejemplo, puede dividir una matriz de


más de un número especificado de elementos en un número de
aproximadamente partes iguales. Para ello, puede usar el valor devuelto por
la Array.Length o Array.GetLength método.
 El valor de un elemento, que actúa como un delimitador que indica dónde se
debe dividir la matriz. Puede buscar un valor específico mediante una llamada a
la Array.FindIndex y Array.FindLastIndex métodos.

Una vez que haya determinado el índice o índices en el que se debe dividir la matriz,
a continuación, puede crear las matrices individuales mediante una llamada a
la Array.Copy método.

En el ejemplo siguiente se divide una matriz en dos matrices de aproximadamente el


mismo tamaño. (Si el número total de elementos de la matriz es impar, la primera
matriz tiene más de un elemento que el segundo).

Module Example
Public Sub Main()
' Create an array of 100 elements.
Dim arr(99) As Integer
' Populate the array.
Dim rnd As new Random()
For ctr = 0 To arr.GetUpperBound(0)
arr(ctr) = rnd.Next()
Next

9
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

' Determine how many elements should be in each array.


Dim divisor = 2
Dim remainder As Integer
Dim boundary = Math.DivRem(arr.GetLength(0), divisor, remainder)

' Copy the array.


Dim arr1(boundary - 1 + remainder), arr2(boundary - 1) as Integer
Array.Copy(arr, 0, arr1, 0, boundary + remainder)
Array.Copy(arr, boundary + remainder, arr2, 0, arr.Length - boundary)
End Sub
End Module

En el ejemplo siguiente se divide una matriz de cadenas en dos matrices en función


de la presencia de un elemento cuyo valor es "zzz", que actúa como el delimitador
de matriz. Las nuevas matrices no incluyen el elemento que contiene el delimitador.

Module Example
Public Sub Main()
Dim rnd As New Random()

' Create an array of 100 elements.


Dim arr(99) As String
' Populate each element with an arbitrary ASCII character.
For ctr = 0 To arr.GetUpperBound(0)
arr(ctr) = ChrW(Rnd.Next(&h21, &h7F))
Next
' Get a random number that will represent the point to insert the delimiter.
arr(rnd.Next(0, arr.GetUpperBound(0))) = "zzz"

' Find the delimiter.


Dim location = Array.FindIndex(arr, Function(x) x = "zzz")

' Create the arrays.


Dim arr1(location - 1) As String
Dim arr2(arr.GetUpperBound(0) - location - 1) As String

' Populate the two arrays.


Array.Copy(arr, 0, arr1, 0, location)
Array.Copy(arr, location + 1, arr2, 0, arr.GetUpperBound(0) - location)
End Sub
End Module

10
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Combinación de matrices
También puede combinar un número de matrices en una sola matriz mayor. Para
ello, utiliza también el Array.Copy método.

Antes de copiar los elementos de cada matriz en la nueva matriz, primero debe
asegurarse de que se ha inicializado la matriz para que sea suficientemente grande
como para acomodar la nueva matriz. Hay dos maneras de hacerlo:

 Use la ReDim Preserve instrucción para expandir dinámicamente la matriz


antes de agregar nuevos elementos a él. Ésta es la técnica más sencilla, pero
puede provocar una degradación del rendimiento y el consumo de memoria
excesivo cuando se va a copiar matrices de gran tamaño.
 Calcule el número total de elementos necesarios para la nueva matriz de gran
tamaño, a continuación, agregarle los elementos de cada matriz de origen.

En el ejemplo siguiente se usa el segundo enfoque para agregar cuatro matrices con
diez elementos a una sola matriz.

Imports System.Collections.Generic
Imports System.Threading.Tasks

Module Example
Public Sub Main()
Dim tasks As New List(Of Task(Of Integer()))
' Generate four arrays.
For ctr = 0 To 3
Dim value = ctr
tasks.Add(Task.Run(Function()
Dim arr(9) As Integer
For ndx = 0 To arr.GetUpperBound(0)
arr(ndx) = value
Next
Return arr
End Function))
Next
Task.WaitAll(tasks.ToArray())
' Compute the number of elements in all arrays.
Dim elements = 0
For Each task In tasks
elements += task.Result.Length
Next
Dim newArray(elements - 1) As Integer

11
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Dim index = 0
For Each task In tasks
Dim n = task.Result.Length
Array.Copy(task.Result, 0, newArray, index, n)
index += n
Next
Console.WriteLine($"The new array has {newArray.Length} elements.")
End Sub
End Module
' The example displays the following output:
' The new array has 40 elements.

Puesto que en este caso, las matrices de origen son todos los pequeñas, podemos
expandir dinámicamente también la matriz cuando agreguemos los elementos de
cada matriz nuevo a él. En el siguiente ejemplo se realiza esto.

Imports System.Collections.Generic
Imports System.Threading.Tasks

Module Example
Public Sub Main()
Dim tasks As New List(Of Task(Of Integer()))
' Generate four arrays.
For ctr = 0 To 3
Dim value = ctr
tasks.Add(Task.Run(Function()
Dim arr(9) As Integer
For ndx = 0 To arr.GetUpperBound(0)
arr(ndx) = value
Next
Return arr
End Function))
Next
Task.WaitAll(tasks.ToArray())

' Dimension the target array and copy each element of each source array to
it.
Dim newArray() As Integer = {}
' Define the next position to copy to in newArray.
Dim index = 0
For Each task In tasks
Dim n = Task.Result.Length
ReDim Preserve newArray(newArray.GetUpperBound(0) + n)
Array.Copy(task.Result, 0, newArray, index, n)

12
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

index += n
Next
Console.WriteLine($"The new array has {newArray.Length} elements.")
End Sub
End Module
' The example displays the following output:
' The new array has 40 elements.

OPERACIONES CON MATRICES

1. SUMA Y RESTA

13
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Radio botton1

Public vacios As Bolean= true

Public operación As String

Private sub radio botton1_checkedchanged (sender As object,e As EventArgs) Hand


radio botton1. Checkedchanged

DataGridView1.columns.Clear ( )

DataGridView2.columns.Clear ( )

DataGridView3.columns.Clear ( )

For i=0 to 1

DataGridView1.columns.Add (i,” ”)

DataGridView2.columns.Add (i,” ”)

DataGridView1.Rows.Add ( )

DataGridView2.Rows.Add ( )

Next

Operación= “2X2”

End Sub

Private sub radio botton1_checkedchanged (sender As object,e As EventArgs) Hand


radio botton1. Checkedchanged

DataGridView1.columns.Clear ( )

DataGridView2.columns.Clear ( )

DataGridView3.columns.Clear ( )

For i=0 to 2

DataGridView1.columns.Add (i,” ”)

DataGridView2.columns.Add (i,” ”)

DataGridView1.Rows.Add ( )

DataGridView2.Rows.Add ( )

Next

Operación = “3X3”

End Sub

Private Sub Vacio ( )

Vacios = True

If operación = “2X2” then

14
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

For i =0 to 1

For j = 0 to 1

If DataGridView1.Item(i,j) = Value = Nothing Or


DataGridView2.Item(i,j)Value = Nothing then

Vacios = False

End If

Next

Next

Else

For i =0 to 2

For j = 0 to 2

If DataGridView1.Item(i,j) = Value = Nothing Or


DataGridView2.Item(i,j)Value = Nothing then

Vacios = False

End If

Next

Next

End If

If Vacios = False Then

Msg (“no debe haber celdas Vacias”)

End If

End Sub

Private Sub Button1_Click(Sender As object,e As EventArgs) Handles radio botton1.


Click

Vacio ( )

DataGridView1.columns.Clear ( )

If Radio Button1.Checked = True And Vacios = True Then

For i = 0 to 1

DataGridView3.columns.Add(i,””)

DataGridView3.Rows.Add ( )

Netx

For i = 0 to 1

For j = 0 to 1

DataGridView3.Item(i,j).Value = Val1(DataGridView1.Item(i,j).VAlue) +
(DataGridView2.Item(i,j).Value)

15
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Operacion.text = “+”

Next

Next

End If

End Sub

Private Sub Button2_Click(Sender As object,e As EventArgs) Handles botton2. Click

Vacio ( )

DataGridView1.columns.Clear ( )

If Radio Button1.Checked = True And Vacios = True Then

For i = 0 to 1

DataGridView3.columns.Add(i,””)

DataGridView3.Rows.Add ( )

Netx

For i = 0 to 1

For j = 0 to 1

DataGridView3.Item(i,j).Value = Val1(DataGridView1.Item(i,j).VAlue) -
(DataGridView2.Item(i,j).Value)

Next

Next

Operacion.text = “-”

Else If Radio Button2.Checked = True And Vacies = True Then

For i = 0 to 2

DataGridView3.columns.Add(i,””)

DataGridView3.Rows.Add ( )

Next

For i = 0 to 2

For j = 0 to 2

DataGridView3.Item(i,j).Value = Val1(DataGridView1.Item(i,j).VAlue) -
(DataGridView2.Item(i,j).Value)

Next

Next

Operacion.text = “-”

End If

End Sub

16
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

End If

End Sub

End Clas

2. MULTIPLICACION

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button1.Click

Dim fila As Byte, columna As Byte, i As Byte

fila = Val(TextBox1.Text)
columna = Val(TextBox2.Text)

If (fila = columna) Then


DataGridView1.RowCount = fila
DataGridView1.ColumnaCount = columna
For i = 0 To columna - 1
DataGridView1.Columna(i).Width = 30
Next

DataGridView2.RowCount = fila
DataGridView2.ColumnaCount = columna
For i = 0 To columna - 1
DataGridVie2.Columna(i).Width = 50
Next

DataGridView2.RowCount = fila
DataGridVie3.ColumnaCount = columna
For i = 0 To columna - 1
DataGridVie2.Columna(i).Width = 50
Next

Else
MsgBox("Solo se puede sumar matrices cuadradas", 0 + 16, "Error")
TextBox1.Text = " "
TextBox2.Text = " "
TextBox1.Focus()

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles Button2.Click

17
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

Dim i, j, h As Byte
Dim valor As Integer
Dim fila As Byte, columna As Byte

columna = Val(TextBox1.Text)
fila = Val(TextBox2.Text)

For h = 0 To fila - 1
For i = 0 To columna - 1
valor = 0
For j = 0 To columna - 1
valor = valor + Val(DataGridView1.Rows(h).Cells(j).Value) *
ValVal(DataGridView2.Rows(j).Cells(i).Value)

Next
DataGridView3.Rows(h).Cells(i).Value = valor
Next
Next

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button3.Click
Dim i, j As Byte
Dim fila As Byte, columna As Byte

columna = Val(TextBox1.Text)
fila = Val(TextBox2.Text)

For i = 0 To fila - 1
For j = 0 To columna - 1
DataGridView1.Rows(i).Cells(j).Value = " "
DataGridView2.Rows(i).Cells(j).Value = " "
DataGridView3.Rows(i).Cells(j).Value = " "
Next

Next
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles Button4.Click
Me.Hide()
End Sub

End Class

18
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

19
UNIVERSIDAD NACIONAL DE CAJAMARCA
FACULTAD DE EDUCACIÓN
ESPECIALIDAD DE MATEMÁTICA E INFORMÁTICA

EJERCICIOS DEL CUADERNO DE POO


1) Realizar un programa en Visual Basic que permita ingresar 10 números enteros y luego
los ordene descendentemente haciendo uso del método SHELL.

20

Vous aimerez peut-être aussi