Petit algorithme sur ti82 (besoin d'aide)

Résolu/Fermé
Mely57 - Modifié par Mely57 le 20/04/2014 à 16:38
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 20 avril 2014 à 21:04
Bonjour, je suis en train de réaliser un programme très simple (pas vraiment pour moi car débutante mais bon...).

La situation : il me faut afficher Uk en fonction de k pour Uk=2/k

Donc j'ai pour l'instant ceci : (il fonctionne, mais...)

Prompt K
1->U
For (I,1,K)
2/K->U
Disp U
End

Mes soucis :
*Je l'ai un peu modifié à partir d'un autre algorithme réalisé en classe donc en fait je ne comprends pas vraiment à quoi sert la touche sto-> (je ne sais donc pas pourquoi dans mon cas je l'ai associé à 1 et U...)
*Ensuite, j'ai une suite donc j'aimerais faire en sorte que les nombres négatifs me soient refusés, tout comme le 0 dans ce cas-là, or ici en l'exécutant, certes il n'y a pas la réponse, mais le programme affiche simplement Fait
*Je souhaiterais également afficher mon résultat sous forme : UK= , en fait je vois comment afficher U avec "..." mais j'aimerais bien qu'en donnant ma valeur au début K=1 par exemple, me soit donc affiché U1= la réponse et si possible avec UK et la réponse du même côté (j'ai testé quelque chose et j'avais le UK à gauche et la réponse à droite).
*Dernière chose, si possible, lorsque j'ai saisi ma valeur de K au début, je voudrais que le K=?1 (exemple) disparaisse quand ma réponse finale est affichée.

PS: le programme actuel fait des choses étranges avec K=100 ... (pour ceux qui veulent bien tester)

2 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 20/04/2014 à 19:31
Bonjour

1. L'instruction STO permet d'affecter une valeur à une variable (1 STO U met la valeur 1 dans la variable U)
A ce propos, ton instruction 1 STO U ne sert à rien

2. Ton programme me parait bizarre. si tu l'as écrit tel que, il doit afficher K fois la même valeur (si l'utilisateur donne 10 comme valeur de K, il affiche 10 fois la valeur 0.2), dans ce cas, la boucle For(I,1,K) ne sert à rien .....

3. A moins que tu n'aies écrit dans ta machine
2/I STO U
pour afficher les valeurs successives de UI pour I allant de 1 à K
Dans ta boucle For(...) il te faut prévoir une instruction pause pour pouvoir lire les valeurs affichées
Dans la suite, je suppose que c'est ça que tu as voulu écrire

3. Pour refuser les valeurs de K négatives (ou non entières)en entrée, il y a plusieurs solutions
S1. Si K <=0, on affiche un message d'erreur et on quitte ( If ... Then .... Else ....)
S2. On redemande une valeur pour K tant qu'elle n'est pas entière et strictement positive (while K ....... end)

4. Pour effacer l'écran il y a l'instruction ClrHome (PRGM/IO ...)

5. Pour ce qui est de l'affichage sous la forme Indice = terme sur une même ligne, c'est nettement plus compliqué, il te faut utiliser Output(n°ligne, n°colonne, valeur) (avec un OutPut pour l'indice et un pour le terme), mais en plus il te faut tenir compte du fait que ton écran ne contient que 8 lignes, donc prévoir une pause entre chaque écran (paquet de 8 valeurs)

Bon courage
2
Merci, je vais tester ;-)
0
Voilà les modifs: (il semblerait qu'il fonctionne)
* Prompt K
* If K< ou =0
* Then
* Disp "NON DANS (UK)"
* Else
* 2/K->U
* Disp U
* End
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
20 avril 2014 à 21:04
Ton programme est correct, et voilà ce qu'il est sensé faire
Il demande une valeur K à l'utilisateur
Si k<=0
alors
il affiche un message d'erreur
sinon
il affecte à U la valeur 2/K puis affiche U

RQ. Pour aller plus loin (dans l'esprit de ton premier post)
Le programme demande la valeur maxi M de K
puis il calcule et affiche les M valeurs successives de UK depuis K=1 jusqu'à K=M
0