Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Algorithme erreur

Posté par
antp33
02-01-15 à 11:03

Bonjour,
j'ai réalisé ce petit algorithme suite à une question d'un exercice qui était de réaliser un algorithme pour trouver
le plus petit entier n tel que Vn>0,999.
Sachant que la suite Vn est définie par vn=1-0,6^n

Voici l'algorithme :

VARIABLES
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
n PREND_LA_VALEUR 1
TANT_QUE ( 0,6^n<0,001) Faire
   DEBUT_TANT_QUE
   n PRENDS_LA_VALEUR  n+1
FIN TANT QUE
AFFICHEZ N
FIN_ALGORITHME

Après avoir tester cet algorithme, on m'affiche le message d'erreur suivant :
" Algorithme interrompu ligne n°8, dépassement de la capacité
autorisée pour les boucles."

Je vous remercie de m'éclairer sur ce point.

Posté par
Lancaster
re : Algorithme erreur 02-01-15 à 11:10

Bonjour,

vn > 0,999 signifie que 0,6n < 0,001
La condition après le tant que est le " contraire " de 0,6n < 0,001.

Posté par
naizuki
re : Algorithme erreur 02-01-15 à 11:12

Ce qui n'explique pas vraiment l'erreur.
On ne devrait jamais rentrer dans la boucle, donc pas dépasser la capacité...

Posté par
antp33
re : Algorithme erreur 02-01-15 à 11:13

C'est à dire ?

Posté par
Lancaster
re : Algorithme erreur 02-01-15 à 11:18

A naizuki

Effectivement, la condition ne devrait pas être remplie et le résultat affiché devrait être 1.
Si l'algorithme a été testé sur Algobox, il y a des erreurs de syntaxe.
Par exemple : 0,6 ^ n doit être écrit pow(0.6,n)

Il me semblait plus intéressant de pointer l'erreur de raisonnement

Posté par
Lancaster
re : Algorithme erreur 02-01-15 à 11:27

Je viens de tester avec Algobox.
Mettre une virgule au lieu d'un point donne un dépassement de boucle !
Mettre un point donne n = 1 !
De toute façon , Algobox ne reconnaît pas 0.6^n.

Posté par
waxoui
re : Algorithme erreur 02-01-15 à 11:37

(Désolé, changement de compte)
Je vous remercie pour vos réponses, mon erreur venait simplement du fait que j'avais mis une "," au lieu d'un "."
De plus, j'ai dans mon intitulé fait une faute de frappe entre le "<" et le ">".
Ce n'etait pas une erreur de raisonnement.
Ainsi, en réalisant le bon algorithme pour répondre à la question de l'exercice, je trouve 14.
Merci encore

Posté par
J-P Posteur d'énigmes
re : Algorithme erreur 02-01-15 à 11:39

Cela ressemble à de l'algobox.

Si oui, alors, il y a une multitude d'erreurs.

Algobox ne comprend pas la notation "0,6" comme nombre.
Il faut mettre un point décimal et pas une virgule --> 0.6 et pas 0,6

Algobox ne comprend pas la notation "^" pour une puissance, il faut utiliser la fonction pow()
Donc, ton 0,6^n doit devenir pow(0.6,n)

La condition du Tant_QUE que tu as écrite (avec les erreurs de pow corrigée), fait sortir de la boucle immédiatement ...
Il faut presque sûrement remplacer ton signe < par le signe >

PRENDS_LA_VALEUR n'est pas une instruction algobox, il faut le remplacer par PREND_LA_VALEUR
FIN TANT QUE n'est pas une instruction algobox, il faut le remplacer par FIN_TANT_QUE
AFFICHEZ n'est pas une instruction algobox, il faut le remplacer par AFFICHER

La variable N (dans l'AFFICHER) n'est pas déclarée, il faut la remplacer par n
-----
Tout cela corrigé devient ceci :


VARIABLES
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
n PREND_LA_VALEUR 1
TANT_QUE ( pow(0.6,n) > 0.001) Faire
   DEBUT_TANT_QUE
   n PREND_LA_VALEUR  n+1
   FIN_TANT_QUE
AFFICHER n
FIN_ALGORITHME

... qui tourne et affiche 14 au final.
-----
Sauf distraction.  

Posté par
Lancaster
re : Algorithme erreur 02-01-15 à 11:41

Dernière remarque : Le contraire de < est .

Bon courage pour la suite ...

Posté par
J-P Posteur d'énigmes
re : Algorithme erreur 02-01-15 à 11:47

Oui, mais ici dans l'algo c'est bien > qu'il faut mettre et pas >= (même si cela ne changera pas le résultat).

Posté par
waxoui
re : Algorithme erreur 02-01-15 à 11:48

Merci pour vos réponses

Posté par
Lancaster
re : Algorithme erreur 02-01-15 à 11:53

Le contraire de 0,6n < 0,001 me semble être 0,6n 0,001.

Posté par
J-P Posteur d'énigmes
re : Algorithme erreur 02-01-15 à 13:12

Oui,

Il faut le >= , (même si le résultat sera le même ici).



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 !