Sie sind auf Seite 1von 17

TABLAS BIDIMENSIONALES (MATRICES)

Son tablas de dos dimensiones. Tambin se denominan matrices. Tienen dos ndices, por lo cual cada componente de la matriz se direcciona mediante su nombre seguido de los dos ndices separados por coma y entre parntesis.

A
0
0 1 2

METODOLOGIA DE LA PROGRAMACIN
1 2

Matriz A de M+1 filas y N +1columnas

(M +1)x (N+1) Componentes

Direccionamiento de un elemento:

(fila, columna)

Identificador Valor, variable o expresin (numrica entera)

En general, los elementos e una matriz se almacenan en la memoria interna de la computadora por columnas, es decir:
A(0,0), A(1,0), A(2,0), , A(M,0), A(0,1), A(1,1), A(2,1), A(M,1),,
A 0 1 2 N

0
1 2

Ejemplo-01
En el arreglo bidimensional TEMP de 12 filas por 31 columnas, se almacenaron las temperaturas promedio diarias del ao anterior, en la ciudad de Lima , escriba un programa que permita calcular lo siguiente: a) La temperatura ms alta registrada en el ao anterior. Y cual fue el da y mes en que se registro. b) El promedio mensual de temperatura. c) El mes que tuvo el promedio de temperatura mas alto Dato: TEMP [ 0..11, 0..30 ] Donde: TEMP es un arreglo bidimensional; de tipo real que almacena las temperaturas del ao anterior.

Module Module1 Sub Main() Dim prom, wprom, wm, f, c, s, temp(11, 30), wmay, wmes, wdia As Integer 'Carga de la Matriz For f = 0 To 2 For c = 0 To 2 Console.WriteLine("ingrese la fila => " & f & " la Columna => " & c) temp(f, c) = Console.ReadLine() Next Next Calcula mayor temperatura For f = 0 To 2 For c = 0 To 2 If temp(f, c) > wmay Then wmay = temp(f, c) wmes = f wdia = c End If Next Next

'Calcula el promedio mensual de temperatura 'Calcula el mes de prom mas alto de temperatura For f = 0 To 2 For c = 0 To 2 s = s + temp(f, c) Next prom = s / 3 Console.WriteLine("El promedio del mes => " & f & " es => " & prom) If prom > wprom Then wprom = prom wm = f End If prom = 0 s=0 Next Console.WriteLine("la mayor temperatura registrada fue el dia => " & wdia) Console.WriteLine("y en el mes => " & wmes) Console.WriteLine("el mes que tuvo el promedio mas alto fue => " & wm) Console.ReadLine() End Sub End Module

Ejemplo-02
Se tienen los costos de produccin de 3 departamentos (dulces, bebidas y conservas), correspondientes a los 12 meses del ao anterior. Construya un diagrama de flujo, que pueda proporcionar la siguiente informacin: a) En que mes se registro el mayor costo de produccin de dulces? b) Promedio anual de los costos de produccin de bebidas? Dato : PROD [ 0..11,0..2 ] Donde: PROD es un arreglo bidimensional de tipo real, que almacena los costos de produccin de tres departamentos en los 12 meses del ao anterior

Module Module1 Sub Main() Dim suma, f, c, prom, wmes, wmay, prod(11, 2) As Integer For f = 0 To 2 For c = 0 To 2 Console.WriteLine("ingrese la fila => " & f & " columna => " & c) prod(f, c) = Console.ReadLine() Next Next For f = 0 To 2 If prod(f, 0) > wmay Then wmay = prod(f, 0) wmes = f End If Next

For f = 0 To 2 suma = suma + prod(f, 1) Next prom = suma / 3 Console.WriteLine("la mayor produc de dulces es en el mes " & wmes) Console.WriteLine("el promedio de bebidas es : " & prom) Console.ReadLine() End Sub End Module

Ejemplo-03
Capturar una tabla que nos muestre el peso en libras de los tres jugadores claves de 4 equipos de ftbol, desplegarlos en otra tabla pero convertidos a kg. ( una libra = .454 kg.).

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim f, c, jug(3, 2) As Double

jug(0, 0) = TextBox1.Text jug(0, 1) = TextBox2.Text jug(0, 2) = TextBox3.Text


jug(1, 0) = TextBox4.Text jug(1, 1) = TextBox5.Text jug(1, 2) = TextBox6.Text jug(2, 0) = TextBox7.Text jug(2, 1) = TextBox8.Text jug(2, 2) = TextBox9.Text jug(3, 0) = TextBox10.Text jug(3, 1) = TextBox11.Text jug(3, 2) = TextBox12.Text

For c = 0 To 2 For f = 0 To 3 jug(f, c) = jug(f, c) * 0.454 If c = 0 Then ListBox1.Items.Add(jug(f, c)) End If If c = 1 Then ListBox2.Items.Add(jug(f, c)) End If If c = 2 Then ListBox3.Items.Add(jug(f, c)) End If Next

Next End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() TextBox4.Clear() TextBox5.Clear() TextBox6.Clear() TextBox7.Clear() TextBox8.Clear() TextBox9.Clear() TextBox10.Clear() TextBox11.Clear() TextBox12.Clear() ListBox1.Items.Clear() ListBox2.Items.Clear() ListBox3.Items.Clear() TextBox1.Focus() End Sub End Class

Ejercicio:
Esta aplicacin permite manejar los elementos de un array de 16 elementos, estos elementos son valores numricos de tipo entero con los cuales se realiza los siguientes procesos: Sumar filas, columnas, diagonales.