Bonjour à tous ,
J ai une calculatrice TI 82advanved
Mais pour certains programmes la calculatrice met done sans les résultats avant ,est ce un bug ou bien un mauvais réglage ?
Merci d avance
Inès
J ai mis le disp avant la fin de la boucle car je voudrais qu il affiche tout les carré parfait et pas seulement le dernier
Merci de votre aide !
Bonjour en effet je me suis trompé en recopiant ,
A=(N+1)au carré
Le but est de trouver tout les carré parfait
Merci encore de votre aide
Inès
Ah enfait je me suis encore trompé je le remet en entier
Input N
0 va dans U
While A inférieur ou égal à N
(U+1) au carré va dans A
Disp A
End
Faut il rajouter un Disp à la fin ? Car ça met toujours done ...
I
Bonjour,
comme déja dit au moment du 1er passage dans "While A etc" il ne connait pas la valeur de A donc il fait n'importe quoi (par exemple il ne fait rien ...)
En plus de ça, la valeur de U est inchangée dans la boucle (aucune instruction "va dans U")
si jamais il entrait dans la boucle elle ne se terminerait jamais
et il afficherait une infinité de fois la valeur toujours la même (0+1)² = 1
Ah d accord alors il faut faire
Input N
0 va dans U
0va dans A
While A inférieur ou égal à N
U+1 va dans U
U au carré va dans A
End
Bonjour désolé ç est encore moi mais cela m affiche un seul résultats et je pense faux car le but est d afficher tout les carré parfait en dessous ou égaux à N et quand je met N =20 cela me met 1
faut voir la notice de la calculette
peut être que ton "Disp" tel que tu l'as écris (attention aux chiures de mouches) veut dire "afficher A et attendre pour continuer"
au lieu de "afficher A et continuer dans la foulée"
peut être que ton "end" veut dire fin du programme et pas fin de la boucle
un "whileend" à la place du "end" ?
ou un deuxième end après le 1er pour dire fin de programme (le deuxième) et que le 1er veuille bien dire fin de la boucle ?
je ne connais pas trop la TI (vu que je n'en ai pas), mais l'algorithmique c'est "universel",
seule la traduction, la syntaxe exacte, dépend de la machine
Bonjour
il y a un problème d'arrêt il donne un carré de trop
le programme
une ligne en plus car cela ne tenait pas sur l'image End
le résultat
Prompt permet d'afficher la variable et envoie la réponse dans cette mémoire
disp ne fait qu'afficher
si les résultats dépassent le nombre de lignes de l'écran il vaut mieux mettre une pause avant END
c'est le END de la boucle
par défaut il y a un End à la fin pour le programme
en mettre un autre provoque une erreur
certes, ça dépend de ce qu'on veut faire.
si on cherche explicitement les carrés vraiment < N (ou ≤ N) il en sort en trop, tout à fait.
mais il oublie 0²
J ai le même problème avec un autre algorithme
Prompt A
Prompt B
Prompt C
If À supérieur à B
Then
If A supérieur à C
Then
Disp A
If B supérieur à C
Then
disp B
Disp C
Else
Disp C
Disp B
End
End
End
Et j ai fait pareil 3 fois en arrangeant les lettres
Le but de l algo est de mettre les chiffres dans l ordre croissant
je ne vois pas de loup dans ce "tiers" de programme (le cas où A est le plus grand)
à part le fait qu'il sort les nombres dans l'ordre inverse de celui demandé
(si A est le plus grand il devrait le donner en dernier !)
mais c'est assez illisible sans indentation.
et les deux autres "presque copies" sont peut être entachées d'erreurs (sur les permutations de A, B, C par rapport à ce premier tiers par exemple)
en tout cas cette méthode "brutale" de séparation des 6 cas possibles par 9 tests fait un peu lourdingue
on peut se contenter de 5 tests à mon avis en faisant un arbre sur papier des différents cas
et en traduisant ensuite cet arbre par des si/sinon
à la racine A comparé à B
deuxième "étage" (un dans chaque branche) test de A par rapport à C
troisième "étage" moins de 4 tests de B par rapport à C
car certains sont inutiles, par exemple si A < B et A > C il est inutile de comparer B et C !!
il ne reste donc que 2 tests de B vs C à cet étage
au total 5 tests si/sinon imbriqués "judicieusement"
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :