Boucles et décisions : opérateurs de comparaison et opérateurs logiques
Afin d'aider votre programme à prendre des décisions et savoir s'il doit ou non quitter des boucles,
il existe certains opérateurs qui sont utilisés uniquement pour la comparaison de valeurs.
Bien qu'ils puissent être employés partout où une expression est utilisée, vous les verrez presque
toujours employés avec des mots-clés contrôlant le déroulement de votre programme.
Il y a six opérateurs de comparaison et deux opérateurs logiques, décrits ci-dessous.
Chacun de ces opérateurs peut être utilisé avec les cinq types de variables intégrés de base.
Comme les types de donnée numérique intégrés à PureBasic sont des valeurs signées (qui peuvent stocker des nombres
positifs et négatifs) toutes les comparaisons utilisées sont également signées. Notez que
pour les comparaisons de chaînes, les valeurs ASCII des caractères sont prises en compte
donc la comparaison est sensible à la casse, les chiffres viennent avant les caractères alphabétiques,
les symboles sont entre les deux et ainsi de suite.
Tous ces opérateurs sont basés sur la logique Booléenne,
dans laquelle il existe deux valeurs - Vrai ou Faux. En PureBasic Faux est représenté par la
valeur zéro et toute valeur différente de zéro est donc considérée comme Vrai.
Notez que dans toutes les descriptions suivantes LHS est le sigle de Left Hand Side (partie gauche) et RHS
est le sigle de Right Hand Side. Ces sigles indiquent la position d'un élément relatif à
l'opérateur (c'est à dire, si l'élément est du côté gauche ou du côté droit de l'opérateur).
Opérateurs de comparaison
Les opérateurs de comparaison sont ceux qui effectuent les comparaisons lorsque vous contrôlez
le déroulement de votre programme. Il y a six opérateurs de ce type, comme indiqué ci-dessous.
Egal (égalité), =
Cet opérateur est utilisé pour vérifier si la valeur de l'expression sur la LHS de l'
opérateur est la même que la valeur de l'expression sur la RHS de l'opérateur. Si les deux valeurs
sont identiques alors cet opérateur renvoie un résultat Vrai (qui est utilisé avec les
mots-clés contrôlant le déroulement du programme). Vous remarquerez que c'est le même symbole qui est
utilisé pour assigner des valeurs à des variables, mais PureBasic comprendra quelle opération
effectuer (assignation ou test d'égalité).
Différent de (inégalité), <>
L'opérateur Différent de effectue la fonction opposée de l'opérateur égalité. Son
rôle est de vérifier si la valeur de l'expression sur la LHS n'est pas la même que
la valeur de l'expression sur la RHS. Si les valeurs sont différentes alors le résultat de
la comparaison est Vrai. Si elles sont identiques alors le résultat est Faux. L'opérateur doit être tapé
comme indiqué, c'est à dire que vous ne pouvez pas écrire ><.
Inférieur à, <
Comme son nom l'indique, cet opérateur compare les valeurs des expressions sur les LHS et RHS
et si la valeur de l'expression sur la LHS est inférieure à la valeur de l'expression
sur la RHS alors le résultat est Vrai. Dans tout autre cas le résultat est Faux.
Supérieur à, >
Cet opérateur renvoie un résultat Vrai si la valeur de l'expression sur la LHS
est supérieure à la valeur de l'expression sur la RHS.
Inférieur ou égal à, <=
Cet opérateur compare la valeur de l'expression sur la LHS à la valeur de l'
expression sur la RHS. Si la valeur de l'expression sur la LHS est inférieure à, ou la
même que, la valeur de l'expression sur la RHS alors l'opérateur renvoie un résultat
Vrai. Dans tout autre cas il renvoie un résultat Faux. Notez que c'est l'opérateur
ayant la fonction opposée de l'opérateur Supérieur à. L'opérateur doit être tapé
comme indiqué, c'est à dire que vous ne pouvez pas écrire =<.
Supérieur ou égal à, >=
Cet opérateur compare la valeur de l'expression sur la LHS à la valeur de l'
expression sur la RHS. Si la valeur de l'expression sur la LHS est supérieure, ou la
même que, la valeur de l'expression sur la RHS alors l'opérateur renvoie un résultat
Vrai. Dans tout autre cas il renvoie un résultat Faux. Notez que c'est l'opérateur
ayant la fonction opposée de l'opérateur Inférieur à. L'opérateur doit être tapé
comme indiqué, c'est à dire que vous ne pouvez pas écrire =>.
Opérateurs logiques
Les opérateurs logiques sont utilisés lorsque vous avez besoin de combiner plus d'un opérateur de comparaison
dans le même résultat ou pour modifier le résultat, bien qu'ils puissent également être employés dans d'autres situations
où vous utiliseriez des opérateurs.
ET logique, And
And est utilisé pour combiner deux valeurs logiques (et vous permet donc
de combiner deux comparaisons), et renvoie un résultat Vrai seulement si
les deux valeurs sur les LHS et RHS sont Vrai. Dans tout autre cas il renvoie Faux comme
résultat. Cela pourrait vous aider de réfléchir au résultat de l'opérateur And extraits
de cette table :
Valeur logique de LHS |
Valeur logique de RHS |
Résultat de l'opérateur And |
Faux |
Faux |
Faux |
Faux |
Vrai |
Faux |
Vrai |
Faux |
Faux |
Vrai |
Vrai |
Vrai |
(cette table figure également dans le manuel de référence, dans les thèmes généraux : Variables, Types et Opérateurs.)
OU logique, Or
L'opérateur Or est également utilisé pour combiner deux valeurs logiques (et donc vous permet
de combiner deux comparaisons). Cet opérateur renvoie un résultat Vrai si l'une des
valeurs sur les LHS ou RHS est Vrai. Il renverra Faux seulement si les deux parties sont
Faux. Cela pourrait vous aider de réfléchir au résultat de l'opérateur Or
extraits de cette table :
Valeur logique de LHS |
Valeur logique de RHS |
Résultat de l'opérateur Or |
Faux |
Faux |
Faux |
Faux |
Vrai |
Vrai |
Vrai |
Faux |
Vrai |
Vrai |
Vrai |
Vrai |
(cette table figure également dans le manuel de référence, dans les thèmes généraux : Variables, Types et Opérateurs.)