Page d'Accueil

Compter et faire une boucle

 

Introduction

Une boucle est un type d'énoncé conditionnel qui continue de vérifier une condition et à exécuter un énoncé jusqu'à ce que la condition soit fausse.

While (Tant q'une condition est vraie)

Un des opérateurs qui exécute une boucle s'appelle While. Sa formule est :

while(Condition) Statement;

Pour exécuter cette expression, le compilateur examine d'abord la condition. Si la condition est vraie, alors elle exécute l'énoncé. Après exécution de l'énoncé, la condition est vérifiée encore. TANT QUE la condition est vraie, elle continuera à exécuter le l'énoncé. Quand ou une fois que la condition devient fausse, elle sort la boucle :

Voici un exemple :

using System;

class Program
{
    static void Main()
    {
        int Stories = 0;
	
        while( Stories <= 4 )
        {
            Console.WriteLine("Number {0}", Stories);
            Stories++;
        }
	
        Console.WriteLine();
    }
}

Ceci produirait :

Number 0
Number 1
Number 2
Number 3
Number 4

Press any key to continue . . .

Pour exécuter efficacement la condition While, vous devriez veiller à fournir un mécanisme au compilateur pour l'utiliser ou obtenir une valeur référence pour la condition, la variable, ou l'expression qui est vérifiée. C'est parfois sous forme de variable aui est initialisé, bien que ce pourrait être une autre expression. Une telle condition While pourrait être illustré comme suit :


do... while: Fais Ceci tant que la condition est vraie

La boucle while est utilisée d'abord pour vérifier la condition et exécuter alors un énoncé. Si la condition est fausse, l'énoncé ne s'exécuterait jamais. Considérez le programme suivant :

using System;

class Program
{
    static void Main()
    {
        int Stories = 5;

        while (Stories <= 4)
        {
            Console.WriteLine("Number {0}", Stories);
            Stories++;
        }
	
        Console.WriteLine();
    }
}

Quand ce programme s'exécute, rien de la boucle while ne s'exécuterait parce que, comme la condition est vérifiée au début, elle est fausse et le compilateur ne passerait pas à l'énoncé. Dans certains cas, vous pouvez vouloir exécuter un énoncé avant de vérifier la condition pour la première fois. Ceci peut être fait en utilisant l'énoncé do… while. Sa formule est :

do Statement while (Condition);

La condition do… whlie  exécute d'abord l'énoncé. Après la première exécution de l'énoncé, elle examine la condition. Si la condition est vraie, alors elle exécute encore l'énoncé. Elle continuera à exécuter l'énoncé TANT QUE la condition est vraie. Une fois que la condition devient fausse, la boucle (l'exécution de l'énoncé) s'arrêterait.

Si l'énoncé est court, tel que fait d'une ligne, l'écrire simplement après le mot-clé do. Comme les énoncés if et whlie, la condition qui est vérifiée doit être incluse entre les parenthèses. Tout l'énoncé do… whlie doit finir avec un point-virgule.

Une autre version du programme de comptage vu précédemment serait :

using System;

class Program
{
    static void Main()
    {
        int Stories = 0;

        do
            Console.WriteLine("Number {0}", Stories++);
        while (Stories <= 4);
	
        Console.WriteLine();
    }
}

Ceci produirait:

Number 0
Number 1
Number 2
Number 3
Number 4

Press any key to continue . . .

Si le l'énoncé est long et enjambe plus d'une ligne, le commencer avec une accolade ouverte « { » et le finir avec une accolade fermée « } ».

Étude pratiqueÉtude pratique : Présentation des variables booléennes

  1. Commencez visuel C# de Microsoft
  2. Créez une nouvelle application de console appelée FlowerShop3
  3. Créez une nouvelle classe, dans Affichage de classe, droit-cliquez le nom du projet - > ajouter - > classe…
  4. Place le nom de la classe Flower et cliquez Ajouter
  5. changez le fichier Flower.cs comme suit :
     
    using System;
    
    namespace FlowerShop3
    {
        public enum FlowerType
        {
            Roses = 1,
            Lilies,
            Daisies,
            Carnations,
            LivePlant,
            Mixed
        }
    
        public enum FlowerColor
        {
            Red = 1,
            White,
            Yellow,
            Pink,
            Orange,
            Blue,
            Lavender,
            Mixed
        }
    
        public enum FlowerArrangement
        {
            Bouquet = 1,
            Vase,
            Basket,
            Any
        }
    
        class Flower
        {
            public FlowerType Type;
            public FlowerColor Color;
            public FlowerArrangement Arrangement;
            public decimal UnitPrice;
    
            public Flower()
            {
                Type = FlowerType.Mixed;
                Color = FlowerColor.Mixed;
                Arrangement = FlowerArrangement.Vase;
                UnitPrice = 0.00M;
            }
            public Flower(FlowerType type)
            {
                Type = type;
                Color = FlowerColor.Mixed;
                Arrangement = FlowerArrangement.Vase;
                UnitPrice = 0.00M;
            }
            public Flower(FlowerType type, FlowerColor color,
                    FlowerArrangement argn, decimal price)
            {
                Type = type;
                Color = color;
                Arrangement = argn;
                UnitPrice = price;
            }
        }
    }
  6. Pour créer une nouvelle classe, dans l'explorateur de solution, droit-cliquez le nom du projet, placez la souris sur Ajouter et cliquez classe…
  7. Placez le nom de la classe OrderProcessing et cliquez Ajouter
  8. Changez le fichier OrderProcessing.cs comme suit :
     
    using System;
    
    namespace FlowerShop3
    {
        class OrderProcessing
        {
            public Flower FlowerOrder;
            public int Quantity;
    
            public OrderProcessing()
            {
                FlowerOrder = new Flower();
            }
    
            public decimal GetTotalPrice()
            {
                return Quantity * FlowerOrder.UnitPrice;
            }
    
            public void GetFlowerType()
            {
                int choice = 0;
    
                do
                {
                    Console.WriteLine("Enter the Type of Flower Order");
                    Console.WriteLine("1. Roses");
                    Console.WriteLine("2. Lilies");
                    Console.WriteLine("3. Daisies");
                    Console.WriteLine("4. Carnations");
                    Console.WriteLine("5. Live Plant");
                    Console.WriteLine("6. Mixed");
                    Console.Write("Your Choice: ");
                    choice = int.Parse(Console.ReadLine());
                } while ((choice < 1) || (choice > 6));
    
                switch (choice)
                {
                    case 1:
                        FlowerOrder.Type = FlowerType.Roses;
                        break;
                    case 2:
                        FlowerOrder.Type = FlowerType.Lilies;
                        break;
                    case 3:
                        FlowerOrder.Type = FlowerType.Daisies;
                        break;
                    case 4:
                        FlowerOrder.Type = FlowerType.Carnations;
                        break;
                    case 5:
                        FlowerOrder.Type = FlowerType.LivePlant;
                        break;
                    default:
                        FlowerOrder.Type = FlowerType.Mixed;
                        break;
                }
            }
    
            public void GetFlowerColor()
            {
                int choice = 0;
    
                do
                {
                    Console.WriteLine("Enter the Color");
                    Console.WriteLine("1. Red");
                    Console.WriteLine("2. White");
                    Console.WriteLine("3. Yellow");
                    Console.WriteLine("4. Pink");
                    Console.WriteLine("5. Orange");
                    Console.WriteLine("6. Blue");
                    Console.WriteLine("7. Lavender");
                    Console.WriteLine("8. Mixed");
                    Console.Write("Your Choice: ");
                    choice = int.Parse(Console.ReadLine());
                } while ((choice < 1) || (choice > 8));
    
                switch (choice)
                {
                    case 1:
                        FlowerOrder.Color = FlowerColor.Red;
                        break;
                    case 2:
                        FlowerOrder.Color = FlowerColor.White;
                        break;
                    case 3:
                        FlowerOrder.Color = FlowerColor.Yellow;
                        break;
                    case 4:
                        FlowerOrder.Color = FlowerColor.Pink;
                        break;
                    case 5:
                        FlowerOrder.Color = FlowerColor.Yellow;
                        break;
                    case 6:
                        FlowerOrder.Color = FlowerColor.Blue;
                        break;
                    case 7:
                        FlowerOrder.Color = FlowerColor.Lavender;
                        break;
                    default:
                        FlowerOrder.Color = FlowerColor.Mixed;
                        break;
                }
            }
    
            public void GetFlowerArrangement()
            {
                int choice = 0;
    
                do
                {
                    Console.WriteLine("Enter the Type of Arrangement");
                    Console.WriteLine("1. Bouquet");
                    Console.WriteLine("2. Vase");
                    Console.WriteLine("3. Basket");
                    Console.WriteLine("4. Mixed");
                    Console.Write("Your Choice: ");
                    choice = int.Parse(Console.ReadLine());
                } while ((choice < 1) || (choice > 4));
    
                switch (choice)
                {
                    case 1:
                        FlowerOrder.Arrangement = FlowerArrangement.Bouquet;
                        break;
                    case 2:
                        FlowerOrder.Arrangement = FlowerArrangement.Vase;
                        break;
                    case 3:
                        FlowerOrder.Arrangement = FlowerArrangement.Basket;
                        break;
                    default:
                        FlowerOrder.Arrangement = FlowerArrangement.Any;
                        break;
                }
            }
    
            public void ProcessOrder()
            {
                GetFlowerType();
                GetFlowerColor();
                GetFlowerArrangement();
    
                Console.Write("Enter the Unit Price: ");
                FlowerOrder.UnitPrice = decimal.Parse(Console.ReadLine());
    
                Console.Write("Enter Quantity:       ");
                Quantity = int.Parse(Console.ReadLine());
            }
    
            public void ShowOrder()
            {
                Console.WriteLine("=======================");
                Console.WriteLine("==-=-=Flower Shop=-=-==");
                Console.WriteLine("-----------------------");
                Console.WriteLine("Flower Type:  {0}", FlowerOrder.Type);
                Console.WriteLine("Flower Color: {0}", FlowerOrder.Color);
                Console.WriteLine("Arrangement:  {0}", FlowerOrder.Arrangement);
                Console.WriteLine("Price:        {0:C}", FlowerOrder.UnitPrice);
                Console.WriteLine("Quantity:     {0}", Quantity);
                Console.WriteLine("Total Price:  {0:C}", GetTotalPrice());
                Console.WriteLine("=======================");
            }
        }
    }
  9. Accédez au fichier Program.cs et changez le comme suit :
     
    using System;
    
    namespace FlowerShop3
    {
        class Program
        {
            static void Main()
            {
                OrderProcessing order = new OrderProcessing();
    
                order.ProcessOrder();
                Console.WriteLine();
    
                order.ShowOrder();
                Console.WriteLine();
            }
        }
    }
  10. Exécutez l'application et l'examiner. Voici un exemple :
     
    Enter the Type of Flower Order
    1. Roses
    2. Lilies
    3. Daisies
    4. Carnations
    5. Live Plant
    6. Mixed
    Your Choice: 8
    Enter the Type of Flower Order
    1. Roses
    2. Lilies
    3. Daisies
    4. Carnations
    5. Live Plant
    6. Mixed
    Your Choice: 2
    Enter the Color
    1. Red
    2. White
    3. Yellow
    4. Pink
    5. Orange
    6. Blue
    7. Lavender
    8. Mixed
    Your Choice: 9
    Enter the Color
    1. Red
    2. White
    3. Yellow
    4. Pink
    5. Orange
    6. Blue
    7. Lavender
    8. Mixed
    Your Choice: 0
    Enter the Color
    1. Red
    2. White
    3. Yellow
    4. Pink
    5. Orange
    6. Blue
    7. Lavender
    8. Mixed
    Your Choice: 7
    Enter the Type of Arrangement
    1. Bouquet
    2. Vase
    3. Basket
    4. Mixed
    Your Choice: 8
    Enter the Type of Arrangement
    1. Bouquet
    2. Vase
    3. Basket
    4. Mixed
    Your Choice: 5
    Enter the Type of Arrangement
    1. Bouquet
    2. Vase
    3. Basket
    4. Mixed
    Your Choice: 2
    Enter the Unit Price: 42.85
    Enter Quantity:       2
    
    =======================
    ==-=-=Flower Shop=-=-==
    -----------------------
    Flower Type:  Lilies
    Flower Color: Lavender
    Arrangement:  Vase
    Price:        $42.85
    Quantity:     2
    Total Price:  $85.70
    =======================
    
    Press any key to continue . . .
  11. Fermez la fenêtre DOS

for

L'énoncé for est typiquement utilisé pour compter un certain nombre d'articles. À sa structure régulière, il est divisé dans trois parties. La première section indique le point de départ pour le compte. La deuxième section fixe la limite du compte. La dernière section détermine la fréquence du compte. La syntaxe de l'énoncé for est :

for(Start; End; Frequency) Statement;

L'expression Start est une variable à laquelle est assigné la valeur de départ. Celle-ci peut être count = 0 ;

L'expression End place les critères pour finir count. Un exemple serait count < 24 ; ceci signifie que le compte continuerait tant que la variable count est inférieure 24. Quand le compte est aux environs de 24, parce que dans ce cas-ci 24 est exclu, le compte s'arrêterait. Pour inclure la limite du comptage, utilisez les opérateurs de comparaison <= ou de >= selon la façon dont vous comptez.

L'expression fréquency ferait savoir au compilateur combien de nombres ajouter ou soustraire avant de continuer la boucle. Cette expression peut être une opération incrément (accroissement) telle que ++Count.

Voici un exemple qui applique l'énoncé for :

using System;

class Program
{
    static void Main()
    {
        for (int Stories = 0; Stories <= 4; Stories++)
            Console.WriteLine("Number {0}", Stories);
	
        Console.WriteLine();
    }
}

Ceci produirait :

Number 1
Number 2
Number 3
Number 4

Press any key to continue . . .
  

Précédent Copyright © 2007, Yevol Suivant