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
» Dessin 2D: largeur de trait
par JL35 Aujourd'hui à 16:10

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 14:28

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 18:32

» Animation: Feux de signalisation
par Minibug Hier à 18:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 14:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 6:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 12:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 17:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 17:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 18:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 18:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 14:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 12:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 16:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 12:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

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

Partagez | 
 

 Calul des fonctions circulaires et hyperboliques

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5954
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 - 15: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 : 553
Age : 49
Localisation : charente
Date d'inscription : 13/02/2013

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