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
» KGF_dll - nouvelles versions
par bignono Aujourd'hui à 20:14

» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
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 : 5593
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 : 540
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 : 5593
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: