Les structures de contrôle itératives

 Mise à jour le : 01/11/2004

Énoncé

Écrire un programme qui somme N notes.
            1ère Méthode :  utilisation d'une seule case Note.
            2ème Méthode : utilisation d'un Tableau Note.

I) La préanalyse :                        2ème Méthode (utilisation d'un Tableau Note)

Données : 
- Le nombre de notes est  (N=4).
- Les valeurs à saisir sont   17, 11, 10, 15 .

Résultat :

            S
 

53

Réel

La variable S contient la somme des notes saisies.

Soit Note un tableau utilisé pour recevoir les notes saisies.
       I une Variable compteur
  I  

                             Note

  S
  ?  

17

11 12 15   ?
Entier
  1 2 3 4  
Réel

Étape 1 :

On initialise S à zéro :

  I  

Note

  S
  ?  

17

11 12 15   0
Entier
  1 2 3 4  
Réel

Étape 2 :

Le compteur prend la valeur 1  :   I = 1

On somme l'ancienne valeur de S et la nouvelle valeur de Note[1] :  S ß  S + Note[1]   

  I   Note   S
  1   17 11 12 15   0+17
Entier
  1 2 3 4  
Réel

Étape 3 :

Le compteur prend la valeur 2  :   I = 2

On somme l'ancienne valeur de S et la nouvelle valeur de Note[2]  :  S ß  S + Note[2] 

  I   Note   S
  2   17 11 12 15   0+17+11
Entier
  1 2 3 4  
Réel

Étape 4 :

Le compteur prend la valeur 3  :   I = 3

On somme l'ancienne valeur de S et la nouvelle valeur de Note[3]  :  S ß  S + Note[3]   

  I   Note   S
  3   17 11 12 15   0+17+11+12
Entier
  1 2 3 4  
Réel

Étape 5 :

Le compteur prend la valeur 4  :   I = 4

On somme l'ancienne valeur de S et la nouvelle valeur de Note[4]  :  S ß  S + Note[4]    

  I   Note   S
  4   17 11 12 15   0+17+11+12+15
Entier
  1 2 3 4  
Réel
II) L'analyse :

Nom = Somme

Séquences Liste des définitions Explicites Objets Utilisés
3

2







1



4
Résultat = Écrire(S)

S
ß 0
Pour I de 1 A N Faire

       
Répéter
                Lire(Note[I])    
        Jusqu'à (Note[I]>=0) et (Note[I]<=20)

        S ß  S + Note[I]

FinPour


Répéter
      Lire(N)     
Jusqu'à N>0

Fin Somme
S

Note

I

 
N

 

 

 

 
III) Le tableau de déclaration des objets :
Objets Utilisés Nature / Type  Rôle
Note Variable/Tableau[1..40] de Réel

Recevoir les notes

I Variable/Entier Compteur
S Variable/Réel Recevoir le cumul des Notes
N Variable/Entier Le nombre de notes
IV) L'algorithme :
0- Début Somme 
1- Répéter
         Lire(N)     
Jusqu'à N>0
2- S ß 0
Pour I de 1 A N Faire
               Répéter
                       Lire(Note[I])     
             Jusqu'à (Note[I]>=0) et (Note[I]<=20)
               S ß  S + Note[I]
  FinPour
3- Écrire(S)
4- Fin Somme
V) La traduction en turbo pascal :
Program Somme;
uses Wincrt;
Var I, N : Integer;
      S: Real;
      Note : Array [1..40] Of Real;
Begin
	Repeat
		Write('N :');
		Readln(N);
	Until N>0;
	S : = 0;
	For I : = 1 To N Do
	Begin
		Repeat
			Write('Note [',I,']:');
			Readln(Note[I]);
		Until (Note[I]>=0) And (Note[I]<=20);
		S : =  S + Note[I];
	End;
	Write('La Somme est :',S:5:2);
End.

VI) La traduction en C++ :
#include <stdio.h>
int main()
{   int N,I;
    float Note[40],S ;

	do
	     {printf("N=");
    	     scanf("%d",&N);}
	while (N<0);

	S=0;
	for (I=1;I<=N;I++)
	{   do
	        {printf("Note[%d]=",I);
    	        scanf("%f",&Note[I]);}
	     while ((Note[I]<0) || (Note[I]> 20));
           
                    S = S + Note[I]; }

	printf("S=%5.2f",S);
    
      getchar();getchar();
}

 

Page d'index Série Les structures de contrôle itératives Haut