Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algoritme/Programme et suite, combiner un for et un while

Posté par
Rom159
06-03-14 à 17:12

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 !

Posté par
Ymer
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:15

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

Posté par
Rom159
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:20

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 :/

Posté par
Glapion Moderateur
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:30

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

Posté par
Ymer
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:31

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 ?

Posté par
hekla
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:36

Bonsoir

Pourquoi mélanger les 2

while suffit

je suppose que vous vous donnez un R et vous cherchez le plus petit entier n tel que u_n<r

par exemple
demander R
1->A
tant que A\geqslantR
N+1->N
2^N/(3^N-1)->A
End
Afficher N

Posté par
Rom159
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:37

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 :/

Posté par
hekla
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:41

il faudrait écrire votre programme

le mien fonctionne r=0.5 N=3 R=10^{-6} N=35

Posté par
Rom159
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:43

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 !

Posté par
hekla
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:52

il manque juste la dernière ligne Disp N

Algoritme/Programme et suite, combiner un for et un while

Posté par
Rom159
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:54

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 ?

Posté par
Rom159
re : Algoritme/Programme et suite, combiner un for et un while 06-03-14 à 17:59

Problème résolu apparemment, j'ai supprimé ma ligne avec le EffVar et j'ai initialisé mes variables N et A à 1 comme montré dans le programme de hekla et ça marche ! Merci beaucoup à vous en tous cas ! Je vous souhaite une excellente soirée et encore merci à vous pour votre aide !



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