Translate

miércoles, 13 de marzo de 2013

ARREGLOS TIPO TABLA


Un arreglo tipo tabla se define como un conjunto de datos del mismo tipo organizados en dos o mas columnas y uno o mas renglones.
Para procesar ( recordar solo operaciones y comparaciones) internamente todos los elementos de la tabla se ocupan dos ciclos for uno externo para controlar renglon y uno interno para controlar columna.
Los elementos de la tabla se deberan simbolizar con el nombre de la tabla y 2 subindices, el primer subindice referencia al renglon y el siguiente subindice referencia la columna los dos dentro del mismo corchete.
La declaracion de una tabla sera de acuerdo al siguiente formato:
SHARED DIM NOMTABLA(RENG-1,COL-1) AS TIPODATO
Ej: SHARED DIM SUELDO(3,4) AS DOUBLE RECORDAR QUE VA A GENERAR UNA MATRIZ QUE TENDRA CUATRO RENGLONES Y CINCO COLUMNAS EMPIEZA EN SUELDO(0,0)
Para capturar sus elementos, usaremos un textbox y un boton de captura, solo tener cuidado o mucho control sobre los indices rEN y col como lo muestra el ejemplo.
Para efectuar otros procesos tales como operaciones, despliegues con todos los elementos de la tabla se deberan usar 2 ciclos un for externo para controlar renglon y un for interno para controlar columna.
Prog
' DECLARANDO LISTA GLOBAL

' RECORDAR QUE SON 3 RENG Y 4 COLUMNAS

Shared CALIFICACION(2, 3) As Integer

' DECLARANDO RENG Y COL COMO GLOBAL

Dim R, C As Integer

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

' EN ESTE MODULO SOLO SE TRABAJA CON EL ARREGLO

' EN MEMORIA

CALIFICACION(R, C) = CALIF.Text

C = C + 1

CALIF.Text = ""

If C = 4 Then

R = R + 1

C = 0

End If

If R = 3 Then

CALIF.Visible = False

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim TEMP As String

' PROCESANDO Y REGALANDO 50 PUNTOS A TODOS

For R = 0 To 2

For C = 0 To 3

CALIFICACION(R, C) = CALIFICACION(R, C) + 50

Next C

Next R

' desplegando

For R = 0 To 2

TEMP = CALIFICACION(R, 0) & " " & CALIFICACION(R, 1) & " " & CALIFICACION(R, 2) & " " & CALIFICACION(R, 3)

LISTA1.Items.Add(TEMP)

' limpiando temporal antes de otro renglon

TEMP = " "

Next

End Sub

Notas:
Observar el formato de declaracion y como se controlan los indices de captura r, c
Para procesar los elementos se usan dos ciclos for y el formato tabla (reng,col).
En este problema se usa el objeto LISTBOX para presentar el resultado mas adelante se usara un objeto mas apropiado.
Diseno: 

Corrida:




Para inicializar tablas, se usa el siguiente formato:
Dim nomarreglo() As tipodato = {lista valores}
Dim ciudades() as String = {“tijuana', “tecate”, “ensenada”}
Recordar que no se pueden inicializar arreglos de tamano fijo, para inicializar tablas aqui esta el ejemplo:
Dim alfa(,) As Integer = {{1, 2}, {3, 4} {5,6} }
TAREAS PROGRAMACION VISUAL BASIC 2005
1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO PRODUCTOS CUALESQUIERA, QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES DE UNA EMPRESA MAQUILADORA (2 prog uno capturado y otro inicializado ).
2.- CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS MENSUALES POR VENTAS DURANTE LOS TRES PRIMEROS MESES DEL ANO DE CUATRO SUCURSALES DE UNA CADENA DE AUTO REFACCIONES, AGREGAR AL FINAL UNA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR MESES Y UNA SEGUNDA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR SUCURSAL(2 progs uno capturado y otro inicializado).
3.-CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES GANADAS POR TRES VENDEDORES, DE LOS 5 TIPOS DE LINEA BLANCA DE CONOCIDA MUEBLERIA, ADEMAS LISTAS DE COMISIONES TOTALES Y PROMEDIOS GANADAS POR LOS VENDEDORES, ASI COMO LISTAS DE COMISIONES TOTALES Y PROMEDIOS POR TIPO DE LINEA BLANCA
ANALIZAR ESTE CODIGO:
' PARA TOTALES Y PROMEDIOS POR RENGLON

FOR R = 0 TO 3

FOR C = 0 TO 2

TOTRENG(R) = TOTRENG(R) + TABLA(R,C)

NEXT C

PROMRENG(R) = TOTRENG(R)/3

NEXT R

'PARA TOTALES Y PROMEDIOS POR COLUMNA

FOR C = 0 TO 2

FOR R = 0 TO 3

TOTCOL(C)=TOTCOL(C) + TABLA(R,C)

NEXT R

PROMCOL(C) = TOTCOL(C) / 4

NEXT C

SUGERENCIA: CONSTRUIR PRIMERO LOS CUADROS EN PAPEL.

No hay comentarios:

Publicar un comentario