Simscript III/Dictionnaire des instructions/FIND
L’énoncé find permet de rechercher la première valeur (ou le premier pointeur) qui satisfait aux conditions spécifiées dans une expression logique introduite par une phrase "with" accolée à une phrase "for". Les exemples qui suivent la syntaxe du find feront mieux comprendre l’utilité de cet énoncé.
Exemples :
- 1.
for i = 1 to 10 with x(i) < 5
find the first case
On récupère la première valeur de l’index i qui vérifie la condition x(i) < 5
- 2.
for each Ville with Population(Ville) > 100000
find Grande_Ville = Nom(Ville)
On récupère dans la variable Grande_Ville (de type text) le nom de la première ville de plus de 100000 habitants.
- 3.
for each Personne in Vie
with Age(Personne) >= 100
find the first case
if found,
remove the Personne from Vie
destroy Personne
endif;
...
On supprime le premier centenaire de l’ensemble Vie.
for each Pompe
with type_Essence (pompe) = _sans_plomb
and Reserve (pompe) > = 100.0
find the first case
if found,
let Reserve (pompe) = Reserve (pompe) – le_plein(auto)
else
:
endif;
L’énoncé find doit toujours être introduit par au moins un for qui contient un with ou un unless. La phrase for ne doit cependant pas contrôler une boucle do ... loop. Enfin, la phrase optionnelle if none ou if found suit les mêmes règles que le if...else...endif.