0% encontró este documento útil (0 votos)
3 vistas10 páginas

Estructuras de Datos: Matrices en Programación

Cargado por

Jorge Rodríguez
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas10 páginas

Estructuras de Datos: Matrices en Programación

Cargado por

Jorge Rodríguez
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 PDF, TXT o lee en línea desde Scribd

Profesor Nelson O.

Cruz, 2023

ESTRUCTURAS DE DATOS

MATRICES

Una matriz es una estructura homogénea, compuesta por varios elementos,


todos del mismo tipo y almacenados consecutivamente en memoria. A cada
elemento se puede acceder directamente por el nombre de la matriz seguido
de uno o más subíndices encerrados entre paréntesis.

En general, la representación de las matrices se hace mediante variables


suscritas o subíndice y pueden tener una o varias dimensiones(subíndices).
A las matrices de una dimensión se les llama también vector o lista y a las
de dos dimensiones, o más tabla o matriz

DIMENSIONES

• Listas (Vectores)

• Arreglos Multidimensionales

Así mismo una matriz de dos dimensiones se representa mediante una


variable con dos subíndices (filas, columnas); una de tres dimensiones
se representa mediante una variable con tres subíndices, etc…

1
Profesor Nelson O. Cruz, 2023

DECLARACIÓN DE UNA MATRIZ

La declaración de una matriz se hace de la siguiente forma:

Dim nombre() As tipo

Donde tipo indica el tipo de los elementos de la matriz, y nombre es un


identificador que nombra a la matriz.

Por ejemplo:

Dim m() as Integer

Dim temperatura() As Single

LAS MATRICES SON DE DOS TIPOS:

– Estáticas: tienen un número fijo de elementos que queda


determinado desde la declaración de la estructura en el comienzo
del programa.

– Dinámicos: tienen un número de elementos que varía a lo largo


de la ejecución del programa

MATRICES ESTATICAS
• Dim nombre_del_arreglo (tamaño) [As Tipo]

Por ejemplo:

– Dim DiasSemana(10) As String ‘//11 posiciones válida

– Dim Meses(11,1) As String ‘//24 posiciones válidas

DiasSemana(0) =“Lunes”

DiasSemana(1)=“Martes”

…..

2
Profesor Nelson O. Cruz, 2023

DiasSemana(6)=“Domingo”

‘ cargando la Primera Dimensión

Meses(0,0)=“Enero”

Meses(1,0)=“Febrero”

….

Meses(11,0)=“Diciembre”

