M3 - Programació estructurada / Continguts UF1: Taules
De wikiserver
Taules (Arrays)
- Conjunt de variables que conté valors tots del mateix tipus.
- El nombre de posició de l'element s'anomena l'índex.
- Conté N element.
- Per referir-se als diferents elements de la taula s'utilitza el nom de la taula seguit per l'índex entre claudàtors ([]).
- Primer element de la taula té índex 0.
- Els elements són: c[0], c[1], c[2]...
Contingut
Declaració i creació de taules
- La següent declaració i expressió crea una taula, que conté 12 elements int, i emmagatzema la referència
de la taula en la variable c:
int c[] = new int[12];
- Aquesta tasca també pot realitzar-se en dos passos, com es mostra a continuació:
int c[ ]; // declara la variable taula c = new int[12]; // crea la taula; ho assigna a la variable tipus taula
- En crear una taula, cadascun dels seus elements rep un valor predeterminat: zero per als elements numèrics, false per als elements boolean.
- Quan es declara un taula, el seu tipus i els claudàtors poden combinar-se al principi de la declaració per indicar que tots els identificadors a la declaració són variables tipus taula. Per exemple, la declaració
double[] taula1, taula2;
- indica que taula1 i taula2 són variables tipus “taula de double”. L'anterior declaració és
- equivalent a:
double taula1[]; double taula2[]; o double[] taula1; double[] taula2;
Inicialització de taules
- Es pot crear un taula i inicialitzar els seus elements amb una llista d'expressions separades per comes (llista inicialitzadora) tancada entre claus ({ i });
- la longitud de la taula es determina sobre la base del nombre d'elements en la llista inicialitzadora. Per exemple,
la declaració:
int arrayEnters[] = { 10, 20, 30, 40, 50 };
- crea un taula de cinc elements amb els valors d'índexs 0, 1, 2, 3 i 4. L'element arrayEnters [0] s'inicialitza amb 10, arrayEnters [1] s'inicialitza amb 20, i així en endavant.
- Aquesta declaració no requereix que new creï l'objecte taula.
- La grandària de la taula queda determinada pel nombre d'elements de la llista inicialitzadora.
Manipulació de dades
- No és possible usar l’identificador de l’array directament per invocar operacions i així manipular les dades contingudes.
- Per exemple, no és possible fer el següent:
int[] a = {10, 20, 30, 40, 50}; int[] b = {50, 60, 70, 80, 100}; int[] c = a + b; <Pre> :*Les dades emmagatzemades dins d’arrays nomès es poden manipular de manera individual, posició per posició. :*Cada posició d’un array té exactament el mateix comportament que una variable de tipus primitiu.Exemples
Emmagatzematge de l’entrada de dades en una taula
Entrada de seqüències de valors per teclat
Tractament seqüencial de taules
La sentència for
Recorregut de taules
La sentència for millorada
Cerca seqüencial en taules
Cerca seqüencial en taules ordenades
Taules multidimensionals
Taules bidimensionals amb files de diferents longituds
Creació de taules bidimensionals
Recorregut en taules bidimensionals
===Cerca en taules bidimensionals===