ent(, partEnt(, arrêter un programme...
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

ent(, partEnt(, arrêter un programme...



  1. #1
    Minialoe67

    ent(, partEnt(, arrêter un programme...


    ------

    Bonjour, et j'espère que vous avez passé un bon Noël!!

    J'aimerais savoir quelle est la différence entre ent( et partEnt( sur TI?

    De-même, j'ai un programme sur TI à faire et j'aimerais que le programme s'arrête si les données ne correspondent pas.
    En fait, je dois rentrer A et B sur la calculatrice. Mais il faut que A>0 et B>0. Donc j'aimerais que le programme s'arrête si on entre 0.

    Voici mon début:
    Input "A=",A
    Input "B=",B
    If A=0
    Then
    End
    If B=0,
    Then
    End
    ...

    Le problème, c'est que même si je rentre A=0 ou B=0 mon programme continue et normalement il devrait s'arrêter. J'ai essayé de mettre alors 2 End mais alors la TI me dit qu'il y a un problème de syntaxe. Que faire?

    Merci de m'aider

    -----

  2. #2
    invite8214f726

    Re : ent(, partEnt(, arrêter un programme...

    Bonjour

    Ca fait des années que je ne programme plus sur TI, et je n'en ai pas sous la main.

    Mais après un petit test sur un émulateur je pense que je vois ce qui ne va pas.

    Ce que tu fais ici c'est tester logiquement la valeur de A et la valeur de B, tu utilises donc des bloques de logique conditionnelle.

    Concrètement tu veux faire ça :

    Si A vaut 0
    Alors
    Fin du programme
    Problème pour ta calculette si tu fais plutôt (exemple bidon) :
    Si A vaut 0
    Alors
    B vaut 5
    Afficher B
    Et que après ce bloc de logique conditionnelle tu continues encore ton programme. Comment alors ta calculette saura ce qu'elle doit exécuter et jusqu'ou elle doit l'exécuter dans la condition ? Est ce que c'est uniquement la ligne Alors B Vaut 5 ? Ou faut il aussi qu'elle affiche B, et doit elle exécuter la suite du programme dans tous les cas ou uniquement si A vaut 0 ?

    Il faut donc donner plus d'informations à ta calculette.
    C'est pourquoi la structure de ton bloc de logique doit être :

    Si A vaut 0
    Alors
    CE QUE TU VEUX FAIRE
    Fin Si
    Ainsi ta calculette saura que ce qu'elle doit exécuter c'est ce qui est compris entre si et fin si.

    D'ailleurs tu peux en profiter pour faire des choses plus itnéressantes :

    SI A vaut 0
    Alors
    CE QUE TU VEUX FAIRE SI A = 0
    SINON
    CE QUE TU VEUX FAIRE DANS LE CAS CONTRAIRE
    fin si
    Du coup tu l'as bien compris pour la ligne correspondant à al condition tu utilises IF, pour le alors tu utilises THEN pour le fin si tu utilises END

    Donc en gros il ne se passe rien dans ton instruction !
    Tu lui dis de faire ça :
    SI A vaut 0
    ALORS

    FIN SI
    Vu que tu lui dis de ne rien faire... elle ne fait rien !

    Pour mettre fin à ton programme il faut utiliser STOP

    N'hésite pas à regarder la document de la TI pour programmer de mémoire elle était bien faite avec des exemples, un index, et la façon d'utiliser les fonctions usuelles de la calculette.

    Tu as maintenant tout ce qu'il te faut en théorie

    Doh-a

  3. #3
    Minialoe67

    Re : ent(, partEnt(, arrêter un programme...

    Merci beaucoup Doh-a.
    Auparavant je ne connaissais pas la fonction "Stop". Je suis contente de la connaître maintenant .
    Oui il faudrait sans doute que je lise le mode d'emloi de la TI...


    J'aimerais encore savoir quelle est la différence entre ent( et partEnt( sur TI?


    Merci

  4. #4
    invite8214f726

    Re : ent(, partEnt(, arrêter un programme...

    Je n'ai pas la fonction sur mon émulateur (j'utilise une ROM de TI83+ peut être as tu une autre calculatrice).

    Mais essaie au hasard de faire ça (sur l'écran principal et non dans la partie programme)

    partEnt(6.5)

    Est ce que ça ne te retournerait pas la partie entière tout bêtement ?

  5. A voir en vidéo sur Futura
  6. #5
    Minialoe67

    Re : ent(, partEnt(, arrêter un programme...

    ent(6,5)=6
    partEnt(6,5)=6
    ent(-6,5)=-6
    partEnt(-6,5)=-7

    Quand on regarde la courbe y=partEnt(X), on observe un "escalier" bien régulier.
    Quand on regarde la courbe y=ent(X), on observe un "escalier" qui a un centre de symétrie (0;0).

    Donc la différence c'est pour tous les X négatifs...
    Dans notre feuille de devoir, on nous indique que n est appelé partie entière de X et est notée E(x) avec n≤x<n+1...
    Donc ça correspond à partEnt( ? Ou bien?

    Je viens de voir ça sur internet:
    http://docs.google.com/viewer?a=v&q=...gy5YZwqHVB9OCA
    page 17
    ils expliquent partEnt( et ent(.
    J'ai compris maintenant

  7. #6
    Minialoe67

    Re : ent(, partEnt(, arrêter un programme...

    (précision: j'ai une TI83+ pas une TI-collège)

    Nouveau problème, j'ai:

    If B>A
    Then
    A(sto->)B
    B(sto->)A
    End

    le problème c'est que quand la TI arrive à B(sto->)A, B a déjà pris la valeur de A (à la ligne précédente) donc là A prend la valeur de B, qui est celle de A.
    Donc je me retrouve avec 2 valeurs identiques.

    Ce que j'aimerais, c'est juste inverser A et B.
    (j'ai regardé dans le manuel et ya rien...). Que faire alors?

    Merci d'avance

  8. #7
    invite8214f726

    Re : ent(, partEnt(, arrêter un programme...

    Oui tu as bien compris le problème.

    Ton programme est exécuté ligne par ligne, ce n'est donc pas un échange simultané, donc en faisant ça tu vas perdre une donnée.

    C'est un problème de base en algorithmique, tu devrais pouvoir trouver sans trop de problème soit en réflechissant soit en faisant réfléchir Goole.

    Mais penche toi sur l'idée de variable intermédiaire

  9. #8
    Minialoe67

    Re : ent(, partEnt(, arrêter un programme...

    Merci beaucoup Doh-a

    j'ai pris X comme variable intermédiaire.
    et ça me donne
    A(sto->)X
    B(sto->)A
    X(sto->)B

    donc au final A devient bien B et B devient bien A.
    Merci!

Discussions similaires

  1. 3 boitiers ent-sort sur PC LINUX
    Par burgus dans le forum Électronique
    Réponses: 10
    Dernier message: 19/03/2007, 21h32
  2. Q° BTS Com des ent chomage
    Par invite76aabd38 dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 23/12/2006, 22h49