Clase 16 Matrices

Universidad Tecnológica de Panamá IX. Procesos con Matrices Prof. Anna Araba de Ruiz 1 Arreglos multidimensionales •

Views 80 Downloads 86 File size 190KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Universidad Tecnológica de Panamá

IX. Procesos con Matrices

Prof. Anna Araba de Ruiz 1

Arreglos multidimensionales • Un arreglo de tamaño n puede verse como una matriz 1 x n. • ¿Cómo definir matrices de tamaño m x n? • ¿Cómo definir matrices de r x m x n?

1

Arreglos multidimensionales 1x

rxmxn

n 1x3

Arreglo de tres variables

3x3x2

mxn

Arreglo de 18 variables

3x3

¿O arreglo de 2 arreglos de 3 arreglos de 3 variables?

Arreglo de 9 variables ¿O arreglo de 3 arreglos de 3 variables?

Arreglos multidimensionales B(0,0)

B(0,1)

B(0,2)

A B A(0) A(1) A(2)

B(2,0)

B(2,1)

B(2,2)

2

Para un arreglo de n dimensiones, la sintaxis será: Dim Nombre_Arreglo(dimensión1, dimensión2, ...) As [Tipo de dato]

Declaración de una matriz tradicional de m x n elementos: Dim A(3, 2) As Integer Fila

Columna

El número de elementos declarados se calcula teniendo en cuenta que la numeración de los índices empieza en cero. Por ejemplo, para una matriz en la que el número de elementos será de 4 x 3 = 12, decimos que hay - Cuatro filas (0, 1, 2 y 3) y - Tres columnas (0, 1 y 2).

La siguiente tabla representa una matriz de 6 filas y 8 columnas, que contiene el numero de alumnos matriculados en cada grupo de un centro docente, por asignatura. Las filas corresponden a los grupos y las columnas a las asignaturas. •

MATRICULA



1

2

3

4

5

6

7

8

1

35

30

32

32

34

35

34

28

2

40

33

40

37

36

39

40

29

3

25

23

26

21

24

24

25

15

4

33

33

33

32

34

30

32

20

5

45

44

45

44

43

40

44

33

6

24

20

22

22

24

25

24

12

NOMBRE DE LA TABLA: MATRICULA. COMPONENTES: MATRICULA(1,1), MATRICULA(1,2),..., MATRICULA(6,7), MATRICULA(6,8). INDICES: Los números del 1 al 6 para las filas y los números 1 al 8 para las columnas. DIMENSION: Dos

LONGITUD: 6 * 8 = 48

TIPO: Numérica entera

La componente MATRICULA(4,6) almacena el número de alumnos matriculados en el grupo número 4 en la asignatura número 6, que en el ejemplo representado son 30 alumnos. La tabla anterior se declara:

Dim MATRICULA (6, 8) As Integer

3

Ejemplo: En un arreglo de dos dimensiones queremos almacenar el número de alumnos con que cuenta una academia, ordenados en función del nivel y del idioma que estudian. Tendremos 3 filas que representarán los niveles:  0 = Básico  1 = Medio  2 = Perfeccionamiento Tendremos 4 columnas que representarán los idiomas:  0 = Inglés  1 = Francés  2 = Alemán  3 = Ruso

La declaración de dicha matriz será: Dim Alumnosxniveleidioma(3, 4) Podemos asignar contenidos de la siguiente manera: Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(0, Alumnosxniveleidioma(1, Alumnosxniveleidioma(1,

0) = 7 1) = 14 2) = 8 3) = 3 0) = 6 1) = 19

Representación gráfica asociada a la asignación de datos

Alumnosxniveleidioma(1, Alumnosxniveleidioma(1, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2, Alumnosxniveleidioma(2,

N i v e l e s

2) = 7 3) = 2 0) = 3 1) = 13 2) = 4 3) = 1

Idiomas 0 1 2 3 0 1 2

4

Ejemplo 1: REM Curso Visual Basic Public Class Form1 Dim Alumnosxniveleidioma (3, 4) As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVale As System.EventArgs) Handles MyBase.Load D. Alumnosxniveleidioma(0, 3) = 3 --Alumnosxniveleidioma(2, 1) = 13 DD MsgBox(“La academia cuenta con " & Alumnosxniveleidioma(0, 3) & “ estudiantes en el Nivel Basico del idioma Ruso”) End Sub End Class

La organización de la información en matrices nos brinda numerosas ventajas al momento del tratamiento de datos en nuestros programas. Veamos algunos casos de declaraciones con más de dos dimensiones. Para ello tomaremos como ejemplo el conteo del número de automoviles que pasan por una vía en un periodo de tiempo.

Duración de conteo

Tipo de Arreglo

Declaración NA (Numero de Autos)

Varios Años

Arreglo de cuatro dimensiones (Año, Mes. Dia, Hora)

Dim NA(10, 12, 31, 24) As Integer

Varios Meses

Arreglo de tres dimensiones (Mes, Dia, Hora)

Dim NA(12, 31, 24) As Integer

Varios Días

Matriz (Dia y Hora)

Dim NA(31, 24) As Integer

Un Día

Vector (Hora)

Dim NA(24) As Integer

5

XII. DATAGRIDVIEW

11

DataGridView  Muestra filas y columnas de datos en una cuadricula que se puede personalizar.  Permite mostrar y editar datos en tablas a partir de numerosos tipos diferentes de orígenes de datos, por ejemplo Bases de Datos.  El DataGridView proporciona una manera fácil y muy personalizable de mostrar los datos sin enlazarse a un origen de datos.  Por ejemplo, mostrar el contenido de una matriz bidimensional de tipo String.  Permite administrar la inserción y eliminación de filas.  Para impedir que se agreguen filas, debemos establecer la propiedad AllowUserToAddRows en false.

6

 Con los métodos de utilidad en contexto, puede asociar controladores de eventos.  Controlará los eventos Click de los botones Agregar y Eliminar  Cuando se provoca el evento Click del botón Agregar, se agrega una nueva fila vacía a DataGridView.  Cuando se provoca el evento Click del botón Eliminar, se elimina la fila seleccionada, a no ser que sea la fila para nuevos registros, que permite al usuario agregar nuevas filas. Esta fila siempre es la última fila del control DataGridView.

Tipos de Variables TIPO

COMENTARIO

BOOLEAN

Sólo admite 2 valores: TRUE o FALSE

BYTE

admite valores entre 0 y 255

INTEGER

admite valores entre -32768 y 32767

LONG

admite valores entre -2.147.483.648 y 2.147.483.647

SINGLE

admite valores decimales con precisión simple

DOUBLE

admite valores decimales de doble precisión

CURRENCY

válido para valores de tipo moneda

STRING

cadenas de caracteres

DATE

fechas, permite operar con ellas

7

Abreviaturas para los controles mas usados Abrev. chk

Control check box

Abrev.

Control

cbo

combo y drop- list box

cmd / btn command button

dir

dir list box

drv

drive list box

fil

file list box

frm

form

fra

frame

hsb

horizontal scroll bar

img

image

lbl

label

lin

line

lst

list

mnu

menu

opt

option button

pct

pictureBox

shp

shape

txt

text edit box

tmr

timer

vsb

vertical scroll bar

8