Els arrays són una estructura de dades fonamental en molts llenguatges de programació, incloent Ada. Un array és una col·lecció d'elements del mateix tipus, emmagatzemats en posicions de memòria contigües. En aquest tema, aprendrem com declarar, inicialitzar i utilitzar arrays en Ada.

Continguts

Declaració d'Arrays

En Ada, els arrays es poden declarar de diverses maneres. La forma més bàsica és especificar el tipus d'element i el rang d'índexs.

-- Declaració d'un array d'enters amb índexs de 1 a 10
type Int_Array is array (1 .. 10) of Integer;

Explicació

  • type Int_Array: Defineix un nou tipus d'array anomenat Int_Array.
  • array (1 .. 10): Especifica que l'array tindrà índexs que van de 1 a 10.
  • of Integer: Indica que cada element de l'array serà de tipus Integer.

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ó d'un array amb valors específics
My_Array : Int_Array := (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

Inicialització Posterior

-- Declaració sense inicialització
My_Array : Int_Array;

-- Inicialització posterior
My_Array := (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

Accés als Elements d'un Array

Els elements d'un array es poden accedir utilitzant els seus índexs.

-- Accés a l'element en la posició 3
Element : Integer := My_Array(3);

-- Modificació de l'element en la posició 5
My_Array(5) := 42;

Explicació

  • My_Array(3): Accedeix a l'element en la posició 3 de l'array My_Array.
  • My_Array(5) := 42: Assigna el valor 42 a l'element en la posició 5 de l'array My_Array.

Iteració sobre Arrays

Es poden utilitzar bucles per iterar sobre els elements d'un array.

Exemple amb un Bucle for

-- Iteració sobre tots els elements de l'array
for Index in My_Array'Range loop
    Put_Line(Integer'Image(My_Array(Index)));
end loop;

Explicació

  • for Index in My_Array'Range: Itera sobre tots els índexs de l'array My_Array.
  • Put_Line(Integer'Image(My_Array(Index))): Mostra el valor de cada element de l'array.

Arrays Multidimensionals

Ada també permet la declaració d'arrays multidimensionals.

Exemple d'un Array Bidimensional

-- Declaració d'un array bidimensional de 3x3
type Matrix is array (1 .. 3, 1 .. 3) of Integer;

-- Inicialització d'un array bidimensional
My_Matrix : Matrix := ((1, 2, 3), (4, 5, 6), (7, 8, 9));

Accés als Elements d'un Array Bidimensional

-- Accés a l'element en la posició (2, 3)
Element : Integer := My_Matrix(2, 3);

-- Modificació de l'element en la posició (1, 1)
My_Matrix(1, 1) := 42;

Exercicis Pràctics

Exercici 1: Declaració i Inicialització

Descripció: Declara un array de 5 elements de tipus Float i inicialitza'l amb els valors 1.1, 2.2, 3.3, 4.4, i 5.5.

Solució:

type Float_Array is array (1 .. 5) of Float;
My_Float_Array : Float_Array := (1.1, 2.2, 3.3, 4.4, 5.5);

Exercici 2: Accés i Modificació

Descripció: Accedeix al tercer element de l'array My_Float_Array i assigna-li el valor 9.9.

Solució:

My_Float_Array(3) := 9.9;

Exercici 3: Iteració

Descripció: Itera sobre els elements de l'array My_Float_Array i mostra cada element per pantalla.

Solució:

for Index in My_Float_Array'Range loop
    Put_Line(Float'Image(My_Float_Array(Index)));
end loop;

Conclusió

En aquesta secció, hem après com declarar, inicialitzar i utilitzar arrays en Ada. També hem vist com accedir als elements d'un array, iterar sobre ells i treballar amb arrays multidimensionals. Els exercicis pràctics proporcionats haurien d'ajudar a reforçar aquests conceptes. En el següent tema, explorarem els registres, una altra estructura de dades important en Ada.

© Copyright 2024. Tots els drets reservats