MiKroC: LES STRUCTURES DE CONTRÔLE

Partager cette page

1- Instruction if

Cette instruction conditionnelle permet d’exécuter des instructions de manière sélective en fonction du résultat d’un test. La déclaration du format général de l’instruction if est la suivante :
if (expression)
instruction1
else
instruction2
Si l’expression est vraie, l’instruction1 s’exécute sinon, dans le deuxième cas, c’est l’istruction2 qui s’exécute.

Exemple:

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
if (x> 0 && x <10)
{
Total + = Sum;
Sum++;
}
else
{
Total = 0;
Sum = 0;
}

2- Instruction switch

L’instruction switch est utilisée pour assurer la commutation entre des différentes déclarations si un certain nombre des conditions est vrai ou faux.

La syntaxe de commutation :

switch (condition)
{
case condition1: Instructions1; break;
case condition2: Instructions2; break;
. . . . . . . . . . . . . . . . . . . . .
case conditionN: InstructionsN; break;
default: InstructionsN+1;
}

Exemple:

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
switch (Cnt)
{
case 1: A=1; break;
case 10: B=10; break ;
case 100: C=100; break;
default: D=1;
}

3. Instructions d’itération for, while, do, goto, continue et break

Les instructions d’itération nous permettent d’effectuer des boucles dans un programme, où une partie
d’un code doit être répétée un certain nombre de fois. Dans mikroC, l’itération peut être effectuée de
quatre façons :
 * Utilisation de for
 * Utilisation de while
 * Utilisation de do
 * Utilisation de goto, continue et break

3.1 Instruction for

La syntaxe d’une instruction for est :
for (expression initiale; expression de condition; expression increment)
{
Instructions;
}

Exemple:

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++) Sum = Sum + M[i][j];
}

3.2 Instruction for

La syntaxe d’une instruction while est la suivante :
while (condition)
{
Instructions;
}

Ici, les instructions sont exécutées jusqu’à ce que la condition devienne fausse, ou les instructions sont exécutées de façon répétée aussi longtemps que la condition est vraie. Si la condition est fausse à l’entrée de la boucle, la boucle ne sera pas exécutée et le programme continue de l’extrémité de la boucle while. Il est important que la condition change à l’intérieur de la boucle, sinon une boucle sans fin sera formée.

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
//Le code suivant montre comment mettre en place une boucle d'exécuter 10 fois :
// Une boucle qui s'exécute 10 fois
        k = 0;
       while (k <10)
       {
          //Instructions;
          k++;
       }
//Une boucle sans fin peut également être formée par réglage de la condition qui doit être toujours vrai:
    // Une boucle sans fin
     while (k == k)
     {
     //Instructions;
     }

Il est possible d’avoir une déclaration while sans corps. Une telle déclaration est utile, pour par exemple, si nous attendons un port d’entrée pour changer sa valeur.
Voici un exemple où le programme va attendre aussi longtemps que le bit 0 de PORTB (PORTB.0) est au niveau logique 0. Le programme se poursuivra jusqu’au changement à la valeur logique 1 sur les broches du port.

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
while (PORTB.F0 == 0); // Attendre jusqu'a ce que PORTB.0 devient un
//ou
while (PORTB.F0);

3.3. Instruction do

Une déclaration do est similaire à une déclaration while sauf ce que la boucle s’exécute jusqu’à ce que la condition devienne fausse, ou, la boucle s’exécute tant que la condition est vraie. La condition est testée à la fin de la boucle. La syntaxe d’une déclaration do est la suivante :
do
{
Instructions;

} while (condition);

La première itération est toujours effectuée si la condition est vraie ou fausse. Il s’agit de la principale différence entre une déclaration while et une déclaration do.
Le code suivant montre comment mettre en place une boucle d’exécuter 10 fois en utilisant la déclaration do :

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
/*Exécution 10 fois */
k = 0;
do
{
//Instructions;
k++;
} while (k <10);

La boucle commence avec k = 0, et la valeur de k est incrémenté à l’intérieur de la boucle après chaque itération. À la fin de boucle k est testé, et si k n’est pas inférieur à 10, la boucle termine.
Une boucle sans fin peut également être créée si la condition est réglée pour être vrai tout le temps:

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
/* Une boucle sans fin */
do
{
//Instructions;
} while (k == k);

3.4. Instructions goto, continue et break

Une instruction goto peut être utilisée pour modifier le flux normal de contrôle dans un programme. Elle provoque le programme à sauter à une étiquette spécifiée. Une étiquette peut être n’importe quel jeu de caractères alphanumériques commençant par une lettre et se terminant par le caractère « : ».
L’instruction goto peut être utilisée conjointement avec une instruction if.
L’exemple suivant montre comment mettre en place une boucle pour l’exécuter 10 fois en utilisant goto et if :

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
/* Exécution 10 fois */
k = 0;
Boucle:
 //Instructions;
k++;
if (k < 10) goto Boucle;

La boucle commence par l’étiquette Boucle et la variable k = 0. Les instructions sont exécutées à l’intérieur de la boucle et k est incrémenté de 1. La valeur de k est alors comparée à 10 et le programme retourne à l’étiquette Boucle si k <10. Ainsi, la boucle est exécutée 10 fois jusqu’à ce que la condition à la fin devienne fausse. À la fin de la boucle la valeur de k est 10.
Les instructions continue et break peuvent être utilisés à l’intérieur d’itérations pour modifier le flux de commande. Une instruction continue est généralement utilisée avec une instruction if et provoque le saut de la boucle d’itération.
Voici un exemple qui calcule la somme des nombres de 1 à 10, sauf le nombre 5 :

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
/* Calculer la somme des nombres 1, 2, 3, 4, 6, 7, 8, 9, 10 */
  Sum = 0;
  i = 1;
   for (i = 1; i <= 10; i++)
    {
       if (i == 5) continue; // Passer le numéro 5
       Sum = Sum + i;
    }

De même, une instruction break peut être utilisé pour mettre fin à une boucle à l’intérieur de la boucle. Dans l’exemple suivant, la somme des nombres de 1 à 5 est calculée, même si les paramètres de la boucle sont mis à parcourir 10 fois :

/********************************************************************************/
//www.samartereduc.com Copyright © 2022 SMARTER EDUCATION. All rights reserved.
/********************************************************************************/
/* Calculer la somme des nombres 1, 2, 3, 4, 5 */
    Sum = 0;
    i = 1;
     for (i = 1; i <= 10; i++)
       {
        if (i > 5) break; // Stopper la boucle si i > 5
       }


MiKroC: LES STRUCTURES DE CONTRÔLE

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *