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
» Calculatrice
par joeeee2017 Aujourd'hui à 20:25

» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Calul des fonctions circulaires et hyperboliques

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5990
Age : 68
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 - 17: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 : 559
Age : 49
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Calul des fonctions circulaires et hyperboliques   Mar 6 Sep 2016 - 21: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 : 5990
Age : 68
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Calul des fonctions circulaires et hyperboliques   Mar 6 Sep 2016 - 23: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
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: