Aller au contenu

Messages recommandés

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Quelqu'un ici s'y connait-il en Algorithme et serait un peu capable de m'aider sur un exercice ?

Merci ! :)

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Invité Gaetch
Invités, Posté(e)
Invité Gaetch
Invité Gaetch Invités 0 message
Posté(e)

Bé vas-y pose ta question :)

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Je dois écrire un programme permettant de calculer la Somme de la suite définie par S = 1(carré) + 2(carré) + 3(carré) + ... + n(carré).

J'ai commencé par créer 3 variables :

n (dernier nombre que je choisirait au moment de lancer l'algo grâce à "lire")

somme (la somme de ma suite)

x (qui commence par être 1, mais qui prendra la valeur (x+1) tout au long de la suite)

J'ai commencé par faire "lire n"

puis "x prend la valeur 1"

Je pensais utiliser une boucle grâce à "pour" mais j'avoue que je suis un peu perdu à cette étape...

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

Bonjour,

Sur quel type de logiciel ? Calcul formel (type mathematica) ou calcul numérique (type matlab) ?

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Bonjour,

j'utilise le logiciel Algobox.

Calcul numérique :)

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

En terme de calcul numérique, vous êtes sur la bonne voie.

En terme de calcul formel, en fait, ma question est débile, puisque c'est automatique :D ... désolé...

Vous êtes donc sur la bonne voie.

Vous dites 3 variables, mais je ne vois dans votre post que n et X ? Quel est la troisième ?

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

D'accord, merci :) si je suis sur la bonne voie c'est rassurant de se dire que je ne suis peut être pas si nulle que ça ^^

la troisième variable que j'ai mis est la variable "somme" à laquelle j'affecterais une valeur à la fin de mon algo pour pouvoir la mettre en message à la fin :)

Mais je ne vois pas comment je peux affecter une valeur à la somme (la somme de tous les x à chaque boucle sachant que x va changer à chaque fois).

A moins que je fasse la somme au fur et à mesure dans ma boucle ? (je ne sais pas si je suis bien claire dans mes explications biggrin.gif)

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Alors dois-je obligatoirement utiliser la formule de la somme d'une suite géométrique dans mon algo ?

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

A moins que je fasse la somme au fur et à mesure dans ma boucle ? (je ne sais pas si je suis bien claire dans mes explications biggrin.gif)

Si vous ne voyez pas d'autres solutions, alors pourquoi ne pas essayer ;) ...

Je ne connais pas votre logitiel en particulier. Mais je suppose qu'il doit fonctionner comme tous les autres.

Réfléchissez à ceci : X va changer de valeur à chaque fois dans la boucle. Oui. C'est à dire que X (nouvel valeur) va "écraser" X (ancienne valeur). En fait, on pourrait conserver l'ancienne valeur de X, pourquoi pas, mais ca complique un peu, et en plus ca prends de la place sur le disque pour pas grand chose.

Vous êtes d'accord ?

Maintenant dans la phrase précédente remplacée "X" par "Somme"...

Ce processus est valable pour toutes les variables.

De plus, une variable peut s'appeler elle même... Je m'explique :

si j'écris ceci :

S = 0

pour i allant de 1 à 3

S = S + 1

fin de boucle

Ca semble biszarre de dire que "S" est égale à lui même plus quelque chose.

Mais en fait, le logitiel le "comprend" comme ça :

S = 0

pour i allant de 1 à 3

S nouveau = S ancien +1

fin de boucle

c'est à dire que

Avant la boucle :

S = 0

Boucle 1 :

S nouveau = 0 + 1 = 1

BOucle 2 :

S nouveau = 1 + 1 = 2

...

Voila, c'est le principe de la boucle ;)

N'hésite pas à me dire si je ne suis pas clair :)

Non pas tout à fait,

Il s'agit d'une série en fait. (ou d'une somme de terme d'une suite, c'est pareil, sauf qu'il ne s'agit pas de la même suite ;) )

Sauf erreur de ma part :

http://www.les-suites.fr/somme-des-n-premiers-carres.htm

Seulement, d'un point de vue Algorithmique, ça n'a pas trop d'intérêt d'utiliser directement le résultat. Par contre, la boucle est une des fonctions de base de l'algorithmique, alors tant qu'à faire...

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Vous êtes très clair :) Merci beaucoup, c'est une manière simple de m'expliquer les choses et cela m'aide :)

J'ai essayé quelque chose mais cela ne donne pas le bon résultat malheureusement :/

