Arrays

Solo disponible en BuenasTareas
  • Páginas : 14 (3332 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de septiembre de 2012
Leer documento completo
Vista previa del texto
Arrays Static arrays Bueno, aquí nos encontramos una vez más tratando de develar otro de los oscuros misterios de la programación. Por cierto, no se si servirá de ánimo para aquellos que empiezan, pero dejenme decirles que la programación no tiene nada de misterioso, simplemente hay que sentarse y esforzarse, como en cualquier materia de la secundaria o la universidad. Claro, es que por algunaestúpida razón los "genios", los "gurues" nos hacen pensar que todo es demasiado dificil y que sólo ellos son capaces de comprenderlo... imbéciles. En fin, el día de hoy nos ha tocado hablar sobre los arrays. Un array es una colección indexada de elementos del mismo tipo. ¿Cómo? A ver, hasta el momento seguramente te has estado manejando con los tipos de datos comunes que vienen con Delphi, merefiero a integers, strings, chars, etc, etc. Si pensamos en una lista de varios integers o varios strings, etc. y a cada elemento le damos un índice, para luego poder hacer referencia a él fácilmente, entonces estamos pensando en un array. En el array todos los elementos de la lista son del mismo tipo, por ejemplo, o son todos integers o son todos strings, pero no puede haber integers y strings dentrode un mismo array. Nota: esto no es totalmente cierto, ya que como veremos más adelante también existen los arrays de tipo variant que nos permiten guardar datos de diferentes tipos dentro de un mismo array. Sin embargo, como regla general, los elementos de los arrays son todos del mismo tipo. Veamos una declaración de 2 arrays de tipo integer:
var P: array [0..9] of integer; Q: array [10..19]of integer;

Nota: fíjate que lo que va entre corchetes es el rango de los índices y no la cantidad de elementos del array. Por ejemplo, [0..9] en vez de [10]. En la mayoría de los lenguajes el primer elemento de la lista tiene índice 0, el segundo 1, el tercero 2 y así hasta count - 1. Por ejemplo, el array de 10 elementos llamado P estará formado por P[0], P [1], ..., P[8], P[9]. Esto es lo"común" cuando hablamos de arrays y es lo que hemos hecho en el ejemplo anterior. Sin embargo, en el ejemplo anterior también vemos que hay otro array llamado Q, de 10 elementos, pero que empieza con índice 10. Como ves, en Delphi las cosas no son iguales que en el resto de los lenguajes, en este sentido hay más libertades. Sin embargo, no es recomendable crear arrays que comiencen con índicesdistintos de 0 fundamentalmente para no perder compatibilidad con los demás lenguajes. Veamos ahora un ejemplo de un array en acción.
var P: array [0..9] of integer; i: integer; begin for i := 0 to 9 do P[i] := i; end;

Aquí se ve cómo llenar un array con números. Para leer o escribir cualquier elemento del array sólo debemos llamarlo por NombreArray[Indice]. Muy fácil, verdad. Muy bien, hasta elmomento hemos visto arrays de 1 dimensión, es decir, arrays que tienen elementos a los que podemos hacer referencia utilizando 1 sólo índice. Sin embargo, esto no siempre es así y algunas veces se torna necesario crear arrays más complejos, arrays multidimensionales (más de 1 dimensión). Dentro de los arrays multidimensionales, el caso más común es el de los bidimensionales (2 índices) y de vez encuando veráz por ahí algún loco que se atrevió a usar uno de 3 dimensiones

(tridimensional). Cualquiera sea el caso, si no me equivoco Delphi permite crear arrays de hasta 12 dimensiones, algo de lo que por supuesto no haremos uso simplemente porque ya un array de 4 dimensiones es imposible de dibujar y por lo tanto muy dificil de imaginar. De todas formas, los arrays bidimensionales sí son muycomunes, en verdad seguramente los has estudiado en la escuela con el nombre de "tabla de doble entrada". Bueno, pero basta de cháchara y veamos como usar un array de estas características.
var P: array [0..9, 0..9] of integer; i, x: integer; begin for i := 0 to 9 do for x := 0 to 9 do P[i,x] := i; end;

Bien, el ejemplo anterior declara al array bidimensional (10 x 10) P de tipo integer. De...
tracking img