Els arrays són una estructura de dades fonamental en la programació que permet emmagatzemar múltiples valors del mateix tipus en una sola variable. En ALGOL, els arrays són molt útils per gestionar col·leccions de dades de manera eficient.
Conceptes Clau
- Definició d'Arrays: Un array és una col·lecció d'elements, tots del mateix tipus, que es poden accedir mitjançant un índex.
- Índex: Els elements d'un array es numeren a partir d'un índex, que normalment comença en 1 en ALGOL.
- Dimensionalitat: Els arrays poden ser unidimensionals (vectors) o multidimensionals (matrius).
Declaració d'Arrays
Per declarar un array en ALGOL, es fa servir la següent sintaxi:
Exemple de Declaració d'un Array Unidimensional
Exemple de Declaració d'un Array Multidimensional
Inicialització d'Arrays
Els arrays es poden inicialitzar en el moment de la seva declaració o posteriorment.
Inicialització en el Moment de la Declaració
Inicialització Posterior
begin integer array[5]; array[1] := 10; array[2] := 20; array[3] := 30; array[4] := 40; array[5] := 50; end
Accés als Elements d'un Array
Els elements d'un array es poden accedir mitjançant el seu índex.
Exemple d'Accés a Elements
Iteració sobre Arrays
És comú utilitzar bucles per iterar sobre els elements d'un array.
Exemple d'Iteració amb un Bucle for
begin integer array[5] := (1, 2, 3, 4, 5); integer i; for i := 1 step 1 until 5 do print(array[i]); end
Exercicis Pràctics
Exercici 1: Declaració i Inicialització
Descripció: Declara un array de 7 elements i inicialitza'l amb els valors de la seqüència de Fibonacci fins al setè element.
Solució:
Exercici 2: Suma d'Elements d'un Array
Descripció: Escriu un programa que sumi tots els elements d'un array de 10 elements.
Solució:
begin integer array[10] := (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); integer sum, i; sum := 0; for i := 1 step 1 until 10 do sum := sum + array[i]; print(sum); ! Ha de mostrar 55 end
Exercici 3: Matriu de Multiplicació
Descripció: Declara una matriu de 3x3 i inicialitza-la amb els valors de la taula de multiplicar del 2. Mostra la matriu.
Solució:
begin integer matrix[3, 3]; integer i, j; for i := 1 step 1 until 3 do for j := 1 step 1 until 3 do matrix[i, j] := 2 * ((i - 1) * 3 + j); for i := 1 step 1 until 3 do begin for j := 1 step 1 until 3 do print(matrix[i, j]); print(newline); end end
Resum
En aquesta secció, hem après sobre els arrays en ALGOL, incloent la seva declaració, inicialització, accés i iteració. Els arrays són una eina poderosa per gestionar col·leccions de dades i són fonamentals per a molts algorismes i aplicacions. En el següent mòdul, explorarem altres estructures de dades com els registres i els punteres.
Curs de Programació en ALGOL
Mòdul 1: Introducció a ALGOL
Mòdul 2: Sintaxi i Estructura Bàsica
- Estructura del Programa ALGOL
- Variables i Tipus de Dades
- Entrada i Sortida Bàsica
- Operadors i Expressions
Mòdul 3: Estructures de Control
Mòdul 4: Funcions i Procediments
- Definició de Funcions
- Paràmetres de Funció i Valors de Retorn
- Funcions Recursives
- Procediments en ALGOL
Mòdul 5: Estructures de Dades
Mòdul 6: Temes Avançats
Mòdul 7: Aplicacions Pràctiques
- Mètodes Numèrics
- Implementació d'Algorismes
- Construcció d'un Compilador Simple
- Estudis de Cas i Projectes