2020-12-19 15:12:22 +00:00
|
|
|
with Ada.Text_IO; use Ada.Text_IO;
|
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
package Vector is
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- on crée 2 sous modules pour chaque type de base
|
|
|
|
-- créer un seul et même module pour les deux types à la fois est compliqué à réaliser.
|
2021-01-13 14:13:57 +00:00
|
|
|
|
2020-12-24 16:55:22 +00:00
|
|
|
generic
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
type T_Entier is range <>;
|
2020-12-24 16:55:22 +00:00
|
|
|
Capacite: Positive;
|
|
|
|
|
|
|
|
package Entier is
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- on permet l'affichage direct des T_Entier
|
|
|
|
package Text_T_Entier is
|
|
|
|
new Ada.Text_IO.Integer_IO(Num => T_Entier);
|
|
|
|
use Text_T_Entier;
|
|
|
|
|
|
|
|
type T_Vecteur is array (0..Capacite-1) of T_Entier;
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2021-01-13 14:13:57 +00:00
|
|
|
-- permet d'initialiser le vecteur avec pour tout i, vec[i] = value
|
2021-01-22 14:26:52 +00:00
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in T_Entier);
|
2021-01-13 14:13:57 +00:00
|
|
|
|
|
|
|
-- permet d'initialiser le vecteur avec pour tout i, vec[i] = i
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure identity(vec: in out T_Vecteur);
|
2021-01-13 14:13:57 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- comme en proba, on calcule "la fonction de répartition" du vecteur
|
|
|
|
procedure repartition(vec: in out T_Vecteur);
|
|
|
|
|
2021-01-13 14:13:57 +00:00
|
|
|
-- permet de renverser le vecteur, équivalent vec[::-1] en python
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure flip(vec: in out T_Vecteur);
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- print to console
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure put(vec: in T_Vecteur);
|
2021-01-22 14:26:52 +00:00
|
|
|
-- print to file
|
|
|
|
procedure put(file: in Ada.Text_IO.File_Type; vec: in T_Vecteur);
|
2020-12-24 16:55:22 +00:00
|
|
|
|
|
|
|
end Entier;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
generic
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
type T_Reel is digits <>;
|
2020-12-24 16:55:22 +00:00
|
|
|
Capacite: Positive;
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
package Reel is
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- on permet l'affichage direct des T_Reel
|
|
|
|
package Text_T_Reel is
|
|
|
|
new Ada.Text_IO.Float_IO(Num => T_Reel);
|
|
|
|
use Text_T_Reel;
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
type T_Vecteur is array (0..Capacite-1) of T_Reel;
|
2020-12-24 16:55:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- permet d'initialiser le vecteur avec pour tout i, vec[i] = value
|
|
|
|
procedure initialize(vec: in out T_Vecteur; value: in T_Reel);
|
2021-01-13 14:13:57 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- somme toutes les valeurs du vecteur
|
|
|
|
function sum(vec: in T_Vecteur) return T_Reel;
|
2021-01-13 14:13:57 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- permet de renverser le vecteur, équivalent vec[::-1] en python
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure flip(vec: in out T_Vecteur);
|
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
-- print to console
|
2020-12-24 16:55:22 +00:00
|
|
|
procedure put(vec: in T_Vecteur);
|
2021-01-22 14:26:52 +00:00
|
|
|
-- print to file
|
|
|
|
procedure put(file: in Ada.Text_IO.File_Type; vec: in T_Vecteur);
|
2020-12-19 15:12:22 +00:00
|
|
|
|
2021-01-22 14:26:52 +00:00
|
|
|
end Reel;
|
2020-12-23 19:55:16 +00:00
|
|
|
|
2020-12-19 15:12:22 +00:00
|
|
|
end Vector;
|