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 anomenatInt_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 tipusInteger
.
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'arrayMy_Array
.My_Array(5) := 42
: Assigna el valor 42 a l'element en la posició 5 de l'arrayMy_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'arrayMy_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ó:
Exercici 3: Iteració
Descripció: Itera sobre els elements de l'array My_Float_Array
i mostra cada element per pantalla.
Solució:
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.
Curs de Programació en Ada
Mòdul 1: Introducció a Ada
Mòdul 2: Conceptes Bàsics
- Variables i Tipus de Dades
- Operadors i Expressions
- Estructures de Control
- Bucles en Ada
- Subprogrames: Procediments i Funcions
Mòdul 3: Tipus de Dades Avançats
Mòdul 4: Programació Modular
Mòdul 5: Concurrència i Programació en Temps Real
Mòdul 6: Temes Avançats
Mòdul 7: Millors Pràctiques i Optimització
- Estil de Codi i Millors Pràctiques
- Depuració i Proves
- Optimització del Rendiment
- Consideracions de Seguretat