Bonjour
J'ai un algorithme qui à 1 moment me demande d'
"affecter à R le reste de la division euclidienne de U par D"
j'ai vu qu'avec 1 tableur on taperait MOD(U;D)
mais savez vous comment l'écrire dans le langage TI82?
la partie entière est ENT(U;D) mais le reste?
merci de votre aide
après d'autres recherches le reste ne peut pas être obtenu avec 1 ti!
j'ai essayé U-D*int(U,D)R
à la fin quand j'exécute le programme j'ai ERR:ARGUMENT
je vous note tout ce que j'ai écrit ce sera plus facile pour vous de corriger :
4. On considère l'algorithme suivant :
Entrée : n un entier naturel non nul.
Initialisation : A = 0, U = 0 et D = 1.
Traitement : tant que A< n :
affecter à A la valeur A+1 ;
affecter à U la valeur 10U+1 ;
affecter à D la valeur de D+1 ;
affecter à R la valeur du reste de la division euclidienne de U par D ;
Si R = 0 alors afficher U, D et « OUI ».
Donner les affichages pour n = 10. Interpréter les affichages de cet algorithme
relativement au problème posé.
Input "N=?",N
0A
0U
1D
While A<N
A+1A
10*U+1U
D+1D
U-D*int(U/D)R
If R=0
Then
Disp U
Disp D
Disp "OUI"
si j'exécute J'entre N=10
la calculatrice affiche DONE mais n'indique pas que 111111 7 OUI comme elle le devrait
svp j'en ai vraiment besoin
Bonjour,
Le mot "end" est pas obligatoire si on utilise l'instruction IF et si on utilise l'instruction WHILE. Ton programme doit donc contenir 2 fois le mot end.
Ton algorithme n'est pas très clair : on ne sait pas quand se termine l'instruction TantQue. J'ai supposé que c'était à la fin.
On peut en effet mettre les instructions "end" avant ou après les "disp" mais alors, l'algorithme n'est plus le même. Quoiqu'il en soit, derriere le "then", il faut au moins une instruction suivie d'un "end".
Encore une fois ton algorithme n'est pas assez clair : on ne sait pas précisément ce que contient la boucle TantQue. Il aurait fallu respecter l'indentation !
Entrée : n un entier naturel non nul.
Initialisation : A = 0, U = 0 et D = 1.
Traitement : tant que A< n :
affecter à A la valeur A+1 ;
affecter à U la valeur 10U+1 ;
affecter à D la valeur de D+1 ;
affecter à R la valeur du reste de la division euclidienne de U par D ;
Si R = 0 alors afficher U, D et « OUI ».
l'énoncé se présentait comme ceci. C'est ce que vous vouliez savoir?
effectivement si j'ajoute les 2 "end" il fonctionne et me donne 2 valeurs U(6)=111111 divisible par 7 et U(10) divisible par 11
j'ai trouvé 1 correction où la sortie de l'algorithme pour n=10 est la seule solution donnée est 111111 7 oui
pourtant moi j'en ai 2 : et ça me parait normal car A=9 donc on ne sort pas du tant que A prend la valeur 10 et U devient 1 111 111 111 et D=11
c'est quand A = 11 qu'on sort du programme sans recalculer une nouvelle valeur de U; c'est ça?
Oui c'est bien ça.
Pour permettre une meilleure lecture des résultats affichés, j'ajouterais l'instruction "Pause", juste après les 3 instructions "Disp". Cela permet d'arrêter le déroulement du programme. Il redémarre dès qu'on appuie sur Enter.
"j'ajouterais l'instruction "Pause"" : sur le programme de la calculatrice?
merci
(je ne comprends pas trop!
OK merci
j'ai fait un programme sur ma TI 82 qui doit calculer la somme nes carrés des n premiers entiers
comment est possible que lorsque je l'exécute il me donne :
ERR:SYNTAX
et si je retape entrée il écrit 385 pour N=10
et pour N=100 : idem ensuite 1240
(DONE ne s'affiche pas)
voici mon algorithme :
PROMPT N
0A
0S
For (I,1,N)
I²A
A+SS
End
merci beaucoup mais je n'aime pas les caprices de ma machine...ou je ne vois pas mon erreur
j'ai bien tapé ça je vous assure et le problème persiste.
la seule différence avec le votre est que j'ai 2 lignes pour
0A
0S
à la place de 0A:0S chez vous
du coup j'ai essayé de les fusionner comme vous mais ça me fait une ligne vide.
Est ce que c'est génant?
comment la supprimer?
ça ne marche pas avec la touche CLEAR
J'ai mis les 2 instructions 0A et 0S sur la même ligne seulement pour permettre d'avoir tout le programme sur l'écran (c'était plus simple pour faire une copie d'écran : pas besoin de coller 2 morceaux). D'une manière générale, on peut mettre plusieurs instructions sur une même ligne en les séparant par : (2 points)
Pour effacer une ligne vide, il suffit de se mettre sur la ligne à effacer et d'appuyer sur DEL.
Ton problème vien peut-être d'un espace dans l'instruction For( par exemple...
Pour localiser l'erreur de syntaxe, il faut lancer l'exécution, puis au moment où apparaît "syntax error" "quit" "goto', il faut choisir "goto" et le curseur clignote à l'endroit où il y a un problème.
ah merci je ne connaissais pas cette option "assistance" de syntax error"
si je choisis l'option goto
j'ai ça qui s'affiche :
PROGRAM:SOMCARRE
:
:
:
:
:
:
Input "N"
alors que je n'ai pas d'imput dans mon programme mais PROMPT N!
décidément!!
Il faut supprimer les lignes vides.
La syntaxe de input est différente de celle de prompt. Il faut écrire :Input "N = ",N
"Le mot "end" est obligatoire si on utilise l'instruction IF et si on utilise l'instruction WHILE."
il l'est aussi pour l'instruction For (I,1,n) n'est ce pas?
merci
Oui bien sûr.
Sur d'autres marques de calculatrices, chaque structure a un mot-clé particulier pour indiquer la fin :
If ... IfEnd
While ... WhileEnd
For ... Next
Sur Texas, c'est le même mot-clé "end". C'est plus simple mais ça peut entraîner des confusions ...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :