|
IMPLEMENTATION CarnetAnniversairesRII |
REFINES CarnetAnniversairesRI |
IMPORTS noms_Arr(NOM,max), dates_Arr(DATE,max), index_Nvar(max) |
SEES Bool_TYPE |
INVARIANT |
index = index_nvar |
Ù
noms = 1..index <| noms_arr |
Ù
dates = 1..index <| dates_arr |
OPERATIONS |
r¬¾ ajoutI(n,a) = VAR b,i,j IN |
j¬¾ index_val_nvar; |
IF j¹0
THEN b,i¬¾noms_ch_eql_arr(1,j,n) END; |
IF j=0Ú b=FALSE
THEN |
b¬¾index_neq_nvar(maxn); |
IF b=TRUE |
THEN noms_sto_arr(j+1,n);
dates_sto_arr(j+1,a); |
index_inc_nvar; r:=ok |
ELSE r:=plein END |
ELSE r:=deja_connu END |
END; |
r,a¬¾trouveI(n) = |
VAR b,i,j |
IN j¬¾ index_val_nvar; |
IF j¹0
THEN b,i¬¾noms_ch_eql_arr(1,j,n) |
ELSE b:=FALSE; i:=maxn END; |
IF b=TRUE THEN r:=ok |
ELSE r:=inconnu END |
a¬¾ dates_val_arr(i) |
END; |
|