FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Immortaliser les photos de famille
par Jean Claude Hier à 21:24

» Concours de Morpions
par jjn4 Hier à 16:34

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Calul des fonctions circulaires et hyperboliques

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5531
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Calul des fonctions circulaires et hyperboliques   Ven 2 Sep 2016 - 18:32

Code:

rem ============================================================================
rem Programme universel pour les fonctions circulaires et hyperboliques
rem                          Par Papydall
rem Ref : Le livre de Arthur Engel "Mathématique et Informatique"
rem Frankfort, 16 Janvier 1977
rem ============================================================================
rem Calcul de :
rem Sinus(x), Cosinus(x)
rem Ln(x)
rem ArcSin(x), ArcCos(x), ArcTan(x), ArcCot(x)
rem ArgSinh(x), ArgCosh(x), ArgTanh(x), ArgCoth(x)

rem ============================================================================
dim resultat
font_bold 0 : print : print
' Exemples d'appel

Arc_Sinus(-1)      : print resultat; : print " --->  " ; : print asin(-1)
Arc_Cosinus(-1)    : print resultat; : print " --->  " ; : print acos(-1)
Arc_Tangente(-1)  : print resultat; : print " --->  " ; : print atn(-1)
print " ==========================================="
Arc_CoTangente(-1) : print resultat
print " ==========================================="
Argument_Sinus_Hyperbolique(1)          : print resultat
Argument_CoSinus_Hyperbolique(5)        : print resultat
Argument_Tangente_Hyperbolique(0.5)      : print resultat
Argument_CoTangente_Hyperbolique(.99999) : print resultat
print " ==========================================="
Logarithme_Neperien(10) : print resultat; : print " --->  " ; : print log(10)
print " ==========================================="
Sinus(0)      : print resultat; : print " --->  " ; : print sin(0)
Sinus(pi/6)  : print resultat; : print " --->  " ; : print sin(pi/6)
Sinus(pi/2)  : print resultat; : print " --->  " ; : print sin(pi/2)
Sinus(pi)    : print resultat; : print " --->  " ; : print sin(pi)
Sinus(pi/180) : print resultat; : print " --->  " ; : print sin(pi/180)
print " =========================================="
Cosinus(0)      : print resultat; : print " ---> " ; : print cos(0)
Cosinus(pi/6)  : print resultat; : print " ---> " ; : print cos(pi/6)
Cosinus(pi/2)  : print resultat; : print " ---> " ; : print cos(pi/2)
Cosinus(pi)    : print resultat; : print " ---> " ; : print cos(pi)
Cosinus(pi/180) : print resultat; : print " ---> " ; : print cos(pi/180)
print " =========================================="
end
rem ============================================================================
' Ce très court code permet de calculer pas moins de 9 fonctions.
' Les paramètres s et c déterminent quelle fonction à calculer :
' Ln(x)
' ArcSin(x), ArcCos(x), ArcTan(x), ArcCot(x)
' ArgSinh(x), ArgCosh(x), ArgTanh(x), ArgCoth(x)

SUB Programme_universel(s,c)
    dim_local epsilon : epsilon = power(10,0-10)
    while abs(1-c) >= epsilon
          c = sqr((1+c)/2)
          s = s/c
    end_while
    resultat = s
END_SUB
rem ============================================================================
SUB Erreur()
    message "Erreur dans le domaine de définition"
END_SUB
rem ============================================================================
' Domaine de définition : -1 <= x <= 1
SUB Arc_Sinus(x)
    if abs(x) > 1 then Erreur() : exit_sub
    Programme_Universel(x,sqr(1-x*x))
END_SUB
rem ============================================================================
' Domaine de définition : -1 < x <= 1
SUB Arc_Cosinus(x)
    dim_local epsilon : epsilon = power(10,0-10)
    if abs(x) > 1 then Erreur() : exit_sub
    if x <= -1 then x = x + epsilon
    Programme_Universel(sqr(1-x*x),x)
END_SUB
rem ============================================================================
' Domaine de définition : quelque soit x
SUB Arc_Tangente(x)
    dim_local aux : aux = sqr(1+x*x)
    Programme_Universel(x/aux,1/aux)
