| Remplacer une variable par le résulat d'un calcul |
| Auteur |
Message |
Dagoba1991
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 21 Mai 2008, 17:49
|
Posté le : Mer 21 Mai 2008, 18:00
|
|
|
Bonjour, je suis encore débutant en programmation et me suis lancé dans la création d'un programme de résolution des suites récurrantes ...
Après avoir demandé a l'utilisateur d'entrer la logique de la suite (L), qui est en fait une formule dont l'un des termes est une variable dont l'utilisateur a préalablment entré la valeur (B), je met une boucle me permettant de régler le nombre de fois que l'opération va se répeter ... mais durant cette boucle, le programme doit calculer la valeur de L, et entrer le résultat de L dans la variable B, de manière a ce que ce résultat soit utilisé dans le calcul de L (formule) lors du prochain "tour" de la boucle ... de plus je ne sai spas comment faire afficher le résultat ( après X nombres de "tour" de boucle") lorsque al boucle est finie ...
J'ai tenté de mettre dans la boucle :
L->B mais en vain ...
Merci de votre aide
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
mad67
Autorisation : Membre
Nb de messages : 613
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Mer 21 Mai 2008, 18:32
|
|
|
essaye output
|
 |
|
| |
Dagoba1991
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 21 Mai 2008, 17:49
|
Posté le : Mer 21 Mai 2008, 20:42
|
|
|
Merci Mad 67 !
Je m'en vais tester cette solution ... car toute ma classe y compris mon prof attendent ce programme ^^, je te dirais si cela fonctionne !
|
 |
|
| |
craminou
Autorisation : Membre
Nb de messages : 132
Inscrit le : Sam 15 Avr 2006, 11:31
|
Posté le : Mer 21 Mai 2008, 21:18
|
|
|
disp B
pour faire simple ou
ouput(x,y,B
0<x<9
0<y<17 ou l'inverse
x et y coordonnée sur l'écran
|
 |
|
| |
webmaster
Autorisation : Administrateur
Nb de messages : 775
Inscrit le : Mer 18 Aoû 2004, 22:13
|
Posté le : Jeu 22 Mai 2008, 14:30
|
|
|
Sujet réglé ?
@+ Le Webmaster 
|
 |
|
| |
Dagoba1991
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 21 Mai 2008, 17:49
|
Posté le : Dim 25 Mai 2008, 12:22
|
|
|
Merci de vos réponses mais mon problème en lui même n'est pas que je ne sais pas comment afficher le résultat ^^ je connais les commandes output et disp, masi que ma boucle ne veut pas remplacer la variable B qui est utilisée par un calcul par le résultat du dit calcul afin que le calcul s'effectue avec le résulatat précédents et ce tout au long de la boucle...
Merci tout de même
|
 |
|
| |
webmaster
Autorisation : Administrateur
Nb de messages : 775
Inscrit le : Mer 18 Aoû 2004, 22:13
|
Posté le : Dim 25 Mai 2008, 12:24
|
|
|
Il faut faire quelque chose comme ça :Output(1,1,B) et non :Output(1,1,"B")
@+ Le Webmaster 
|
 |
|
| |
craminou
Autorisation : Membre
Nb de messages : 132
Inscrit le : Sam 15 Avr 2006, 11:31
|
Posté le : Jeu 29 Mai 2008, 19:29
|
|
|
sa serai bien que tu nous envoie le code source
mais sa doit etre un truc comme sa non ?
.->B
while ...
(calcul avec B ex: b+1)->B
disp B
(pause)
(clrhome)
end
|
 |
|
| |
Dagoba1991
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 21 Mai 2008, 17:49
|
Posté le : Mer 04 Jui 2008, 11:52
|
|
|
exactement c'ets un truc comme ca ^^ masi je ne comprends pas pourquoi dans ma boucle cela ne fonctionne pas.
La becanne fait le calcul puis affiche le résultat et continue de tourner (normal) masi en affichant toujours le mm resultat ... :S
Input "B", B
Input "L", L (ex : 2B+1)
repeat E=N ( variables entrées avant )
disp L
L-> B
disp L
End
voila ...
mercide vos réponses
|
 |
|
| |
webmaster
Autorisation : Administrateur
Nb de messages : 775
Inscrit le : Mer 18 Aoû 2004, 22:13
|
Posté le : Mer 04 Jui 2008, 13:12
|
|
|
C'est tout a fait normal que le résultat ne change pas !
| Code | Input "B", B // Mettre dans B la valeur entrée par l'utilisateur
Input "L", L (ex : 2B+1) // Mettre dans L....
repeat E=N ( variables entrées avant ) //Jusqu'à ce que E soit égal à N; faire :
disp L // Afficher la valeur de L
L-> B // Mettre L dans B et pas l'inverse !
disp L // Afficher L
End |
Où est-ce que L est modifié ?
@+ Le Webmaster 
PS: tu feras attention, mais tu as une boucle infini puisque tu n'incrémentes jamais aucune variable...
|
 |
|
| |
Dagoba1991
Autorisation : Membre
Nb de messages : 5
Inscrit le : Mer 21 Mai 2008, 17:49
|
Posté le : Mer 04 Jui 2008, 20:22
|
|
|
c'ets excat ma boucle est infinie ^^ suis je fou ! dans mon programme il y a une incrémentation, j'ai omis de l'écrire.... mais en fait L ets un calcul qui utilise B, je souhaite remplacer la valeur de B par le résulat de L afin que le résulat précédent soit utilisé a nouveau dans L, et ce tout au long de la boucle.
Merci !
|
 |
|
| |
craminou
Autorisation : Membre
Nb de messages : 132
Inscrit le : Sam 15 Avr 2006, 11:31
|
Posté le : Mer 04 Jui 2008, 22:54
|
|
|
tu ne pourra pas ( a mon avis ) rentrer l comme une variable . ton calcul doit etre prédéfini quand tu écri le prog . prenon l'exemple de L=2b+1 et B=1
dans ton prog , pour input si tu rentre 2b+1 , il entrera la valeur 2(1)+1 donc L=3. disp L -> affiche 3 ;L->B -> B=3 ;disp L -> affiche 3
et sa recommence (affiche 3, L->B , affiche trois )
car meme si la valeur de B a changer, la valeur de l non , pour ta calculette, l avait pris pour valeur trois, et non pas la fonction de B f(L)=2B+1 .Il te faudra definir avant l'execution du programme du calcul et écrire (en gardant le meme exemple
| Code | :input B
:repeat E=N
:2B+1->B <------ tu doit changer cette ligne avant chaque execution du prog pour l'adapter a tes besoins
:disp B
:E+1=E (je sais pas si c'est sa ...)
:end |
sinon ton programme sera beaucoup plus long et beaucoup plus dur (ne pas entrer le calcul); ou alors il faut utiliser une fonction de x (que je sais pas faire... webmaster(ou qqn d'autre)..... comment on utilise fonction de x dans un programmmme??? )
|
 |
|
| |
nanoseb
Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 31 Mai 2008, 15:10
|
Posté le : Jeu 05 Jui 2008, 12:17
|
|
|
sinon je pense que l'on peut utiliser des chaines et ensuite les convertir en expression.
|
 |
|
| |