π
<-

Programme "Involute"

Programme "Involute"

Messagede Papillon_Helico » 18 Jan 2013, 19:47

Bonsoir !
Je m'en remet à vos connaissances de programmeurs TIBasic, j'aurai besoin durant mon stage de fin d'étude d'utiliser la fonction Involute.
Pour ceux qui ne la connaissent pas encore, elle consiste en inv(angle)=tan(angle)-angle
Le tout en radians ;)

Ce que je recherche, pourrait être une réciproque de cette fonction, connaissant l'involute d'un angle inconnu, j'aurai besoin de connaître ce fameux angle.
J'utilise depuis plusieurs années ma TI82stat, elle me suffit pour le peu que je l'utilise.

Pour résoudre à ce problème j'ai trouvé un programme sur internet, est ce que à votre avis c'est un bon équivalent BASIC ?
Code: Tout sélectionner
:Function Involute(Angle As Double)

   : Involute = Tan(Angle) - Angle

:End Function

:Function Angle(Involute As Double) As Double
   
    Dim Delta As Single
    Dim Tg    As Double

    :Angle = 1.5
    :Do
        Angle = Angle - Delta
        Tg = Tan(Angle)
        Delta = (Tg - Angle - Involute) / (Tg * Tg)
    :Loop While Delta > 0.0000000001

:End Function


Si oui, est ce que quelqu'un pourrait m'aider à l'adapter en TIBasic ?

Merciii !
Dernière édition par Papillon_Helico le 20 Jan 2013, 22:08, édité 1 fois.
Avatar de l’utilisateur
Papillon_Helico
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 68%
 
Messages: 3
Inscription: 18 Jan 2013, 19:09
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: M1

Re: Programme "Involute"

Messagede Papillon_Helico » 20 Jan 2013, 22:08

J'ai trouvé un autre autre, peut être plus ergonomique que le premier, est ce que quelqu'un pourrait m'aider, rapidement ?

Code: Tout sélectionner
INV_Angle(Inv as Double) As Double
Dim InvCal As Double
Dim PI as Double
Dim Angle_0 As Double
Dim Angle_1 As Double
Dim InvDif As Double
Dim AngleCal As Double
PI = 3.14
Angle_0 = 0
Angle1 = PI / 2
InvDif = Inv
AngleCal = 0
Do while Abs(InvDif) >0.00000001
AngleCal = (Angle_0 + Angle1) / 2
InvDif = Tan(AngleCal) - AngleCal - Inv
If InvDif > 0.0 Then
Angle_1 = AngleCal
Else
Angle_0 = AngleCal
End If
Loop
INV_Angle = AngleCal
End Function
Avatar de l’utilisateur
Papillon_Helico
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 68%
 
Messages: 3
Inscription: 18 Jan 2013, 19:09
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: M1

Re: Programme "Involute"

Messagede le solutionneur » 20 Jan 2013, 22:26

Salut, voilà le traduit tel quel.
Il prend en entrée dans la variable A et retourne dans la variable R :)

Code: Tout sélectionner
    0->R
    0->B
    π / 2->C
    A->H
    0->Z
    while Abs(A) >0.00000001
    (B + C) / 2 ->Z
    Tan(Z) - Z - A -> H
    If H > 0.0
    Then
    Z->C
    Else
    Z->B
    End
    End   

    Z->R
Avatar de l’utilisateur
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 84.6%
 
Messages: 300
Inscription: 18 Déc 2011, 21:41
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Programme "Involute"

Messagede Papillon_Helico » 20 Jan 2013, 23:08

Merci beaucoup le_solutionneur !
Pour que tout le monde puisse avancer avec les constations que j'ai reportée sur le tchat,
le programme met beaucoup de temps à s’exécuter, il ne semble pas que la calculatrice soit suffisamment puissante.
Dans le principe lorsque j'entre
A= 0.0148956622

Le programme devrait me donner la valeur de 20° en radians à 3 chiffres après la virgule, soit 0.349 (rad).
Je vous écris cela si certains souhaitent essayer de faire avancer ^__^
Avatar de l’utilisateur
Papillon_Helico
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 68%
 
Messages: 3
Inscription: 18 Jan 2013, 19:09
Genre: Femme
Calculatrice(s):
MyCalcs profile
Classe: M1

Re: Programme "Involute"

Messagede le solutionneur » 21 Jan 2013, 01:24

J'ai traduit la première fonction du coup.
Vois si ça marche mieux !

Code: Tout sélectionner
    Disp "Involute"
    input A

    0->D
    0->T

    1.5->H
    H-D->H
    Tan(H)->D
    (T - H - A) / (T * T) ->D
    While D > 0.0000000001
    H-D->H
    Tan(H)->D
    (T - H - A) / (T * T) ->D
     end
     Disp "Angle="
     Disp H
     Disp "Tg="
     Disp T


Voilà, comme je savais pas lequel fallait retourner, j'affiche Angle et Tg

(D'ailleurs, si tu trouves une réponse utile, tu peux la noter juste au-dessus du message en cliquant sur les étoiles)
Avatar de l’utilisateur
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 84.6%
 
Messages: 300
Inscription: 18 Déc 2011, 21:41
Genre: Homme
Calculatrice(s):
MyCalcs profile


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
17588 utilisateurs:
>17558 invités
>22 membres
>8 robots
Record simultané (sur 6 mois):
43991 utilisateurs (le 10/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)