`cargando la Segunda Dimensión

Meses(0,1)=31

Meses(1,1)=28

….

Meses(11,1)=31

MATRIZ DINÁMICAS
• Dim nombre_del_arreglo () [As Tipo]

Por ejemplo:

Dim libros() As String

Para cambiar el tamaño de este arreglo use el comando 'ReDim' y


especifique el número de elementos:

Por ejemplo: ReDim libros(99)

ReDim Preserve libros(99)

OBSERVACION: Para conservar los datos actuales en el Arrays se utiliza


la palabra Preserve

3
Profesor Nelson O. Cruz, 2023

Ejemplo 2: Dim Cursos( , ) As String

……

Redim Cursos(2,Incluidos)

…..

Redim Preserve Cursos(2,Incluidos)

Un elemento es un valor de Array, al que se puede acceder haciendo uso


del índice o índices según las dimensiones. Por ejemplo, para acceder al
elemento de la segunda fila y la tercera columna del arrays bidimensional
con nombre Cursos se debe escribir Cursos(1,2), cabe adelantar que en
Visual Basic .Net el valor inicial de cada dimensión es CERO.

Ejemplo 1: Escribir un programa que lea la nota media obtenida por cada
alumno de un determinado curso, lo almacene en una matriz y dé como
resultado:

1. Un listado de Notas
2. La nota media del curso
3. El tanto por ciento de aprobados
4. El tanto por ciento de desaprobados

4
Profesor Nelson O. Cruz, 2023

Public Class frmNotas


Dim vector() As Integer
Dim x, k, acumulador, contAprobados, contdesaprobados As Integer
Dim media As Double

Private Sub btnCargar_Click(sender As Object, e As EventArgs) Handles [Link]


If IsNumeric([Link]) Then
x = [Link]
ReDim vector(x-1)
For i = 0 To x - 1
k = InputBox("Introduce la nota del estudiante N° " & i + 1)
vector(i) = k
Next
Else
[Link]("Introduce un valor numérico entero")
[Link] = Space(0)
[Link]()
End If
End Sub

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


[Link]
For i = 0 To x - 1
[Link](vector(i))
Next
End Sub

Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles [Link]


Close()
End Sub

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


[Link]
acumulador = 0
contAprobados = 0
contdesaprobados = 0
For i = 0 To x - 1
acumulador = acumulador + (vector(i))
Next
media = acumulador / x
[Link] = media
For i = 0 To x - 1
If (vector(i) >= 71) Then
contAprobados = contAprobados + 1
Else
contdesaprobados = contdesaprobados + 1
End If
Next
[Link] = contAprobados
[Link] = contdesaprobados
End Sub
End Class

5
Profesor Nelson O. Cruz, 2023

Ejemplo 2: Desarrolla la siguiente aplicación:

Otros Ejemplos:

6
Profesor Nelson O. Cruz, 2023

MATRICES MULTIDIMENCIONALES

La definición de una matriz de varias dimensiones puede hacerse de la


siguiente manera:

Dim nombre(Expr-1, Expr-2,…) As tipo

Por ejemplo:

Dim m(1,2) As Integer

Ejemplo 1:

7
Profesor Nelson O. Cruz, 2023

Public Class Form1


Dim Vendedores As String() = {"Vendedor 1", "Vendedor 2", "Vendedor 3", "Vendedor 4",
"Vendedor 5"}
Dim Matriz(4, 2) As Double
Dim f, c, acum As Integer
Dim tmp, ventasTotales As Integer
Dim vendedorMas As Integer 'Vendedor que màs vendiò
Dim modeloMas As Integer 'Modelo màs vendido

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles [Link]


[Link] = 6 'Establecemos la cantidad de filas a utilizar
For f = 0 To 4
DGVVentas(0, f).Value = Vendedores(f)
Next
DGVVentas(0, 5).Value = "TOTAL"
End Sub

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


[Link]
Dim venta As String

For f = 0 To 4
For c = 1 To 3
venta = InputBox("Ventas del " & DGVVentas(c, f).[Link], "" &
Vendedores(f))
Matriz(f, c - 1) = venta
DGVVentas(c, f).Value = Matriz(f, c - 1)
'asignamos el valor introducido a una casilla de la tabla
Next
Next
End Sub

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


[Link]
ventasTotales = 0
acum = 0
tmp = 0

8
Profesor Nelson O. Cruz, 2023

Try
For f = 0 To 4
For c = 0 To 2
tmp = Matriz(f, c) + tmp
Next
DGVVentas(4, f).Value = tmp

If tmp > acum Then


acum = tmp
vendedorMas = f
End If
tmp = 0
Next
'Imprimimos el vendedor con màs ventas
[Link] = Vendedores(vendedorMas)
acum = 0
tmp = 0
For c = 0 To 2
For f = 0 To 4
tmp = Matriz(f, c) + tmp

Next
DGVVentas(c + 1, 5).Value = tmp
ventasTotales = tmp + ventasTotales
If tmp > acum Then
acum = tmp
modeloMas = c + 1
End If
tmp = 0
Next
'Imprimimos el total de ventas
DGVVentas(4, 5).Value = ventasTotales
'Imprimimos el modelo màs vendido
[Link] = DGVVentas(modeloMas, 0).[Link]
Catch ex As Exception
[Link]("Error en la entrada de datos, vuelve a intentarlo")
End Try
End Sub
End Class

9
Profesor Nelson O. Cruz, 2023

Ejemplo 2:

El menú de un restaurante rápido se muestra a continuación:

MENÚ PRECIO (S/.) Se desea construir una aplicación que


calcule las ventas totales al final del día, así
Hamburguesa 2.50
como los impuestos a pagar (7 por 100).
Cerveza 4.00

Gaseosa 3.00

Ensalada 1.50

Salchichas 2.00

Refresco 1.00

Sopa 1.50

Postre 1.50

La interfaz de entrada y salida deberá ser similar a la figura mostrada a


continuación:

10

También podría gustarte