ProgramacionFacil

UNIDAD 3: C# NET ARREGLOS

TEMA 3: C# NET ARREGLO TIPO LISTA

Un arreglo tipo lista se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones.

También reciben el nombre de vectores en álgebra o arreglos unidimensionales en programación.

Los procesos normales con una lista o con sus elementos, incluyen declarar toda la lista, capturar sus elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc.

Para declarar una lista se usa el siguiente formato;

Tipodato[] nomlista= new tipodato[cant de elementos o renglones];

Como se observa por el formato y como ya se ha indicado anteriormente en csharp no existen tipos de datos tradicionales, en su lugar csharp usa objetos derivados de las clases numericas apropiadas, por lo que no debe sorprender que realmente se esta crando un objeto arreglo derivado de la clase de los enteros.

Recordar tambien que en c# net como un objeto arreglo, tambien puede usar una serie de metodos pertenecientes a la clase numerica de la cual heredo.

Ejemplos:


public static int[] edad= new int[12];

public static float[] sueldos= new float[10];

public static string[] municipios= new strings[5];

Lo de public static, es porque en el programa se va a estar compartiendo el arreglo entre los metodos asociados a dos o mas botones de ordenes (button, buttonlink, imagebutton) el objeto arreglo debera ser de tipo publico o global(este tema se analiza mas ampliamente en la siguiente unidad).


notas:

Recordar que la primera posición o renglón en una lista es la posición o renglón 0 (cero).

El dato capturado, proviene de momento de un componente escalar webcontrol(textbox) y o se usan tantos de estos controles como elementos tenga el arreglo o mas facil aún se usa uno y se va agregando a nuestro arreglo como lo muestra el programa ejemplo.

Prog16 aspx


<HTML>

<FORM RUNAT=SERVER>

DAME EDAD<ASP:TEXTBOX ID=EDAD RUNAT=SERVER/>

<ASP:BUTTON TEXT=CARGAR ONCLICK=CARGAR RUNAT=SERVER/><BR>

<ASP:LISTBOX ID=LISTAORIGINAL ROWS=5 RUNAT=SERVER></ASP:LISTBOX>

<ASP:LISTBOX ID=LISTACOPIA ROWS=5 RUNAT=SERVER></ASP:LISTBOX>

<ASP:BUTTON TEXT=PROCESAR ONCLICK=PROCESO RUNAT=SERVER/><BR>

</FORM></HTML>

<SCRIPT LANGUAGE=C# RUNAT=SERVER>

public static int[] edad= new int[5];

public static string[] ciudad=new string[10];

public static int reng=0;

void CARGAR (Object sender, EventArgs e)

{

if(reng<=4){

edad[reng]=System.Int32.Parse(EDAD.Text);

reng++;

EDAD.Text=" " ; };

if(reng==5){EDAD.Text="YA SON CINCO";};

}

void PROCESO (Object sender, EventArgs e)

{

// LIMPIANDO LISTAS

LISTAORIGINAL.Items.Clear();

LISTACOPIA.Items.Clear();

//CARGANDO LISTA EDAD CAPTURADA

for (reng=0; reng<=4; reng++)

{ LISTAORIGINAL.Items.Add(edad[reng].ToString()); };

//CALCULANDO Y DESPLEGANDO

for (reng=0; reng<=4; reng++)

{ edad[reng]=edad[reng]*12; };

//usando ciclo foreach para desplegar

foreach(int r in edad)

{LISTACOPIA.Items.Add(r.ToString() );};

//dejando listo el arreglo para nueva corrida

reng=0;

}

</SCRIPT>

corrida prog16 aspx

image252.jpg

notas:

Observar que en el programa el arreglo edad y la variable renglon se declararón de tipo publico y estatico porque los dos metodos el de captura y el de operacion-despliegue, las estan compartiendo.

Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez se deberá usar un ciclo for con una variable entera llamada renglón, misma que también se usa como índice de la lista.

Recordar que todos los datos internos de la lista estarán almacenados en la memoria ram del computador, para despliegues se usa un componente visual que permite manipular un conjunto de datos a la vez, el ListBox con sus metodos apropiados pero se tiene que usar un ciclo for() para ir añadiendo o agregando elemento por elemento como se observa en el problema ejemplo que se ha venido desarrollando, en este caso se quiere desplegar las cinco edades convertidas a meses.

Se estan usando metodos apropiados de conversión de enteros a strings y viceversa.

Casi al final se usa un ciclo foreach para desplegar el arreglo edad, como se indico en la unidad anterior este ciclo foreach se especializa en la manipulación de arreglos y colecciones (estas se veran en capitulos posteriores), el formato de foreach es:

foreach( tipodato varcontrol in arreglo) intruccion(es);

Observar tambien que en foreach quien se procesa es la variable de control (r.ToString()) no el arreglo, no se aconseja usar foreach ni para cargar arreglos, ni para actualizarlos, solo para navegar dentro de ellos.

La ultima intrucción y muy importante es poner en cero las variables de control de ciclos o indice de arreglos, esto es porque el servidor mantiene el programa ejecutandose continuamente en memoria y si se vuelve a pedir la ejecución del programa, en cuento se intente capturar un nuevo dato va a marcar el error arreglofueradelimite o arrayofbound, estan avisados.

Para inicializar una lista se debe usar el siguiente formato:

tipodato[] nomlista={lista de valores};

ej;

int[] edad={15,16,17,18};

float[] sueldo={40.85, 65.30, 33.33};

string[] ciudad={“tecate”, “tijuana”, “mexicali”, “rosarito”, “ensenada”};

TAREAS PROGRAMACION C# NET

1.- Capturar y desplegar 5 precios de mercancias cualesquiera usando dos panel, uno para capturar y uno para desplegar(2 aspx uno capturado y otro inicializado).

2.- Capturar 4 sueldos en un panel desplegarlos aumentados en un 25% en otro panel (2 cs uno capturado y otro inicializado).

3.- Capturar los datos de 5 productos comprados en una tienda, incluyendo nombre, precio y cantidad en sus 3 listas respectivas, después calcular una cuarta lista con el gasto total por cada producto desplegarlo todo en un segundo panel e incluir también el gran total(aspx).

4.- Capturar en una lista solamente 6 números múltiplos de 5, se debe de estar capture y capture números hasta que se completen los 6 múltiplos de 5(cs)

 




 


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Politica de Privacidad