UNIDAD 3: ARREGLOS

TEMA JAVASCRIPT 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.

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;

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

Como se observa por el formato y como ya se ha indicado anteriormente en javascript no existen tipos de datos tradicionales, en su lugar javascript 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 se vera 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=JAVASCRIPT 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

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

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:

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 JAVASCRIPT NET PROGRAMACION JAVASCRIPT NET

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, 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(js)

Politica de Privacidad