Bonjour à tous !
Je m'appelle Caroline, et je suis actuellement en classe de seconde (au lycée). J'ai beaucoup de difficultés en maths ... J'ai un DM à rendre demain :/, j'ai fait tous mes exercices, sauf le premier qui me pose vraiment problème ^^' ...
Voici l'énoncé de l'exercice :
L'objectif est d'écrire un algorithme qui calcule la somme des n premiers carrés d'entiers, c'est-à-dire la somme 1² + 2² + 3² + ... n².
Que vaut la somme des 7 premiers carrés ?
1) Voici un algorithme possible, mais il contient une erreur. Laquelle ?
Variables : n, s
Entrée : n
Initialisation :
Tant que n > 0
s prend la valeur s + n²
n prend la valeur n + 1
Fin de Tant que
Sortie : s
2) Modifier cette algorithme en utilisant la boucle "pour".
Est ce que je dois utiliser un logiciel, comme AlgoBox ?
Merci d'avance à ceux qui peuvent m'aider .
1/ il y a même 2 erreurs.
- s doit être initialisé à 0 avant l'entrée dans la boucle TANT QUE ... FIN TANT QUE.
- fais tourner à la main l'algorithme, en donnant à n la valeur 7 au départ.
puis passe une première fois dans la boucle WHILE.
Que vaut n à la sortie de la 1° boucle boucle ?
Bonjour,
Yogodo : Non je n'ai pas trouvé :/, je ne comprends pas tellement ...
pgeod : une boucle ? je n'ai pas encore étudié ça ^^' ... ça marche comment ? tu peux m'expliquer pourquoi s doit prendre la valeur de 0 avant le "TANT QUE ... FIN TANT QUE" ?
Bon tu vois dans ton programme qu'il y a une boucle :
Tant que n>0
Or si tu remarques dans cette boucle il y a l'instruction n<-n+1 donc n sera de plus en plus grand donc il sera toujours >0 et donc ici tu as une boucle infini ton programme ne s'arrêtera jamais. Ici ce n'est pas une boucle tant que qu'il faut faire mais un autre type de boucle.
Non si tu mets un tant que la boucle sera toujours infini il faut remplacer la boucle tant que par une boucle pour et changer les variables en conséquence...
Non regarde comment marche une boucle pour tu as du voir ceci dabs ton cours où sinon
http://www.xm1math.net/algobox/tutoalgobox/page4.html
http://www.apprendre-en-ligne.net/robot/8/
Ahh, je crois que j'ai compris !
Je viens d'essayer un truc, je ne sais pas si c'est correcte :s ... :
Variables :
n EST_DU_TYPE_NOMBRE
s EST_DU_TYPE_NOMBRE
DÉBUT_ALGORITHME :
TANT_QUE (n<=7) FAIRE
DÉBUT_TANT_QUE
s PREND_LA_VALEUR s+n*n
n PREND_LA_VALEUR n+1
FIN_TANT_QUE
AFFICHER s
FIN_ALGORITHME
Et on trouve 140 ..?
La réponse précédente était pour la question 1), et pour la question 2), j'ai trouvé ça :
Variables :
n EST_DU_TYPE NOMBRE
s EST_DU_TYPE NOMBRE
DÉBUT_ALGORITHME :
POUR n ALLANT_DE 1 A 7
DÉBUT_POUR
s PREND_LA_VALEUR s+n*n
FIN_POUR
AFFICHER s
FIN_ALGORITHME
même réponse, on trouve 140 ?
pour la 2/, c'est bon.
mais tu changes l'esprit de ton algorithme de départ
qui permet de calculer cette Somme pour un nombre n donné.
Ce faisant, tu ne réponds pas à la question de l'exercice.
Variables :
n EST_DU_TYPE NOMBRE
s EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
DÉBUT_ALGORITHME :
LIRE n
s PREND_LA_VALEUR 0
POUR i ALLANT_DE 1 A n
DÉBUT_POUR
s PREND_LA_VALEUR s+i*i
FIN_POUR
AFFICHER s
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :