Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme

Posté par
Titerose
29-11-09 à 00:43

Bonjour !

Voilà j'ai un petit problème avec les algorithmes et j'ai un exercice sur ça :

Citation :
un élève a obtenue 5 notes que l'on note x1, x2, ... , x5 affectés des coefficients n1, n2, ..., n5.
Ecrire un algorithme qui calcule et affiche la moyenne X.


Je ne sais vraiment pas comment faire, ni par où commencer ...

Posté par
dajij
re : Algorithme 29-11-09 à 00:53

utilise une boucle :
pour i=1 à 5 faire ...

Posté par
Coll Moderateur
re : Algorithme 29-11-09 à 07:48

Bonjour,

Peux-tu expliquer, en français, sans chercher à utiliser des instructions de programmation, comment tu ferais, strictement dans l'ordre et sans rien oublier, si tu avais à le faire à la main ?

Le plus simple étant que tu te fasses un exemple et que tu notes soigneusement toutes les étapes dont tu as besoin.

Une calculatrice (un ordinateur) ne sait faire qu'une étape, simple en général, à la fois et il faut que les étapes soient bien dans l'ordre. Ni la calculatrice ni l'ordinateur ne vont "deviner" quoi que ce soit. Il faut tout leur expliquer et ne leur demander une opération qu'avec des données, des valeurs qu'ils connaissent parce qu'on les leur a déjà données.

Fais l'expérience (à la main, sur ton brouillon) et indique ici toutes les étapes nécessaires.

Posté par
Titerose
re : Algorithme 29-11-09 à 13:17

Si je comprend bien ce que tu dis, j'ai fait ça :

On note les notes : x1 ; x2 ; x3 ; x4 ; x5
et les coefficients : n1 ; n2 ; n3 ; n4 ; n5

L'opération à faire serait : x1*n1 + x2*n2 + x3*n3 + x4*n4 + x5*n5
Le résultat obtenu divisé par : n1 + n2 + n3 + n4 + n5

Posté par
Coll Moderateur
re : Algorithme 29-11-09 à 13:58

Bravo ! Tu as très bien compris.

On peut tout à fait écrire un algorithme qui fait exactement ce que tu as écrit.

1) lecture des 5 notes
2) lecture des 5 coefficients
3) calcul de la somme des notes pondérées par les coefficients
4) division de cette somme par la somme des coefficients
5) affichage de la moyenne
__________________

On peut aussi utiliser une "boucle"
1) déclaration des variables
2) lecture des 5 notes
3) lecture des 5 coefficients
4) initialisation de la somme Sp des notes pondérées à zéro
5) initialisation de la somme Sc des coefficients à zéro
6) boucle : pour i = 1 à 5 faire
7) Sp \leftarrow Sp + ni * xi
8) Sc \leftarrow Sc + ni
9) fin de la boucle
10) moyenne \leftarrow Sp / Sc
11) affichage de la moyenne

Pour cette deuxième manière de faire (qui semble plus longue mais qui serait utilisée par toute personne connaissant un peu la programmation) il faut tout d'abord que tu comprennes bien ce qui se passe dans la boucle.

Comprends-tu ceci :
Je veux faire S = n1 + n2 + n3 + ... + ni + ... + n20

et je le programme comme cela :

S \leftarrow 0
pour i = 1 à 20 avec un pas de 1 (ce qui veut dire de 1 en 1)
S \leftarrow S + ni
fin de la boucle
afficher S

Si tu comprends ce qui se passe dans la boucle, alors tu peux essayer d'écrire l'algorithme avec boucle ; sinon tu as la manière que tu as postée qui est correcte également

Posté par
Titerose
re : Algorithme 29-11-09 à 15:04

Je comprend pas vraiment la boucle =S
Je dois le faire sur Algobox, j'ai fais ceci :

Citation :
Variables :
x1 est du type nombre
x2 est du type nombre
x3 ...
x4 ...
x5 ...
n1 ...
n2 ...
n3 ...
n4 ...
n5 ...
X  ...

Début algorithme :
Lire x1
Lire x2
... x3
... x4
... x5
... n1
... n2
... n3
... n4
... n5
X prend la valeur (x1*n1+x2*n2+x3*n3+x4-n4+x5*n5)/(n1+n2+n3+n4+n5)
Lire x


Il me demande les valeurs de x1, n1 etc ...
Mais je ne les ai pas dans mon énoncé, je laisse comme tel ?

Posté par
Coll Moderateur
re : Algorithme 29-11-09 à 17:28

Ce que tu as fait est tout à fait valable.

Cela donne le bon résultat.
_______________________

Je te donne un exemple de la manière d'additionner avec une boucle.

On veut faire la somme Sc de
n1 = 3
n2 = 5
n3 = 9

1) première manière, sans boucle
Sc \leftarrow n1 + n2 + n3
et bien sûr le résultat est Sc = 17

2) deuxième manière, avec une boucle (faire de i = 1 à i = 3 de 1 en 1)
Sc \leftarrow 0

après cette initialisation Sc = 0

Pour i = 1 (alors ni vaut n1)
Sc \leftarrow Sc + ni

et donc à cette étape Sc = 3

Pour i = 2 (alors ni vaut n2)
Sc \leftarrow Sc + ni

et donc à cette étape Sc = 8

Pour i = 3 (alors ni vaut n3)
Sc \leftarrow Sc + ni

et après cette troisième et dernière étape Sc = 17
__________________

Pourquoi fait-on de préférence ainsi ?
1) parce qu'on ne sait pas toujours combien il y a de nombres à additionner et qu'avec cette méthode il est facile d'écrire une addition pour un nombre quelconque de valeurs à additionner ;
2) parce que personne n'a envie s'il faut additionner un millier de valeurs (ou plus) d'écrire la somme des milliers de termes dans le programme ; et de devoir changer le programme si le nombre de valeurs à additionner change...

Posté par
Titerose
re : Algorithme 04-12-09 à 19:28

Je comprend vraiment rien a cet méthode =S
J'ai rendu l'exercice, merci beaucoup de votre aide ^^



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1674 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !