Exercice langage C corrigé application des structures répétitive I

Exercice 1 :

a) en utilisant while,

#include <stdio.h>
main()
{
 int N;       /* nombre de données */
 int NOMB;    /* nombre courant    */
 int I;       /* compteur */
 long SOM;    /* la somme   des nombres entrés */
 double PROD; /* le produit des nombres entrés */

 printf("Nombre de données : ");
 scanf("%d", &N);

 SOM=0;
 PROD=1;
 I=1;
 while(I<=N)
    {
     printf("%d. nombre : ", I);
     scanf("%d", &NOMB);
     SOM  += NOMB;
     PROD *= NOMB;
     I++;
    }

 printf("La somme   des %d nombres est %ld \n", N, SOM);
 printf("Le produit des %d nombres est %.0f\n", N, PROD);
 printf("La moyenne des %d nombres est %.4f\n", N, (float)SOM/N);
 return 0;
}

b) en utilisant do – while,

Remplacez le bloc de traitement (en gras) de (a) par :

SOM=0;
 PROD=1;
 I=1;
 do
    {
     printf("%d. nombre : ", I);
     scanf("%d", &NOMB);
     SOM  += NOMB;
     PROD *= NOMB;
     I++;
    }
 while(I<=N);

c) en utilisant for.

Remplacez le bloc de traitement (en gras) de (a) par :

for (SOM=0, PROD=1, I=1 ; I<=N ; I++)
    {
     printf("%d. nombre : ", I);
     scanf("%d", &NOMB);
     SOM  += NOMB;
     PROD *= NOMB;
    }

d) Laquelle des trois variantes est la plus naturelle pour ce problème?

On peut dire que la structure for est la plus compacte et celle qui exprime le mieux l’idée de l’algorithme. D’autre part, elle permet d’intégrer très confortablement l’initialisation et l’incrémentation des variables dans la structure.

Exercice 2

Remplacer les lignes

 printf("Nombre de données : ");
	     scanf("%d", &N);

par

  do
	       {
	         printf("Nombre de données : ");
	         scanf("%d", &N);
	       }
	     while(N<1 || N>15);

Quelle structure répétitive utilisez-vous? Pourquoi?

Comme il n’y pas d’initialisation ni de réinitialisation de variables, nous avons le choix entre while et do – while. Comme l’introduction du nombre de données doit toujours être exécuté (au moins une fois), donc le plus naturel sera l’utilisation de la structure do – while.

Télécharger aussi :

Laisser un commentaire

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