Bonjour à tous,
Je bloque sur une question dans un exercice de mon DM, qui consiste, à l'aide d'un algorithme à entrer ensuite sous forme de programme dans la calculatrice, à trouver le plus petit entier n en fournissant un réel r strictement positif tel que Un < r. La suite (Un) est définie par : Un = 2n / 3n-1 pour tout n
*.
Cela fait plusieurs heures que je recherche comment résoudre ce programme (je préfère d'abord effectuer le prgm dans la calculatrice et ensuite écrire l'algorithme) mais je ne trouve pas. Je voudrais faire en écriture français quelque chose qui ressemblerait (uniquement pour le traitement du problème) à ça : pour N allant de 1 à I tant que l'entier r est inférieur à Un. Mais je ne sais pas comment aligner un for et un while dans ma TI. Je ne vois pas comment je pourrais procéder autrement ...
Au niveau du traitement dans mon programme après plusieurs tentatives j'ai ceci :
: For(N,1,I)
: (2^N)/((3^N)-1)A
: While R<A
: End
: Disp A
: Disp N
: Disp R
: End
Si quelqu'un pouvait me débloquer ce serait vraiment gentil de votre part. Merci d'avance !
Salut,
Pourquoi avoir posé pour N allant de 1 à I ?
Tu n'as qu'à simplement ouvrir ta boucle While et à la dernière de ligne de cette boucle tu insères un ligne telle que N prend la valeur N+1
Salut,
C'est vrai que c'est possible mais je ne vois pas comment ça permettrait d'avancer dans mon soucis car en fait ce qui me bloque c'est que pour utiliser ma boucle While j'ai besoin de la variable R et A (celle qui contient le résultat de Un) mais si je ne déclare pas ma variable A avant d'utiliser la focntion While, la fonction While ne pourra pas fonctionner. J'espère être assez clair dans mes explications car j'ai moi même du mal à me comprendre :/
Bonjour, tu cumules deux boucles, tu devrais n'en utiliser qu'une.
ça devrait donner quelque chose comme ça (à vérifier en fonction de ta calculatrice) :
:1 N
: "R"? R
: (2^N)/((3^N)-1) A
: While R < A
: N+1 N
: (2^N)/((3^N)-1) A
: End
: Disp N
Commence par poser avant ta boucle A=U1(que tu dois calculer)
Ensuite Saisir R
Ensuite N=1
Ensuite tu ouvres ta boucles
UnA
N prend la valeur N+1 tout simplement ?
Bonsoir
Pourquoi mélanger les 2
while suffit
je suppose que vous vous donnez un R et vous cherchez le plus petit entier tel que
par exemple
demander R
1->A
tant que AR
N+1->N
2^N/(3^N-1)->A
End
Afficher N
Bonjour,
Merci pour votre aide, j'ai inséré cette partie de programme dans mon programme et quand je l'exécute, pour n'importe quelle valeur de r que je rentre, la variable N qui ressort est toujours 1, je ne pense pas que ce soit la bonne réponse mais je ne vois pas où est le soucis dans mon programme :/
Oui Ymer mais en procédant comme tel, j'ai le même soucis que pour les autres programmes :/
Bonsoir hekla, j'ai procédé en suivant votre programme mais j'ai toujours 1 en sortie de programme :/
Merci pour votre aide en tous cas !
Je ne sais pas comment ça se fait, j'ai retenté en essayant avec R=0.5 comme le fait hekla et je trouve N=6. Pour R=10-6 je trouve N=35.
Je viens de trouver la source du problème je pense. J'exécute mon programme, je rentre r=1, il me sort N=41. Je le ré-exécute, je remets r=1 et il me sort N=42. Il incrémente toujours de 1. Je ne comprends pas car la première ligne de mon programme est pourtant "EffVar R" donc il est sensé réinitialiser le contenu de ma variable R si je ne me trompe ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :