Logique conditionnelle
Dernière mise à jour
Cet article vous a-t-il été utile ?
Dernière mise à jour
Cet article vous a-t-il été utile ?
La logique, ou plus spécifiquement, la logique conditionnelle, vous permet de spécifier une action ou un jeu d'actions en fonction d'un test. Après avoir évalué le test, vous obtenez une valeur booléenne représentant True
ou False
que vous pouvez utiliser pour contrôler le flux du programme. En d'autres terme, il s'agit de créer des formules comme dans Excel.
Les variables booléennes ne peuvent stocker que deux valeurs appelées Vrai ou Faux, Oui ou Non, 1 ou 0. Nous utilisons rarement des booléens pour effectuer des calculs mais ils sont très utile lorsque l'on émet des hypothèses.
L’énoncé "Si" est un concept clé de la programmation : "Si c’est vrai, alors cela se produit, sinon quelque chose d’autre se produit. L’action résultante de l’instruction est conduite par une valeur booléenne. Il existe plusieurs façons de définir une instruction "Si" dans Dynamo :
Icône
Nom
Syntaxe
Entrée
Sortie
Si
If
test, true, false
result
Formule
IF(x,y,z)
x, y, z
result
Code Block
(x?y:z)
x, y, z
result
Passons en revue un exemple sur chacun de ces trois blocs en utilisant la condition "Si" :
Si le test est vraie alors le texte du code bloc est visible, si le test est faux alors le chiffre Pi est visible.
Utilisons de la logique pour séparer une liste de nombres dans une liste de nombres pairs et une liste de nombres impairs.
Number Range (1) - Créons d'abord une liste de 0 à 10.
Module (%) (4) - Ce bloc particulier calcule le reste d'une vision euclidienne entre le dividende (la séquence précédente) et le diviseur 2. Ainsi :
8 divisé par 2 égal 4, il reste 0. 8 est donc pair.
9 divisé par 2 égal 4 mais il reste 1. 9 est donc impair. La sortie de ce bloc est donc le reste.
Equality Test (==) (5) - Ajouter un test d’égalité à la toile. Connectez la sortie modulo dans l’entrée x et la valeur 0.
Watch (6) - La sortie du test d’égalité est une liste de valeurs alternant entre vrai et faux. Ce sont les valeurs utilisées pour séparer les éléments de la liste. 0 (ou vrai) représente des nombres pairs et (1, ou faux) représente des nombres impairs.
List.FilterByBoolMask (7) - Très utilisé sur des sujets de méthodes, ce bloc permet d'interroger une liste et d'y appliquer un filtre. Ce bloc va filtrer les valeurs en deux listes différentes basées sur le booléen d’entrée. Connectez la plage de nombres d’origine dans l’entrée de liste et la sortie de test d’égalité dans l’entrée de mask (le filtre). La sortie in représente les valeurs vraies tandis que la sortie out représente les valeurs fausses.
Pour comprendre, je vous propose de faire l'exercice ci-après. Le résultat final de ce programme est ici Building Blocks of Programs - Logic.dyn.