Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Algorithme

Posté par
Carooline
13-11-11 à 06:20

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 .

Posté par
yogodo
re : Algorithme 13-11-11 à 09:49

Bonjour

As-tu trouvé l'erreur dans le programme ou pas?

Posté par
pgeod
re : Algorithme 13-11-11 à 09:50


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 ?

Posté par
pgeod
re : Algorithme 13-11-11 à 09:52

bonjour yogodo
tir groupé.

Posté par
yogodo
re : Algorithme 13-11-11 à 09:53

Oui et une rafale une!!

Posté par
Carooline
re : Algorithme 13-11-11 à 10:17

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" ?

Posté par
yogodo
re : Algorithme 13-11-11 à 10:23

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.

Posté par
Carooline
re : Algorithme 13-11-11 à 10:28

Ah donc, la boucle ne doit pas être infini ? Et pour cela, n = 0 ?

Posté par
yogodo
re : Algorithme 13-11-11 à 10:32

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...

Posté par
Carooline
re : Algorithme 13-11-11 à 10:34

On aura donc :

Initialisation :
Pour n > 0

?

Posté par
pgeod
re : Algorithme 13-11-11 à 10:37

Citation :
je n'ai pas encore étudié ça ^^


ben c'est le moment de faire... dans ton livre peut-être ?

TANT QUE (condition)
        instructions 1
        ...
        instructions n
FIN TANT QUE

tant que (condition) est vraie
la suite instructions 1 à instructions n
est exécuté par le programme.

Arrivé au FIN TANT QUE, le programme revient
à l'instruction TANT QUE pour tester de nouveau la (condition).

Le programme boucle donc tant que la (consition) est vraie.
Dès que (condition) est fausse on passe directement du TANT QUE
au FIN TANT QUE, sans exécuter les instructions 1 à instructions n.

Posté par
yogodo
re : Algorithme 13-11-11 à 10:38

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/

Posté par
Carooline
re : Algorithme 13-11-11 à 10:54

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 ..?

Posté par
Carooline
re : Algorithme 13-11-11 à 10:57

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 ?

Posté par
pgeod
re : Algorithme 13-11-11 à 12:09

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

Posté par
Carooline
re : Algorithme 13-11-11 à 17:23

Oh merciii beaucoup .

Posté par
pgeod
re : Algorithme 13-11-11 à 17:23



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 1742 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 !