Logique conditionnelle

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.

Booléen

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.

Instructions

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" :

  1. Si le test est vraie alors le texte du code bloc est visible, si le test est faux alors le chiffre Pi est visible.

Filtrer des listes

Utilisons de la logique pour séparer une liste de nombres dans une liste de nombres pairs et une liste de nombres impairs.

  1. Number Range (1) - Créons d'abord une liste de 0 à 10.

  2. 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.

  3. Equality Test (==) (5) - Ajouter un test d’égalité à la toile. Connectez la sortie modulo dans l’entrée x et la valeur 0.

  4. 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.

  5. 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.

Plus de détails sur Dynamo Primer...

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.

Dernière mise à jour

Cet article vous a-t-il été utile ?