Page d'Accueil

Enoncés conditionnels : Disjonction logique :OR ou OU

 

Introduction

Notre vraie compagnie immobilière a des maisons unifamiliales, des maisons urbaines, et des condominiums. Tous les condominiums ont seulement un niveau, également désignés par un seul étage. Certaines maisons unifamiliales ont un étage, les autres ont deux et quelques autres ont trois niveaux. Toutes les maisons urbaines ont trois niveaux.

Un autre client veut acheter une maison. Le client dit qu'il veut principalement un condo, mais si notre vraie compagnie immobilière n'a pas un condominium, c'est-à-dire, si la compagnie a seulement des maisons, quelqu'elles soient, soit une maison ou un condo, il doit avoir seulement un niveau (étage) (due à une maladie, le client ne pourrait pas monter les escaliers). En considérant les propriétés de notre compagnie, nous pouvons procéder aves les énoncés suivants:

  1. La propriété est un condominium
  2. La propriété a un étage

Si nous trouvons un condo, puisque tous nos condos ont seulement un niveau, le critère imposé par le client est vrai. Même si nous considérions un autre (type de) propriété, elle importerait peu. Ceci peut être repris dans la table suivante :

Type de maison Maison
Condominium Vrai

Les autres propriétés ne seraient pas considérées, particulièrement si elles ont plus d'un étage:

Nombre d'étage Valeur
3 Faux

Pour vérifier l'une ou l'autre des deux conditions, dans l'algèbre booléenne, vous pouvez utiliser un opérateur appelé OR (OU). Nous pouvons montrer cette opération comme suit :

Condominium Un étage Condominium OU 1 étage
Vrai Faux Vrai

Dans l'algèbre booléenne, ce type de comparaison est utilisé pour exécuter l'opérateur OU. Dans C#, l'opérateur OR (OU) est exécuté en utilisant l'opérateur ||. Voici un exemple :

using System;

public enum HouseType
{
    Unknown,
    SingleFamily,
    Townhouse,
    Condominium
}

class Program
{
    static void Main()
    {
        HouseType type = HouseType.Unknown;
        int choice;
        int stories = 1;

        Console.WriteLine("Enter the type of house you want to purchase");
        Console.WriteLine("1. Single Family");
        Console.WriteLine("2. Townhouse");
        Console.WriteLine("3. Condominium");
        Console.Write("You Choice? ");
        choice = int.Parse(Console.ReadLine());

        if (choice == 1)
            type = HouseType.SingleFamily;
        if (choice == 2)
            type = HouseType.Townhouse;
        if (choice == 3)
            type = HouseType.Condominium;

        Console.Write("How many stories? ");
        stories = int.Parse(Console.ReadLine());

        Console.WriteLine("\nDesired House Type: {0}", type);
        Console.WriteLine("Number of Stories:  {0}", stories);

        if ((type == HouseType.Condominium) || (stories == 1))
            Console.WriteLine("\nDesired House Matched");
        else
            Console.WriteLine("\nThe House Doesn't Match the Desired Criteria");
    }
}

Voici un exemple d'exécution du programme :

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 3
How many stories? 6

Desired House Type: Condominium
Number of Stories:  6

Desired House Matched
Press any key to continue . . .

Supposez que, parmi les propriétés que notre compagnie immobilière a de disponibles, il n'y a aucun condominium. Dans ce cas-ci, nous considérerions alors les autres propriétés :

Type de maison Maison
Unifamilial Faux

Si nous avons quelques maisons unifamiliales, nous rechercherions une qui a seulement un étage. Une fois que nous trouvons une, notre deuxième critère devient vrai :

Type de maison Un étage Condominium OU 1 étage
Faux Vrai Vrai

Ceci peut être illustré dans la l'exécution suivante du programme ci-dessus :

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 1
How many stories? 1

Desired House Type: SingleFamily
Number of Stories:  1

Desired House Matched
Press any key to continue . . .

Si nous trouvons un condo et c'est un étage, les deux critères sont vrais. Ceci peut être illustré dans la table suivante :

Type de maison Un étage Condominium OU 1 étage
Faux Vrai Vrai
Vrai Vrai Vrai

L'exécution suivante du programme démontre cela:

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 3
How many stories? 1

Desired House Type: Condominium
Number of Stories:  1

Desired House Matched
Press any key to continue . . .

Une opération booléenne OU produit un résultat faux seulement si LES DEUX conditions sont fausses :

Si la Condition1 est Si la Condition2 est Condition1 OU Condition2
Faux Vrai Vrai
Vrai Faux Vrai
Vrai Vrai Vrai
Faux Faux Faux

Voici un autre exemple d'exécution du programme :

Enter the type of house you want to purchase
1. Single Family
2. Townhouse
3. Condominium
You Choice? 2
How many stories? 2

Desired House Type: Townhouse
Number of Stories:  2

The House Doesn't Match the Desired Criteria
Press any key to continue . . .

Combinaisons des disjonctions

Par opposition à évaluer seulement deux conditions, vous pouvez faire face à une situation qui en présente trois et doivent être considérées comme une combinaison de plus de deux conditions.

  

Précédent Copyright © 2007-2008, Yevol Suivant