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
» Découpe dans une image
par JL35 Hier à 23:03

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par Marc Hier à 21:51

» Pour faire plaisir à Marc37.
par Marc Hier à 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Hier à 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

» Ludothèque Panoramic
par jjn4 Mar 20 Fév 2018 - 15:42

» Calculus
par Ouf_ca_passe Mar 20 Fév 2018 - 9:06

» 6 (en analyse):confusion de variable locale entre SUB et FNC
par Jack Mar 20 Fév 2018 - 8:18

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Calul des fonctions circulaires et hyperboliques

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5744
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 - 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 : 551
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 : 5744
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 - 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: