cycles. Boucle avec paramètre (for)


Imaginons une situation où nous devons afficher le même mot à l'écran, disons le mot "BONJOUR";, 10 fois. Que devons-nous faire ?
Vous pouvez prendre et écrire la commande 10 fois Console.WriteLine("HELLO");

Mais que se passe-t-il si vous n'avez pas besoin de 10 fois, mais de 20, 30, 40 fois ? Et si 200 fois ? Dans ce cas, la copie prendra beaucoup de temps. Et s'il faut que l'utilisateur choisisse combien de fois afficher les informations à l'écran ? 

Pour faire face à cette tâche, nous pouvons utiliser une construction spéciale appelée boucle.

Une boucle est une construction algorithmique dans laquelle une certaine séquence de commandes est répétée plusieurs fois.

Dans le langage de programmation C#, il existe deux types de boucles : une boucle variable (for) et une boucle conditionnelle (while et do...while em>)

Commençons notre connaissance des cycles du premier type.

Une boucle avec une variable ou avec un nombre connu d'étapes (pour).

Il arrive souvent que nous connaissions le nombre de répétitions d'une action, ou que nous puissions serif">calculer
nombre de répétitions en utilisant les données que nous connaissons. Certains langages de programmation ont une commande qui ressemble en russe à repeat (nombre de fois) - c'est-à-dire que nous pouvons spécifier le nombre exact de répétitions. 

Il est intéressant de voir comment ce cycle fonctionne au niveau de la machine :
1. Une certaine cellule de mémoire est allouée en mémoire et le nombre de répétitions y est écrit.
2. Lorsque le programme exécute une fois le corps de la boucle, le contenu de cette cellule (compteur) est décrémenté de un.
3. La boucle se termine lorsque cette cellule vaut zéro.

Dans le langage de programmation C#, il n'y a pas une telle construction, mais plutôt la construction for.  

La forme générale de l'opérateur de boucle pour est la suivante :
for (/*expression1*/; /*expression2*/; /*expression3 */) { /*une instruction ou un bloc d'instructions - corps de la boucle*/; } Cette construction nous oblige à :
1. Allouer explicitement une cellule mémoire qui sera un compteur et définir sa valeur initiale.
2. Nous avons écrit une condition sous laquelle le corps de la boucle sera exécuté.
3. Spécifiez comment la valeur de cette cellule va changer.

Dans la partie pratique, nous essaierons d'afficher le mot "Bonjour" 10 fois, et dans les tâches suivantes, nous analyserons cette construction plus en détail.

Boucle
for
La boucle for est un moyen de parcourir des actions répétées. Voyons de plus près comment cela fonctionne.

Généralement, les parties de la boucle for  suivent les étapes suivantes : 
1. Définition de la valeur initiale. 
2. Exécution d'un test de condition pour continuer la boucle. 
3. Effectuer des actions en boucle. 
4. Mettez à jour la ou les valeurs utilisées dans le test. 
puis les étapes 2 à 4 sont répétées jusqu'à ce que la condition soit remplie. Dès que la condition devient fausse, la boucle se termine et l'instruction qui suit l'instruction de la boucle for est exécutée.
 
Forme générale de la boucle for (/* expression 1*/; /* expression 2*/; /* expression 3*/ ) {       /* une instruction ou un bloc d'instructions - corps de la boucle */; }

Expression 1 responsable de la définition de la valeur initiale de la variable de boucle (compteur), se termine par un point-virgule.
Par exemple :
  • i=0; // la variable de boucle i définit la valeur initiale égale à zéro - doit être déclarée avant la boucle
  • int i=0; // la variable i peut être déclarée immédiatement dans l'en-tête de la boucle, mais dans ce cas, elle sera effacée de la mémoire après le la boucle s'exécute
  • ;  ; // il n'y a pas du tout d'initialisation et de déclaration de la variable cycle, dans ce cas, elle peut être déclarée avant le cycle
Expression 2 - c'est la condition pour continuer la boucle for, elle est testée pour la vérité. Par exemple,

je <= 10  // la boucle s'exécutera tant que la variable i sera inférieure ou égale à 10.
La condition peut être n'importe quoi.

Expression 3 modifie la valeur de la variable de compteur. Sans cette valeur, la boucle sera considérée comme infinie. Par exemple,

i++;  // chaque fois que le corps de la boucle se termine, i est incrémenté de 1.

 

Il peut y avoir plusieurs opérateurs dans chaque partie de titre, séparés par des virgules.< /span>
Exemples de titres :

for ( int i = 0; i < 10; i + + ) { ... } - titre standard

for ( int i = 0, x = 1; i < 10; je += 2, x *= 2 ){ ... }  
         // dans ce cas, nous utilisons deux variables qui changeront après l'exécution du corps de la boucle - ce sont les variables i et x
         // la variable i change par incréments de 2 - i+=2 - abréviation de i=i+2
         // la variable x augmente de 0,1 fois à chaque pas x=x*2 - abrégé х*=2
< /span>

Répéter N fois

Tous les programmes avec une boucle for que nous avons écrits jusqu'à présent ne peuvent pas être qualifiés d'universels. Parce que nous fixons nous-mêmes le nombre de répétitions du corps de la boucle. Mais que se passe-t-il si le nombre de répétitions dépend d'une autre valeur ? Par exemple, l'utilisateur souhaite lui-même définir le nombre de répétitions du cycle.
Que faire dans ce cas ? Tout est très simple. Au lieu de valeurs numériques de début et de fin, nous pouvons utiliser n'importe quelle variable pouvant être calculée ou définie par l'utilisateur.

Par exemple, nous devons afficher les carrés des nombres de 1 à N, où la valeur de la variable N est saisie au clavier par l'utilisateur.
Le programme ressemblera à ceci :
  #include <iostream> en utilisant l'espace de noms std ; principal() { int je,N ; // je – variable de boucle, N - le nombre maximum pour lequel nous calculons le carré cin>> N; for ( i = 1; i <= N; i ++) // boucle : pour tout i de 1 à N. La variable i prendra séquentiellement des valeurs de 1 à N { cout << "Numéro carré"<<i<<" est" <<i*i<<"\n" ; // Afficher le carré d'un nombre dans un format spécifique et passer à une nouvelle ligne } } A l'entrée de la boucle, l'instruction i = 1 est exécutée, puis la variable i est incrémentée de un à chaque pas (i ++ ). La boucle est exécutée tant que la condition i <= N est vraie. Dans le corps de la boucle, la seule instruction de sortie imprime le nombre lui-même et son carré à l'écran selon le format spécifié.
Pour le carré ou d'autres exposants faibles, il est préférable d'utiliser la multiplication.

Exécutez le programme et voyez le résultat de son travail avec différentes valeurs de la variable N.