dans ma boucle, j'ai mis :

Pour x allant de 0 à n :

debut pour

x prend la valeur x+1

somme prend la valeur x2

somme prend la valeur "somme + (x+1)2

J'ai essayé avec comme valeur maximal 3.

Ce qui devrait me donner en tout 14, mais mon résultat final est 25...

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

Vous êtes très clair :) Merci beaucoup, c'est une manière simple de m'expliquer les choses et cela m'aide :)

J'ai essayé quelque chose mais cela ne donne pas le bon résultat malheureusement :/

dans ma boucle, j'ai mis :

Pour x allant de 0 à n :

debut pour

x prend la valeur x+1

somme prend la valeur x2

somme prend la valeur "somme + (x+1)2

J'ai essayé avec comme valeur maximal 3.

Ce qui devrait me donner en tout 14, mais mon résultat final est 25...

EN effet, il y a une grosse erreur, et une minuscule.

la minuscule d'abord :

ceci

Pour x allant de 0 à n :

et ceci

x prend la valeur x+1

ont exactement le même sens logique.

La première signifie qu'à chaque début de boucle, x prend la valeur x+1 .

Le fait de remettre une seconde fois l'ordre, fait que au début de chaque boucle,

x --> x +1 , puis, à nouveau x --> x +1

et donc x sera devenu x+2 !!

attention ;)

il faut donc supprimer le "double ordre".

La grosse erreur maintenant, est moins subtile, alors je ne vais pas vous la dire directement mais tenter de vous faire réfléchir :

dans l'ennoncé : somme = 1² + 2² + 3² + ... + n²

Nous, nous construisons cette somme par une boucle.

On commence par dire :

somme =

boucle suivante on voudrait bien que :

somme = + 2²

donc on voudrait bien que

somme (nouveau) = somme (ancien, c'est à dire 1²) + 2²

boucle suivante :

somme (nouveau) = 1² + 2² + 3²

...

Et vous que fait votre algo ? (en imaginant qu'on ait réglé le pb de x ):

Première boucle :

x = 1

somme prend la valeur x2 =1²

somme prend la valeur "somme + (x+1)2 = 1² + 2² (= 5)

jusque là, OK.

ensuite.

Seconde boucle :

x = 2

somme prend la valeur x2 = 4 (donc "somme", qui était égal à 5 devient égal à 4 !!)

somme prend la valeur "somme + (x+1)2 =4² + 3² <-- et ça, c'est pas du tout ce qu'on veut !!

(alors, ou est l'erreur ? ;) )

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Pour le dernière ligne j'ai changé trois fois, je ne vois pas mon erreur...

j'ai d'abord mis :

Somme prend la valeur "somme + (x+1)2 - x2"

Je trouvais 16.

Maintenant "somme+x2"

et je trouve 18.

wallbash.gif

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

Maintenant "somme+x2"

et je trouve 18.

Pouvez vous me donner l'ensemble du code dans cette dernière version ?

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

aaaaaahhhhh ! Merci beaucoup ! :D je cherche tout de suite

Lire n

Pour x allant de 0 à n

Debut pour

somme prend la valeur x2

somme prend la valeur somme+x2

Fin pour

Afficher somme

Avec n=3, toujours 18 :/

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

aaaaaahhhhh ! Merci beaucoup ! :D je cherche tout de suite

Lire n

Pour x allant de 0 à n

Debut pour

somme prend la valeur x2 <----- Pourquoi ??? shrunkface.gif

somme prend la valeur somme+x2

Fin pour

Afficher somme

Avec n=3, toujours 18 :/

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

Et bien tout à l'heure cela paraissait logique mais maintenant que l'on me pose la question, c'est vrai que ça parait bizarre...

Lien à poster
Partager sur d’autres sites

Invité Mad_World
Invités, Posté(e)
Invité Mad_World
Invité Mad_World Invités 0 message
Posté(e)

thumbsup.gif n'est ce pas...

Une question que la prochaine fois tu te poseras toute seule ;)

Lien à poster
Partager sur d’autres sites

Membre, 28ans Posté(e)
LisouLilou Membre 48 messages
Baby Forumeur‚ 28ans‚
Posté(e)

le truc c'est que somme prend bien la valeur x2

Mais seulement une fois, je ne peux donc pas le mettre dans la boucle...

J'ai réussiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiie ! :DDDD

Merci beaucoup, je pense que jamais je n'y serais arrivée toute seule :)

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×