Liens sponsorisés

Moyenne sur un tableau Print E-mail
Written by Administrator   
Saturday, 15 March 2008 14:39

Source : un ancien livre de bac pour l'option informatique, section scientifique.

Écrire un programme qui saisit un entier naturel supérieur à 5, le remplit par des réels compris entre 0 et 20. Ensuite, ce programme calcule et affiche la moyenne de ces n réels.

Exemple

  • Entrée : 5, t=10|20|30|40|50
  • Sortie : 30

Correction :

Par M. Rached Douari

Le problème est axé sur les tests à faire sur les entrées que ce soit n ou celles des éléments du tableau.

Analyse du problème

 

NOM = test

 

S

L.D.E.

O.U.

5
4
3


2

 


1


6

Résultat = Ecrire("Moyenne = ", moy)
moy = somme /n
somme = [somme = 0 ] Pour i de 1 à n répéter
somme = somme + T[i]
FinPour
T = [ ] Pour i de 1 à n répéter
[ ] Répéter
Lire(T[i])
jusqu'à (0<=T[i]<=20)
FinPour
n = [ ] Répéter
Lire(" n = ", n )
jusqu'à (n >5)
Fin test

moy
somme
n
i
T

 

Codification des variables

Nom

Code

Type

Rôle

moy

m

Réel

la moyenne des n réels

somme

sm

Réel

la somme des n réels

n

n

entier

nombre d'éléments de T

i

i

entier

compteur

T

T

tableau de réels

contiendra les n réels

Algorithme

0) début test
1) Répéter
Lire(" n = ", n )
jusqu'à (n >5)
2) Pour i de 1 à n répéter
Répéter
Lire(T[i])
jusqu'à (0<=T[i]<=20)
FinPour
3) [sm = 0 ] Pour i de 1 à n répéter
sm = sm + T[i]
FinPour
4) m = sm/n
5) Ecrire("Moyenne = ", m)
6) Fin test

Traduction en Pascal

PROGRAM test;
VAR n, i : INTEGER;
m , sm : REAL;
T : ARRAY[1..100] OF REAL;

BEGIN
REPEAT
WRITE(' n = '); READLN(n);
UNTIL ( n > 5);
FOR i :=1 TO n DO
BEGIN
REPEAT
READLN(T[i]);
UNITIL (0<=T[i]) AND (T[i]<=20);
END;
sm := 0;
FOR i :=1 TO n DO
BEGIN
sm := sm + T[i];
END;
m := sm/n;
WRITELN('Moyenne = ', m);
END.

 

Last Updated ( Saturday, 15 March 2008 15:22 )
 
 

Liens sponsorisés