programmation TI82
bonjour
j'aimerais savoir dans quels cas lorsqu'on fait un programme sur la TI la fonction end est obligatoire
If?
For I(1,N)
...?
merci de votre aide
Bonsoir,
Sur Ti, la commande end est polyvalente. Elle est obligatoire dans plusieurs cas :
1) For( ...) ...end
2) While (...) ... end
3) If ... then ...[else ... ] end
4) Repeat (...) ... end
et j'en oublie peut-être
Ok merci je me note ça.
Et effectivement j'avais remarqué que certaines instructions fonctionnent qd même sans le end.
Alors ça ne me paraissait pas très rigoureux.
Merci de cette précision.
Bonjour,
il est fort possible que dans certains cas la fin physique du programme soit équivalente à toute une batterie de "end" pour "fermer" toutes les boucles et conditions en attente d'un "end" explicite ...
mais de toute façon agir ainsi (en omettant les "end" sous prétexte qu'elles se ferment automatiquement à la fin) est une grave erreur de principe de bonnes habitudes : on n'est jamais sûr de quel effet de bord et interprétation douteuse la calculette/le compilateur va choisir d'appliquer
pour certaine boucle ne pas mettre de end à la fin équivaut à n'exécuter dans la boucle que la première instruction suivante ....
d'autre part mettre des end "en plus" peut conduire à fermer une boucle précédente alors qu'elle se ferme plus loin et créer des conflits ....
encore une raison pour considérer ces machines comme de la m....
c'est l'interface entre la chaise et le clavier qui est en cause dans ce cas
indispensable :
- écrire explicitement son algorithme "en langage naturel" de façon propre et rigoureuse (et donc les "end" y figurent forcément de façon explicite, sous une forme ou une autre)
- traduire "mot à mot" ça sur machine.
c'est tout, juste de la "bonne pratique"
Sur Texas, il existe plusieurs syntaxes de l'instruction if :
1)Dans l'exemple ci-dessous, si R=1 alors l'instruction suivante est exécutée (A prend la valeur 2), sinon on passe directement à l'instruction suivante. Il n'y a pas de mot "end".
Cette première syntaxe n'est à employer que s'il n'y a qu'une seule instruction à exécuter lorsque la condition est remplie.
:If R=1:2A
:...
2)Dans le second exemple, ci après, il n'y a pas de clause else. Le nombre d'instructions si la condition est remplie à exécuter est quelconque.
On ne peut pas mettre d'instruction sur la même ligne que le mot Then.
:If R=1
:Then
:...
:...
:end
3)Dans le 3e cas, il y a une clause else :
:If R=1
:Then
:...
:...
:Else
:...
:...
:end
ça peut conduire à une erreur de syntaxe quelquefois
peut-on m'expliquer la commande Repeat ... End ?
La commande Ti Repeat <condition> ... end correspond à la structure itérative Repeat ... Until <condition> du langage Pascal.
Les points de suspension contiennent un nombre quelconque d'instructions à répéter jusqu'à ce que <condition> soit vraie.
Attention : le test sur la condition ne s'effectue qu'à la fin de la liste d'instructions à répéter, si bien que ces instructions sont exécutées au moins une fois.
Exemple :
On veut demander à l'utilisateur d'entrer un nombre inférieur à 10. Le programme doit redemander d'entrer le nombre jusqu'à ce que le nombre saisi soit inférieur à 10 :
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :