lunes, 10 de junio de 2013

Curso programación desde 0 - Tema 4 - Arrays

Ahora que hemos visto las variables http://robertogascon.blogspot.com.es/2013/06/curso-programacion-desde-0-tema-3.html es bueno que conocer los arrays; Hemos visto a las variables como cajas que almacenan un dato, siguiendo con ese ejemplo podremos ver un array como una estantería que almacena cajas; en esa estantería tendremos un numero de huecos para guardar cajas, y sabiendo a que hueco mirar, podremos recoger el valor de esa caja, así de simple.

Unos habréis imaginado un tipo de estantería, otros, otros tipos distintos y ninguna estantería tiene nada que ver con la anterior; con los arrays pasa más o menos lo mismo no siempre vamos a necesitarlos del mismo tipo, los arrays se clasifican en dimensiones; las dimensiones en un array se pueden entender como el “numero de estantes” para hacernos una idea, así por ejemplo, un array de una dimensión tendrá una única tabla, en la que guardaremos los datos en línea, uno tras otro, pero ojo, un array de 2 dimensiones, no tendrá 2 estantes, un array de 2 dimensiones puede tener muchas cajas una detrás de otra, y muchos estantes, ahora os pondré un ejemplo para entenderlo mejor;
Vamos a declarar y ver un array de una dimensión:

Var ArrayDeEjemplo [] texto;

Ahora que está declarado, veis que es casi igual que las variables, tan solo les diferencia los corchetes del final, los cuales indican el tamaño del array, al dejarlo en blanco no le damos ningún tamaño y el solo se va agrandando según sea necesario, aunque esta es la manera que más recursos consume, lo ideal habría sido:

Var ArrayDeEjemplo [5] texto;

Así le decimos que almacenaremos 6 variables, y si 6, no es un error, los arrays comienzan su índice en 0, por lo que podremos guardar cajas en el hueco 0, en el 1, en el 2, y así hasta el 5, que hacen un total de 6 huecos

Si vemos el interior del array después de haberle guardado 6 datos será algo parecido a esto
0
1
2
3
4
5
Texto de ejemplo
Otro texto
563
Hola soy el cuarto
Y yo el 5
89798

Así cuando queramos ver los datos del array en la ubicación numero 3 deberemos llamarlo así
ArrayDeEjemplo [3];
Y veremos el mensaje Hola soy el cuarto

Vamos a complicarlo un poco más, y a ver un array de 2 dimensiones, en el anterior veíamos una única balda con algunos huecos, en este veremos una estantería con muchas baldas las cuales tienen muchos huecos, lo declaramos:

Var ArrayDe2Dimensiones [3,4] Numero;

Hemos declarado un array de 4 baldas y 5 huecos cada una, lo cual es algo parecido a esto:

0
1
2
3
4
0
3
5
56
48
76
1
20
90
150
70
80
2
35
20
15
32
14
3
98
63
57
41
01

Como vemos es una estantería, con varias baldas (filas) y varios huecos (columnas), estoy seguro de que con este ejemplo os a resultado fácil entenderlo.

Ahora me diréis ¿¿solo hay arrays de una y 2 dimensiones?? Pues no, hay arrays de tantas dimensiones como nuestra imaginación alcance, pero los más comunes son los de 1 y los de 2 dimensiones, en juegos de 3 dimensiones, también se utilizan los de 3 dimensiones, pero poco, un array de 3 dimensiones estaría declarado con el siguiente código:

Var ArrayDe3Dimensiones [2, 2,2] texto;

Y podríamos imaginarlo como un cubo, es más, el array anterior podría ser perfectamente el cubo de rubick


Con todas sus caras, cada una almacenaría un número, correspondiente con un color, así los huecos s
ArrayDe3Dimensiones [0, 0,0] podría ser un 1, que corresponde al amarillo
ArrayDe3Dimensiones [0, 1,0] podría ser un 2, que corresponde al blanco
ArrayDe3Dimensiones [0, 0,1] podría ser un 3, que corresponde al azul
…..

Un ejercicio de practica puede ser que hagáis un programa que almacene en 2 huecos distintos el nombre y el apellido de vuestros vecinos(los datos pueden ser ficticios) teniendo un vecino por balda

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays (Tema actual)
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?