UNIDAD 3: ARREGLOS

TEMA JSCRIPT 3: 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.

Tambien reciben el nombre de vectores en algebra o arreglos unidimensionales en programacion.

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;

var nomlista: tipodato[] = new tipodato[cant elementos];

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

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

ejemplos;

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

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

public static var municipios: String[] = new String[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 JSCRIPT se vera mas ampliamente en la siguiente unidad).

notas:

Recordar que la primera posicion o renglon en una lista es la posicion o renglon 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 aun 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=JSCRIPT RUNAT=SERVER>
public static var edad: int[] = new int[5];
//ejemplo para strings no se usa en el programa
public static var ciudad: String[] = new String[5];
public static var reng = 0;
function CARGAR(sender: Object, e: EventArgs):void
{
if(reng <=4 )
{
edad[reng] = EDAD.Text;
reng++;
EDAD.Text ="";};
if (reng == 5)
{EDAD.Text = "YA SON CINCO";};
}
function PROCESO(sender: Object, e: EventArgs):void
{
// 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
for (reng = 0; reng <= 4; reng++)
{ edad[reng]= edad[reng]*12; };
//DESPLEGANDO
for (reng = 0; reng <= 4; reng++)
{LISTACOPIA.Items.Add(edad[reng]); };
//dejando listo el arreglo para nueva corrida
reng = 0;
}
</SCRIPT>

corrida prog16.aspx

image415.jpg

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

Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez, se debera usar un ciclo for con una variable entera llamada renglon, misma que tambien se usa como indice de la lista.

Recordar que todos los datos internos de la lista estaran 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 anadiendo 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.

La ultima intruccion 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 ejecucion 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:

var nomlista: tipodato[] = {lista de valores};

ej;

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

var sueldo: Double[] = {40.85, 65.30, 33.33};

var ciudad: String[] = {“tecate”, “tijuana”, “mexicali”, “rosarito”, “ensnada”};

TAREAS PROGRAMACION JSCRIPT

1.- Capturar y desplegar 5 precios de productos 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 js 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, despues calcular una cuarta lista con el gasto total por cada producto desplegarlo todo en un segundo panel e incluir tambien el gran total(aspx).

4.- Capturar en una lista solamente 6 numeros multiplos de 5, se debe de estar capture y capture numeros hasta que se completen los 6 multiplos de 5(js)

Politica de Privacidad