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