fonction longueur(val chaîne_source : chaîne) : entier;
fonction morceau(val var_chaîne : chaîne,
pos_début, pos_fin : entier) : chaîne;
fonction index(val chaîne_source,
chaîne_recherchée : chaîne) : entier;
proc insérer(val chaîne_inseree : chaîne, position : entier,
valres chaîne_source : chaîne);
proc effacer(val pos_début, pos_fin : entier,
valres chaîne_source : chaîne);
# Exemples #
chaîne_source : chaîne := "Microsoft ajoutera un outil "
+ "XML à sa suite Office en 2003.";
taille : entier := longueur(chaîne_source);
taille := 58;
insérer("peut-être ", 19, chaîne_source);
chaîne_source : chaîne := "Microsoft ajoutera peut-être un outil "
+ "XML à sa suite Office en 2003.";
fonction compter_ligne(val rel : relation) : entier;
fonction énumérer_ligne(val rel : relation) : entier;
fonction énumération_terminée(val numéro_énumération : entier)
: booléen;
proc fermer_énumération(val numéro_énumération : entier);
fonction ligne_suivante(val numéro_énumération : entier) : ligne;
proc ajouter_ligne(val rel : relation, ligne : t_ligne,
res ok : booléen);
proc supprimer_ligne(val rel : relation, clé : t_clé,
res ok: booléen);
proc modifier_ligne(val rel : relation, ligne : t_ligne,
res ok booléen);
proc rechercher_ligne(val rel : relation, clé : t_clé,
res ligne : t_ligne, trouvé : booléen);
# Exemples #
var num_lignes : entier := compter_ligne(PERSONNEL);
ajouter_ligne(PERSONNEL, "1032578 MOULET Isabelle", reussi);
rechercher_ligne(PERSONNEL, 1036412, enregistrement, existe);
algorithme
type opération : (1, 2, 3);
type tuple : struct
ID : entier,
NOM : chaîne,
PRENOM : chaîne
fstruct;
var action : opération;
tableau : relation;
ligne : tuple;
ident : entier;
nom, prénom : chaîne;
proc affichage(val rel : relation);
var i : entier := 0;
début
i := énumérer_ligne(rel);
écrire("\tID \tNom \tPrénom");
tant que non(énumération_terminée(i))
ligne := tuple_suivant(i);
avec ligne faire
écrire("\t", ID, "\t", NOM, "\t", PRENOM);
favec;
fin tant que;
fin
proc modification(rel : relation);
var réussi : boolean;
début
choix
action = 1 -> cas
écrire("fournissez les données (ID, NOM, PRENOM) :");
lire(ident, nom, prénom);
avec ligne faire
lire(ID, NOM, PRENOM);
favec;
ajouter_ligne(rel, ligne, réussi);
si réussi alors écrire("Ajout réussi !");
sinon écrire("Echec de l'ajout !");
fsi
fcas
action = 2 -> cas
écrire("fournissez la clé de l'enregistrement (ID) :");
lire(ident);
supprimer_ligne(rel, ident, réussi);
si réussi alors écrire("Suppression réussie !");
sinon écrire("Echec de la suppression !");
fsi
fcas
action = 3 -> cas
écrire("fournissez les données (ID, NOM, PRENOM) :");
avec ligne faire
lire(ID, NOM, PRENOM);
favec;
modifier_ligne(rel, ligne, réussi);
si réussi alors écrire("Modification réussie !");
sinon écrire("Echec de la modification !");
fsi
fcas
fchoix
fin
proc recherche(val rel : relation)
var réussi : boolean;
début
écrire("fournissez la clé de l'enregistrement (ID):");
lire(ident);
rechercher_ligne(rel, ident, ligne, reussi);
si réussi alors
écrire("La recherche a réussi :\n");
écrire(ligne);
sinon écrire("La recherche a échoué !");
fsi
fin
début
tableau := PERSONNEL;
écrire("1 - Ajout d'un enregistrement,\n",
"2 - Modification du tableau,\n",
"3 - Recherche d'un enregistrement.\",
"choix : ");
lire(action);
choix
action = 1 -> cas
affichage(tableau);
fcas
action = 2 -> cas
modification(tableau);
fcas
action = 3 -> cas
recherche(tableau);
fcas
fchoix
fin