Bonjour !
Voilà j'ai un petit problème avec les algorithmes et j'ai un exercice sur ça :
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.
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
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 Sp + ni * xi
8) Sc Sc + ni
9) fin de la boucle
10) moyenne 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 0
pour i = 1 à 20 avec un pas de 1 (ce qui veut dire de 1 en 1)
S 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
Je comprend pas vraiment la boucle =S
Je dois le faire sur Algobox, j'ai fais ceci :
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 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 0
après cette initialisation Sc = 0
Pour i = 1 (alors ni vaut n1)
Sc Sc + ni
et donc à cette étape Sc = 3
Pour i = 2 (alors ni vaut n2)
Sc Sc + ni
et donc à cette étape Sc = 8
Pour i = 3 (alors ni vaut n3)
Sc 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...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :