UNIDAD 3: PROGRAMACION VISUAL C# ARREGLOS

TEMA 4: VISUAL WEB DEVELOPER 2005 C# 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:

Public static tipodato[,] nomtabla=new tipodato[cant reng, cantcol];

Ej: public static float[,] sueldos=new float[5,8];

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, despliegue 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.

Programa

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
// creando arreglo y variables control globales
public static int r = 0, c=0;
static int[,] calif = new int[2, 3];
void CARGAR(Object sender, EventArgs e)
{
calif[r, c] = System.Int32.Parse(CALIF.Text);
c++;
CALIF.Text = " ";
if (c == 3) { r++; c = 0; };
if (r == 2) { CALIF.Visible = false; r = 0; c = 0; };
}
void PROCESO(Object sender, EventArgs e)
{
// procesando y regalando 10 puntos a la calificacion
for (int reng = 0; reng <= 1; reng++)
for (int col = 0; col <= 2; col++)
{ calif[reng, col] = calif[reng, col] + 10; };
// desplegando
for (int reng = 0; reng <= 1; reng++)
{
// creando un renglon para despliegue
string temp = calif[reng, 0].ToString() + " "
+ calif[reng, 1].ToString() + " "
+ calif[reng, 2].ToString();
// cargando la lista
LISTA.Items.Add(temp);
// limpiando temporal antes de otro renglon
temp = " ";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ARREGLOS</title>
</head>
<body>
<form id="form1" runat="server">
DAME CALIF<ASP:TEXTBOX ID=CALIF RUNAT=SERVER/>
<ASP:BUTTON ID=BUTTON1 TEXT=CARGAR ONCLICK=CARGAR RUNAT=SERVER/><BR>
<ASP:LISTBOX ID=LISTA ROWS=5 RUNAT=SERVER></ASP:LISTBOX>
<ASP:BUTTON ID=BUTTON2 TEXT=PROCESAR ONCLICK=PROCESO RUNAT=SERVER/><BR>
</form>
</body>
</html>

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].

Recordar que un programa en visual web developer 2005 es un conjunto de objetos de diferente fuente interactuando entre si en este problema se uso el objeto LISTBOX para preesentar el resultado mas adelante se usara un objeto mas apropiado.

Corrida:

image469.jpg

Para inicializar tablas, se usa el siguiente formato:

tipodato[,] nomtabla={ {val reng 0}, {val reng 1}, {val reng n} };

ejemplo una matriz de 3 x 4 calificaciones:

int[,] calif={ { 10,20,30,40}, { 50,60,70,80}, {90,10,20,30} };

TAREAS PROGRAMACION VISUAL WEB DEVELOPER 2005 C#

1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO MERCANCIAS CUALESQUIERA, QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES DE UNA EMPRESA MAQUILADORA(2 aspx 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 AUTOREFACCIONES, 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 aspx 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.

Politica de Privacidad