END_SUB
rem ============================================================================
' Domaine de définition : quelque soit x
SUB Arc_CoTangente(x)
    dim_local aux : aux = sqr(1+x*x)
    Programme_Universel(1/aux,x/aux)
END_SUB
rem ============================================================================
' Domaine de définition : x > 0
SUB Logarithme_Neperien(x)
    dim_local aux1,aux2
    if x <= 0 then Erreur() : exit_sub
    aux1 = .5*(x-1/x) : aux2 = .5*(x+1/x)
    Programme_Universel(aux1,aux2)
END_SUB
rem ============================================================================
' Domaine de définition : quelque soit x
SUB Argument_Sinus_Hyperbolique(x)
    dim_local aux : aux = sqr(1+x*x)
    Programme_Universel(x,aux)
END_SUB
rem ============================================================================
' Domaine de définition : x >= 1
SUB Argument_CoSinus_Hyperbolique(x)
    if x < 1 then Erreur() : exit_sub
    dim_local aux : aux = sqr(x*x-1)
    Programme_Universel(aux,x)
END_SUB
rem ============================================================================
' Domaine de définition : -1 < x < 1
SUB Argument_Tangente_Hyperbolique(x)
    if abs(x) >= 1 then Erreur() : exit_sub
    dim_local aux : aux = sqr(1-x*x)
    Programme_Universel(x/aux,1/aux)
END_SUB
rem ============================================================================
' Domaine de définition : -1 < x < 1
SUB Argument_CoTangente_Hyperbolique(x)
    if abs(x) >= 1 then Erreur() : exit_sub
    dim_local aux : aux = sqr(1-x*x)
    Programme_Universel(1/aux,x/aux)
END_SUB
rem ============================================================================
' calcul de sins(x)
SUB sinus(x)
    dim_local n : n = 15
    dim_local zero : zero = power(10,0-9)
    dim_local s
    s = 2*x/power(3,n)
    while n > 0
          s = s*(3-s*s)
          n = n - 1
    end_while
    resultat = s/2
    if abs(resultat) < zero then resultat = 0
END_SUB
rem ============================================================================
' Calcul de cosinus(x)
SUB Cosinus(x)
    dim_local n : n = 15
    dim_local zero : zero = power(10,0-9)
    dim_local c,s : s = 2
    c = x*x/(2*power(4,n))
    while n > 0
          c = 2*c*(2-c)
          n = n-1
    end_while
    resultat = 1-c
    if abs(resultat) < zero then resultat = 0
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 533
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Calul des fonctions circulaires et hyperboliques   Mar 6 Sep 2016 - 22:31

Bonsoir a tous
enfin du papydall
Il vas me falloir au moins une semaine pour décortiquer tous ça Very Happy
encore Merci
sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5531
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Calul des fonctions circulaires et hyperboliques   Mer 7 Sep 2016 - 0:20

Salut mindstorm.


Rappel du programme universel :
Code:

SUB Programme_universel(s,c)
    dim_local epsilon : epsilon = power(10,0-10)
    while abs(1-c) >= epsilon
          c = sqr((1+c)/2)
          s = s/c
    end_while
    resultat = s
END_SUB

Les deux paramètres d’entrée S et C  déterminent la fonction à calculer selon le tableau suivant :
Données   =========== >   Valeur calculée
S  = x ; C = sqr(1-x*x)  ====== >  Arc Sin x
S = sqr(1-x*x)  ; C = x  ====== > Arc cos x
S = x/sqr(1+x*x) ; C = 1/sqr(1+x*x) ==== > Arc tan x
S = 1/sqr(1+x*x) ; C = x/sqr(1+x*x) ==== > Arc cot x
S= 0.5*(x-1/x) ; C = 0.5*(x+1/x)  ==== > ln x
S = x ; C = sqr(1+x*x) ==== > Arc sinh x
S = sqr(x*x-1) ; C = x ==== > Arc cosh x
S = x/sqr(1-x*x) ; C = 1/sqr(1-x*x) ==== > Arc tanh x
S = 1/sqr(1-x*x) ; C = x/sqr(1-x*x) == == > Arc coth x
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Calul des fonctions circulaires et hyperboliques   

Revenir en haut Aller en bas
 
Calul des fonctions circulaires et hyperboliques
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: