bonjour,
j'ai un devoir a faire sur les algorithmes et en faisant mon algorithme j'ai une erreur sur cette ligne :
r prend la valeur s*(pow(x,n))
il met met "depassement de la capacité autorisée pour les boucles"
merci
Bonjour,
"dépassement de capacité sur les boucle c'est une erreur dans :
la condition du tant que
ou la modification des variables qui interviennent dans ce test
ou le principe de l'algorithme (nécessite réellement trop de boucles pour se terminer)
comme dit Leile, l'erreur est ailleurs et pas dans cette ligne là et il faut donner l'ensemble de l'algorithme (et de l'énoncé qui a conduit à cet algorithme d'ailleurs)
ha nan c'est bon le voila:
1 VARIABLES
2 s EST_DU_TYPE NOMBRE
3 n EST_DU_TYPE NOMBRE
4 x EST_DU_TYPE NOMBRE
5 r EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7 AFFICHER "somme de depart"
8 LIRE s
9 AFFICHER "combien d'années plus tard?"
10 LIRE n
11 AFFICHER "taux d'interet?"
12 LIRE x
13 x PREND_LA_VALEUR x/100
14 POUR n ALLANT_DE 1 A n
15 DEBUT_POUR
16 r PREND_LA_VALEUR s*(pow(x,n))
17 FIN_POUR
18 AFFICHER r
19 FIN_ALGORITHME
l'énonce c'est :
Faire un programme plus general permettant de calculer le capital dont on dispose au bout de N années, si l'on place une somme S a un taux d'interet de X pour cent
de prime abord, c'est la ligne 14 qui ne colle pas : tu utilises n deux fois.
remplace la par
POUR i ALLANT_DE 1 a n
tu vas passer dans ta boucle n fois.
quel est le calcul que tu veux faire en ligne 16 ?
actuellement, r n'évolue pas à chaque passage dans la boucle..
"POUR n ALLANT_DE 1 A n" ne risque pas de marcher !
à chaque fois qu'on exécute une boucle, on repousse la valeur n qui terminerait la boucle
une telle boucle ne se termine jamais !!
tu dois utiliser deux variables différentes
une pour le nombre de boucles à exécuter (n)
une autre pour compter ces boucles (appelles la comme tu veux k, i ... mais pas n !!)
nota aussi : cet algorithme ne répond pas au problème, "mathématiquement parlant"
tu prétends que le capital serait simplement R = S * x^n ??? toute boucke seariut inutile pour caluler ça
et c'est bien ce que calcule vraiment ton algorithme (en corrigeant le "pour")
cela revient à par exemple
problême calculer n^2
on calcule 1^2
puis on calcule 2^2
puis on calcule 3^2
... (n-1 calculs inutiles)
puis enfin on calcule n^2 et on affiche le résultat
c'est très précisément comme ça que fonctionne ton algorithme !
(salade entre r et s qui ne traduit pas la réalité du placement au taux x%)
heu je ne comprend pas trop pourquoi cela ne repond pas a mon probleme
et merci j'ai compris pour les variables de la boucle
en vrai tu calcules R = S * x^n tout court et c'est juste ce R là que tu affiches.
avec le seul n demandé en entrée, toute ta boucle ne sert à rien, c'est comme mon calcul de n^2 où on calculerait inutilement tous les carrés précédents pour afficher le seul dernier !!
alors que le problème du placement est que on rajoute au capital les intérêts de l'année
intérêts qui sont calculés sur le capital en début d'année et pas sur le capital de départ.
je pense avoir compris, donc la il faut que je recommence mon algorithme a zero?
Parce qu'a ce stade je ne vois pas trop comment faire dans mon algorithme pour reprendre le capital de l'année et rajouter le taux d'interet
le capital en début d'années c'est S,
l'intérêt de l'année en cours c'est S*x (y a pas de "pow")
tu dois donc remplacer S par S + S*x dans ta boucle pour obtenir le capital en début de l'année suivante (et faire la boucle suivante à partir de cette nouvelle valeur de S)
au début S contient la valeur de départ saisie
à la fin de l'exécution S contient le capital au bout des n années.
tu affiches ce capital S
tu as trois lignes à modifier :
la boucle "pour" fautive
le calcul dans la boucle
l'affichage final du capital S
à chaque année le capital rapporte x%
interets = r * x%
ces interets s'ajoutent au capital : r devient r + interets
soit r prend la valeur r + r*x/100
(OU r prend la valeur r*(1+x/100) )
dans ce cas, r évolue au fil de la boucle..
Merci beaucoup je pense qu'il fonctionne la
le voici :
1 VARIABLES
2 s EST_DU_TYPE NOMBRE
3 n EST_DU_TYPE NOMBRE
4 x EST_DU_TYPE NOMBRE
5 r EST_DU_TYPE NOMBRE
6 i EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 AFFICHER "somme de depart"
9 LIRE s
10 AFFICHER "combien d'années plus tard?"
11 LIRE n
12 AFFICHER "taux d'interet?"
13 LIRE x
14 x PREND_LA_VALEUR x/100
15 POUR i ALLANT_DE 1 A n
16 DEBUT_POUR
17 s PREND_LA_VALEUR s+s*x
18 FIN_POUR
19 AFFICHER s
20 FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :