ProgramacionFacil

UNIDAD 3: ARREGLOS

C# POCKET PDA 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;

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 como 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 C# POCKET PDA se vera mas ampliamente en la siguiente unidad).


Es tambien importante recordar que un arreglo en CSHARP net es realmente un objeto derivado de la clase SYSTEM.ARRAY.

Recordar tambien que como objeto arreglo, tambien puede usar una serie de metodos pertenecientes a dicha clase system.array, los metodos principales de dicha clase y por tanto de los arreglos derivados de la misma son:

Public Methods

BinarySearch Overloaded. Searches a one-dimensional sorted Array for a value, using a binary search algorithm.
Clear Sets a range of elements in the Array to zero, to false, or to a null reference (Nothing in Visual Basic), depending on the element type.
Clone Creates a shallow copy of the Array.
Copy Overloaded. Copies a section of one Array to another Array and performs type casting and boxing as required.
CopyTo Copies all the elements of the current one-dimensional Array to the specified one-dimensional Array starting at the specified destination Array index.
CreateInstance Overloaded. Initializes a new instance of the Array class.
Equals (inherited from Object) Overloaded. Determines whether two Object instances are equal.
GetEnumerator Returns an IEnumerator for the Array.
GetHashCode (inherited from Object) Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.
GetLength Gets the number of elements in the specified dimension of the Array.
GetLowerBound Gets the lower bound of the specified dimension in the Array.
GetType (inherited from Object) Gets the Type of the current instance.
GetUpperBound Gets the upper bound of the specified dimension in the Array.
GetValue Overloaded. Gets the value of the specified element in the current Array.
IndexOf Overloaded. Returns the index of the first occurrence of a value in a one-dimensional Array or in a portion of the Array.
Initialize Initializes every element of the value-type Array by calling the default constructor of the value type.
LastIndexOf Overloaded. Returns the index of the last occurrence of a value in a one-dimensional Array or in a portion of the Array.
Reverse Overloaded. Reverses the order of the elements in a one-dimensional Array or in a portion of the Array.
SetValue Overloaded. Sets the specified element in the current Array to the specified value.
Sort Overloaded. Sorts the elements in one-dimensional Array objects.
ToString (inherited from Object) Returns a String that represents the current Object.

notas:

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

Prog11.aspx


// inicializando objetos mobiles

// y definiendo lenguaje a usar por servidor

<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"

Language=CS%>

<%@ Register TagPrefix="mobile"

Namespace="System.Web.UI.MobileControls"

Assembly="System.Web.Mobile"%>

// todos los controles ponerlos dentro de una forma

<mobile:Form runat=server>

DAME EDAD:

<mobile:TEXTBOX ID=RENG TEXT=0 SIZE=2 RUNAT=SERVER/>

<mobile:TEXTBOX ID=EDAD SIZE=5 RUNAT=SERVER/>

<mobile:COMMAND TEXT=CARGAR ONCLICK=CARGAR RUNAT=SERVER/><BR>

<mobile:SELECTIONLIST ID=LISTA SELECTTYPE=LISTBOX ROWS=5 runat=server>

</mobile:SELECTIONLIST>

<mobile:COMMAND TEXT=SUMAR ONCLICK=SUMAR RUNAT=SERVER/><BR>

</mobile:Form>

<SCRIPT RUNAT=SERVER>

// DECLARANDO LISTA GLOBAL

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=" " ;

RENG.Text=reng.ToString();

};

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

}

void SUMAR(Object sender, EventArgs e)

{

// demostrando algunas propiedades de sistem.array

Array.Sort(edad);

int z;

z=edad.Length;

// reponse es un objeto del ado viejo y no se uso en este curso

Response.Write(z);

foreach(int x in edad)

{LISTA.Items.Add(x.ToString() );};

}

</SCRIPT>

corrida prog11.aspx

image493.jpg

notas:

O CAPTURAN MUY RAPIDO O VAN A TENER QUE APRENDER A MAnIPULAR LOS OBJETOS COKIES Y SESSION

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 usara 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 (x.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# PDA PROGRAMACION C# PDA

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 inicializadoc, alguno de ellos ordenado).

2.- Capturar 4 sueldos en un panel desplegarlos aumentados en un 25% en otro panel (2 aspx 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(solo cuidar el contador de renglones)

 




 


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

Politica de Privacidad