Bonjour,
J'ai un DM à faire, j'ai réussi les 2 premiers exercices mais pas celui-là.
Voici l'exercice
Dans les cas suivants, écrire un algorithme qui affiche la valeur de n pour laquelle le calcul indiqué dépasse un million.
a. Sn = 1 + 2 + 3 +....+ n;
b. Cn = 1^3+ 2^3 + 3^3 +.... + n^3;
c. Pn = 1 x 2 x 3 x...x n.
Je ne suis pas très fort en algorithme et là je ne comprends pas du tout.
Merci aux personnes qui pourront m'aider.
bonjour,
a)
qu'as tu fait en cours ? as tu déjà écrit des algorithmes ?
celui qui compte la somme des 10 premiers entiers, peut-être ?
Si non, comment ferais tu "à la main", sans calculatrice, ni algorithme ?
Bonjour,
Non je n'ai encore jamais écrit d'algorithme, le professeur nous à juste donner une leçon, pour le moment nous avons juste vu avec python.
on ne va pas parler de python pour l'instant, on va écrire l'algo en langage naturel.
sans algorithme, comment ferais tu ?
départ S=1
étape suivante : tu lui ajoutes 2 ==> S devient ???
étape suivante : tu lui ajoutes 3 ==> S devient ???
non, S=1, S=3, S=6
mais ce qui nous intéresse, c'est d'écrire le calcul !
S = 1
etape 2 : on ajoute 2 ; S devient S+2 => S=3
etape 3 : on ajoute 3 : S devient S + 3 => S=6
...
étape n : on ajoute ? : S devient ????
pourquoi ça ?
etape 2 : on ajoute 2 ; S devient S+2
etape 3 : on ajoute 3 : S devient S + 3
...
étape n : on ajoute ? : S devient ????
oui, on ajoute n
on va garder " S devient S+n "
au départ n=1 , on va ajouter n qui vaut 1
ensuite , on ajoute 1 à n, qui devient 2, on va ajouter n qui vaut 2
etc..
à chaque tour on va ajouter 1 à n :
à chaque tour :
n devient n+1
S devient S+ n
ca va calculer S : somme des entiers de 1 à n ...
quand vas tu t'arrrêter ?
oui, c'est ça.
Donc on va faire le calcul tant que S < 1000000
départ :
S=1
n=1
tant que S < 1 000 000 faire
n devient n+1
S devient S+ n
voilà un algorithme pour la question a)
on peut terminer en affichant S et n pour vérifier qu'on est bien allés au bout.
Je vous remercie de m'avoir aidé à comprendre, je pense que le principe est le même pour les suivants
Donc pour le b
départ :
C = 1^3
n = 1^3
tant que C < 1 000 000 faire
n devient n^3 + 1
C devient C^3 + n^3
pour la b),
ce qu'on veut : à chaque tour
n devient n+1 (pour avoir les valeurs 2, 3, 4, etc...)
et tu dois ajouter à C la valeur de n^3
est ce que c'est ça que tu fais ? non, ça n'est pas ça.
toi tu écris :
à chaque tour
n devient n^3 + 1 ==> si n=2, n devient 23+1 = 9 , c'est faux.
C devient C^3 + n^3 et là, tu ajoutes bien c^3 mais pas à C, tu l'ajoutes à C au cube ???
rectifie ta réponse pour b), on fera le c) ensuite.
NB : 1^3 = 1 ...
départ :
C = 1
n = 1^3
tant que C < 1 000 000 faire
n devient n^3 + 1
C devient C + n^3
Je suis vraiment pas sûr de ma réponse
tu ne lis pas bien ce que j'écris, je crois.
tu écris :
n devient n^3 + 1
voyons ce que ca fait:
départ n=1
on fait un tour : n=1, il devient 1^3 + 1 = 2 , OK
tour suivant : n=2, il devient 2^3 + 1 = 9 , alors qu'on voudrait n=3
corrige cette ligne !
ensuite, C devient C + n^3, ça c'est correct.
nb : 1^3 = 1 je persiste
pour le 3ème, tu écris :
départ :
P = 1
n = 1
tant que P < 1 000 000 faire
n devient n x 1
P devient P x n
la ligne en rouge est fausse (le reste est OK).
tu vois bien que si tu multiplies n par 1 à chaque tour, il ne va pas bouger, il va rester toujours egal à 1.
Comme dans les deux autres algos, on veut que n devienne egal à 2, puis 3, puis 4, etc...
rectifie cette ligne.
c'est ça.
quand tu regardes tes 3 expressions, tu vois que n se comporte de la même façon sur les 3 lignes.
A chaque fois, il vaut 1 au départ, puis 2, 3, 4, etc...
donc, on fait la même opération dans chaque algo.
ce qui change, c'est la façon de calculer S, C ou P.
à la fin de chaque algo, tu peux ajouter
afficher n
et
afficher S ou afficher C ou afficher P.
as tu tout compris ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :