Vous êtes sur la page 1sur 6

Media Tcnica de desarrollo de software Guia Vectores en C# Tema: Operaciones bsicas sobre vectores

Estudiante:_____________________________________Fecha:__/___/___ Nota:__________ Objetivos: 1.Definir un Vector. 2.Realizar operaciones bsicas sobre un vector. 3.Realizar bsquedas en un vectores.

Contenido Vectores (Array unidimensionales)

Antes de comenzar a explicar

con mayor claridad qu es un array quiero

advertir nuevamente a los programadores de C/C++: En C#, aunque parecidos, los arrays son diferentes tanto semntica como sintcticamente, de modo que te recomiendo que no pases por alto esta entrega.

Bien,

una

vez Un

hechas es

todas un

las

aclaraciones que

previas,

creo

que

podemos valores

comenzar.

array

indicador

puede

almacenar

varios

simultneamente. Cada uno de estos valores se identifica mediante un nmero al cual se llama ndice. As, para acceder al primer elemento del array habra que usar el ndice cero, para el segundo el ndice uno, para el tercero el ndice dos, y as sucesivamente. Que nadie se preocupe si de momento todo esto es un poco confuso, ya que lo voy a ir desmenuzando poco a poco. Vamos a ver cmo se declara un array:

tipo[] variable;
Bien, como se ve es muy parecido a como se declara una variable normal, slo que hay que poner corchetes detrs del tipo. Los programadores de C/C++ habrn observado inmediatamente la diferencia sintctica. En efecto, en la declaracin de un array en C# los corchetes se colocan detrs del tipo y no detrs de la variable. Esta pequea diferencia sintctica se debe a una importante diferencia semntica: aqu los arrays son objetos derivados de la
_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

clase System.Array. Por lo tanto, y esto es muy importante, cuando declaramos un array en C# este an no se habr creado, es decir, no se habr reservado an memoria para l. En consecuencia, los arrays de C# son todos dinmicos, y antes de poder usarlos habr que instanciarlos, como si fuera cualquier otro objeto. Veamos un breve ejemplo de lo que quiero decir:

string[] nombres; // Declaracin del array nombres = new string[3]; // Instanciacin del array
En efecto, tal como podis apreciar, el array nombres ser utilizable

nicamente a partir de su instanciacin. En este ejemplo, el nmero 3 que est dentro de los corchetes indica el nmero total de elementos de que constar el array. No os equivoquis, puesto que todos los arrays de C# estn basados en cero, esto es, el primer elemento del array es cero. Por lo tanto, en este caso, el ltimo elemento sera 2 y no 3, ya que son tres los elementos que lo componen (0, 1 y 2). Veamos un ejemplo algo ms completo y despus lo comentamos:

Actividad No.1
using System; namespace ejercicio1 { class ArraysApp { static void Main() { string[] nombres; // Declaracin del array ushort num=0; do { try { Console.Write("Cuntos nombres vas a introducir? "); num=UInt16.Parse(Console.ReadLine()); } catch { continue; } } while (num==0); nombres=new string[num]; // Instanciacin del array for (int i=0; i<num; i++) { Console.Write("Escribe el nombre para elemento {0}: ", i); nombres[i]=Console.ReadLine(); }
_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

Console.WriteLine("Introducidos los {0} nombres", num); Console.WriteLine("Pulsa INTRO para listarlos"); string a=Console.ReadLine(); for (int i=0; i<num; i++) { Console.WriteLine("Elemento {0}: {1}", i, nombres[i]); } a=Console.ReadLine(); } } } Veamos ahora la salida en la consola (en rojo, como siempre, lo que se ha escrito durante la ejecucin del programa):

Cuntos nombres vas a introducir? Escribe el nombre para el elemento Escribe el nombre para el elemento Escribe el nombre para el elemento Introducidos los 3 nombres Pulsa INTRO para listarlos Elemento 0: Juanito Elemento 1: Jaimito Elemento 2: Joselito

3 0: Juanito 1: Jaimito 2: Joselito

En este pequeo programa hemos declarado un array y lo hemos instanciado despus de haber preguntado al usuario cuntos elementos iba a tener. Como veis, hemos utilizado un bucle for para recoger todos los valores que hay que meter en el array. Quiero que se preste especial atencin a cmo hemos introducido los valores en el array: en la lnea

"nombres[i] = Console.ReadLine()"

lo que hacemos es que al elemento

"i" del array le asignamos lo que devuelva el mtodo ReadLine. Como "i" tomar valores entre 0 y el nmero total de elementos menos uno rellenaremos el array completo (fijaos en la condicin del bucle, que es i<num, es decir, que si i es igual a num el bucle ya no se itera). Despus tenemos otro bucle for para recorrer todo el array y escribir sus valores en la consola. En definitiva, para acceder a un elemento del array se usa la sintaxis

"array[ndice]".

_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

Un

array

tambin

puede

inicializarse

en

la

propia

declaracin,

bien

instancindolo (como cualquier otro objeto) o bien asignndole los valores directamente. Vamos a reescribir el ejemplo anterior instanciando el array en la declaracin del mismo:

Actividad No.2

using System; namespace ejercicio2 { class Arrays2App { static void Main() { ushort num=3; do { try { Console.Write("Cuntos nombres vas a introducir? "); num=UInt16.Parse(Console.ReadLine()); } catch { continue; } } while (num==0); // Declaracin e instanciacin del array string[] nombres=new string[num]; for (int i=0; i<num; i++) { Console.Write("Escribe el nombre para elemento {0}: ", i); nombres[i]=Console.ReadLine(); } Console.WriteLine("Introducidos los {0} nombres", num); Console.WriteLine("Pulsa INTRO para listarlos"); string a=Console.ReadLine(); for (int i=0; i<num; i++) { Console.WriteLine("Elemento {0}: {1}", i, nombres[i]); } a=Console.ReadLine(); } } }
_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

Bien, ahora, como puedes observar, el array ha sido instanciado en la misma lnea en la que fue declarado. El funcionamiento de este ejemplo, por lo tanto, sera el mismo que el del ejemplo anterior. Veamos ahora otro ejemplo de inicializacin del array asignndole los valores en la declaracin:

Actividad No.3
using System; namespace ejerccio3 { class Arrays3App { static void Main() { // Declaracin e inicializacin del array string[] nombres={ "Juanito", "Jaimito", "Joselito"}; for (int i=0; i<nombres.Length; i++) { Console.WriteLine("Elemento {0}: {1}", i, nombres[i]); } string a=Console.ReadLine(); } } } En este caso, el array nombres ha sido inicializado en la propia declaracin del mismo, asignndole los tres valores que va a contener. Como ves, dichos valores estn entre llaves y separados por comas. Las comillas son necesarias en este caso, ya que el array es de tipo string. Que dnde est la

instanciacin del array? Bueno, cuando hacemos esto, la instanciacin la hace por debajo el compilador, es decir, de forma implcita. Presta atencin tambin a la condicin del bucle: ahora hemos usado la propiedad Length del array nombres en lugar de una variable. En efecto, esta propiedad nos

devuelve el nmero de elementos de un array. Por lo tanto, la salida en consola de este programa sera esta:

Elemento 0: Juanito Elemento 1: Jaimito Elemento 2: Joselito

_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

Por otro lado, el hecho de que un array haya sido inicializado no quiere decir que sea inamovible. Si un array que ya contiene datos se vuelve a instanciar, el array volver a estar vaco, y obtendr las dimensiones de la nueva instanciacin.

Bien, todos estos arrays que hemos explicado hasta el momento son arrays unidimensionales, es decir, que tienen una sola dimensin (un solo ndice).

Evaluacin
1. Realice un programa que almacene y lea los siguientes Datos del campeonato de ftbol Colombiano y que busque el nombre del equipo de acuerdo a la posicin en el campeonato nacional es decir Si presionamos la posicin 9 entonces nuestro programa mostrar Millonarios

1. Atltico Huila 2. Indep. Medelln 3. Atltico Nacional 4. Indep. Santa Fe 5. La Equidad 6. Atltico Junior 7. Ccuta Deportivo 8. Deportivo Cali 9. Millonarios 10. Real Cartagena 11. Deportivo Pasto 12. Deportivo Pereira 13. Deportes Quindo 14. Amrica 15. Once Caldas 16. Deportes Tolima 17. Boyac Chic 18. Envigado

Bibliografa
http://www.elguille.info/NET/cursoCSharpErik/Entrega11/Entrega11.htm[01-08-2009 05:00]

_______________________________________________________________________________________________________________ Por Juan Carlos Prez P. versin 1.0 de 2009 Sitio web http://200.75.77.34/protics

Vous aimerez peut-être aussi