TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE
Page 1 sur 1
TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE
- Code:
' ******************************************************************************
'
' TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE
'
' PAR PAPYDALL
'
' ******************************************************************************
dim titre$,x,y,p,lx,ly,a,xc,yc,xp,yp,xmin,xmax,ymin,ymax,epsilon,s$,nbobj%
dim circulaires1%,circulaires2%,hyperboliques1%,hyperboliques2%,autres%
dim form_graph%
label fonctions_circulaires, fonctions_circulaires_inverses
label fonctions_hyperboliques, fonctions_hyperboliques_inverses, autres_fonctions
label sinus, cosinus, tangente, cotangente, secante, cosecante
label arc_sinus, arc_cosinus, arc_tangente, arc_cotangente, arc_secante, arc_cosecante
label sinus_hyperbolique, cosinus_hyperbolique, tangente_hyperbolique
label cotangente_hyperbolique, secante_hyperbolique, cosecante_hyperbolique
label argument_sinus_hyperbolique, argument_cosinus_hyperbolique
label argument_tangente_hyperbolique, argument_cotangente_hyperbolique
label argument_secante_hyperbolique, argument_cosecante_hyperbolique
label logarithme_neperien, logarithme_decimal, logarithme_binaire
label sinus_cardinal, sinus_cardinal_normalise, exponentielle
label active_circulaires, active_hyperboliques, active_autres,axes,demarrer
label hide_form_graph,fin
gosub demarrer
end
' ******************************************************************************
demarrer:
p = pi/180
lx = 1020 : ly = 750 : xc = lx/2 : yc = ly/2
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : epsilon = power(10,0-10)
titre$ = string$(60," ")
titre$ = titre$ + "TRIGONOMETRIE CIRCULAIRE ET HYPERBOLIQUE PAR PAPYDALL"
caption 0,titre$
width 0, 1020: height 0,600
on_click 0,fin : ' <CLICK> pour sortir
nbobj% = nbobj% + 1 : ' 1er bouton
button nbobj% : width nbobj%, 270 : top nbobj%,10 : left nbobj%,5
caption nbobj% ,"FONCTIONS TRIGONOMETRIQUES CIRCULAIRES"
on_click nbobj%, active_circulaires
nbobj% = nbobj% + 1 : ' 2ème bouton
button nbobj% : width nbobj% , 410 : top nbobj%,10 : left nbobj%,320
caption nbobj% ,"FONCTIONS TRIGONOMETRIQUES HYPERBOLIQUES"
on_click nbobj%, active_hyperboliques
nbobj% = nbobj% + 1 : ' 3ème bouton
button nbobj% : width nbobj%,150 : top nbobj% ,10 : left nbobj% ,800
caption nbobj%,"AUTRES FONCTIONS" : on_click nbobj%, active_autres
nbobj% = nbobj% + 1 : ' Liste des fonctions circulaires
list nbobj% : width nbobj%, 100 : top nbobj%,40 : left nbobj%, 10
item_add nbobj%, "SINUS" : item_add nbobj%, "COSINUS"
item_add nbobj%, "TANGENTE" : item_add nbobj%, "COTANGENTE"
item_add nbobj%, "SECANTE" : item_add nbobj%, "COSECANTE"
circulaires1% = nbobj%
inactive circulaires1% : on_click circulaires1%, fonctions_circulaires
nbobj% = nbobj% + 1 : ' Liste des fonctions circulaires inverses (ou réciproques)
list nbobj% : width nbobj%,120 : top nbobj%,40 : left nbobj%,140
item_add nbobj%,"ARC_SINUS" : item_add nbobj%,"ARC_COSINUS"
item_add nbobj%, "ARC_TANGENTE" : item_add nbobj%,"ARC_COTANGENTE"
item_add nbobj%,"ARC_SECANTE" : item_add nbobj%, "ARC_COSECANTE"
circulaires2% = nbobj%
inactive circulaires2% : on_click circulaires2%, fonctions_circulaires_inverses
nbobj% = nbobj% + 1 : ' Liste des fonctions hyperboliques
list nbobj% : width nbobj% ,190 : top nbobj% ,40 :left nbobj% ,300
item_add nbobj% , "SINUS_HYPERBOLIQUE"
item_add nbobj% , "COSINUS_HYPERBOLIQUE"
item_add nbobj% , "TANGENTE_HYPERBOLIQUE"
item_add nbobj% , "COTANGENTE_HYPERBOLIQUE"
item_add nbobj% , "SECANTE_HYPERBOLIQUE"
item_add nbobj% , "COSECANTE_HYPERBOLIQUE"
hyperboliques1% = nbobj%
inactive hyperboliques1% : on_click hyperboliques1%, fonctions_hyperboliques
nbobj% = nbobj% + 1:' Liste des fonctions hyperboliques inverses (ou réciproques)
list nbobj% : width nbobj%,250 : top nbobj%,40 : left nbobj%,500
item_add nbobj%, "ARGUMENT_SINUS_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COSINUS_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_TANGENTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COTANGENTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_SECANTE_HYPERBOLIQUE"
item_add nbobj%, "ARGUMENT_COSECANTE_HYPERBOLIQUE"
hyperboliques2% = nbobj% : inactive hyperboliques2%
on_click hyperboliques2%, fonctions_hyperboliques_inverses
nbobj% = nbobj% + 1 : ' Liste autres fonctions
list nbobj% : width nbobj%,200 : top nbobj%,40 : left nbobj%,780
item_add nbobj%, "SINUS CARDINAL" : item_add nbobj%, "SINUS CARDINAL NORMALISE"
item_add nbobj%, "LOGARITHME NEPERIEN" : item_add nbobj%, "LOGARITHME DECIMAL"
item_add nbobj%, "LOGARITHME BINAIRE" : item_add nbobj%, "EXPONENTIELLE"
autres% = nbobj% : inactive autres% : on_click autres%, autres_fonctions
nbobj% = nbobj% + 1 : ' FORM pour les tracés des courbes
form nbobj% : width nbobj% ,lx+10 : height nbobj% ,ly : hide nbobj%
form_graph% = nbobj% : 2d_target_is form_graph%
color form_graph% ,0,0,0 : font_color form_graph% ,255,255,0
font_size form_graph% ,12
font_bold form_graph% : on_click form_graph% ,hide_form_graph
font_color 0,0,0,255
print_locate 100,350
print "<CLICK> SUR L'UN DES 3 BOUTONS POUR CHOISIR UNE FONCTION" ;
print string$(100," ");"<CLICK> N'IMPORTE OU POUR SORTIR"
return
' ******************************************************************************
active_circulaires:
active circulaires1% : active circulaires2%
return
' ******************************************************************************
active_hyperboliques:
active hyperboliques1% : active hyperboliques2%
return
' ******************************************************************************
active_autres:
active autres%
return
' ******************************************************************************
hide_form_graph:
hide form_graph% : print_target_is 0 : print_locate 100,350
print "<CLICK> SUR L'UN DES 3 BOUTONS POUR CHOISIR UNE FONCTION" ;
print string$(100," ");"<CLICK> N'IMPORTE OU POUR SORTIR"
return
' ******************************************************************************
fin:
terminate
return
' ******************************************************************************
fonctions_circulaires:
if item_index$(circulaires1%) = "SINUS" then gosub sinus
if item_index$(circulaires1%) = "COSINUS" then gosub cosinus
if item_index$(circulaires1%) = "TANGENTE" then gosub tangente
if item_index$(circulaires1%) = "COTANGENTE" then gosub cotangente
if item_index$(circulaires1%) = "SECANTE" then gosub secante
if item_index$(circulaires1%) = "COSECANTE" then gosub cosecante
return
' ******************************************************************************
fonctions_circulaires_inverses:
if item_index$(circulaires2%) = "ARC_SINUS" then gosub arc_sinus
if item_index$(circulaires2%) = "ARC_COSINUS" then gosub arc_cosinus
if item_index$(circulaires2%) = "ARC_TANGENTE" then gosub arc_tangente
if item_index$(circulaires2%) = "ARC_COTANGENTE" then gosub arc_cotangente
if item_index$(circulaires2%) = "ARC_SECANTE" then gosub arc_secante
if item_index$(circulaires2%) = "ARC_COSECANTE" then gosub arc_cosecante
return
' ******************************************************************************
fonctions_hyperboliques:
if item_index$(hyperboliques1%) = "SINUS_HYPERBOLIQUE" then gosub sinus_hyperbolique
if item_index$(hyperboliques1%) = "COSINUS_HYPERBOLIQUE" then gosub cosinus_hyperbolique
if item_index$(hyperboliques1%) = "TANGENTE_HYPERBOLIQUE" then gosub tangente_hyperbolique
if item_index$(hyperboliques1%) = "COTANGENTE_HYPERBOLIQUE" then gosub cotangente_hyperbolique
if item_index$(hyperboliques1%) = "SECANTE_HYPERBOLIQUE" then gosub secante_hyperbolique
if item_index$(hyperboliques1%) = "COSECANTE_HYPERBOLIQUE" then gosub cosecante_hyperbolique
return
' ******************************************************************************
fonctions_hyperboliques_inverses:
if item_index$(hyperboliques2%) = "ARGUMENT_SINUS_HYPERBOLIQUE" then gosub argument_sinus_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COSINUS_HYPERBOLIQUE" then gosub argument_cosinus_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_TANGENTE_HYPERBOLIQUE" then gosub argument_tangente_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COTANGENTE_HYPERBOLIQUE" then gosub argument_cotangente_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_SECANTE_HYPERBOLIQUE" then gosub argument_secante_hyperbolique
if item_index$(hyperboliques2%) = "ARGUMENT_COSECANTE_HYPERBOLIQUE" then gosub argument_cosecante_hyperbolique
return
' ******************************************************************************
autres_fonctions:
if item_index$(autres%) = "SINUS CARDINAL" then gosub sinus_cardinal
if item_index$(autres%) = "SINUS CARDINAL NORMALISE" then gosub sinus_cardinal_normalise
if item_index$(autres%) = "LOGARITHME NEPERIEN" then gosub logarithme_neperien
if item_index$(autres%) = "LOGARITHME DECIMAL" then gosub logarithme_decimal
if item_index$(autres%) = "LOGARITHME BINAIRE" then gosub logarithme_binaire
if item_index$(autres%) = "EXPONENTIELLE" then gosub exponentielle
return
' ******************************************************************************
' *** Tracé des axes
axes:
if xmin <> -2*pi
for a = xmin to xmax step p
x = a : y = 0
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
print_locate xp,yp+10 : print x
2d_pen_color 127,127,127
2d_line xp,0,xp,yp*2
next a
for a = ymin to ymax step p
x = 0 : y = a
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
print_locate xp-22,yp/2-10+ly/4-2
print 0-y
2d_line 2*xp,yp/2+ly/4,xmax,yp/2 +ly/4
next a
2d_pen_color 255,0,0 : ' rouge pour tracer les axes
2d_line 0,ly/2,lx,ly/2 : ' tracé de l'axe des x
2d_line lx/2,0,lx/2,ly : ' tracé de l'axe des y
2d_pen_color 0,255,0 : ' vert pour tracer la courbe
return
end_if
for a = xmin to xmax step pi/2 : ' graduation de l'axe des X
x = a : y = 0
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
print_locate xp,yp+10
select int((a)/pi/2)
case -4 : s$ = "-2pi"
case -3 : s$ = "-3pi/2"
case -2 : s$ = "-pi"
case -1 : s$ = "-pi/2"
case 0 : s$ = "0"
case 1 : s$ = "pi/2"
case 2 : s$ = "pi"
case 3 : s$ = "3pi/2"
case 4 : s$ = "2pi"
end_select
if int((a)/pi/2) = 0 : else : print s$ : end_if : ' ne pas afficher le zero
print_locate lx-22,yp+10 : print "2pi" : ' il sera affiché sur l'axe des y
2d_pen_color 127,127,127
2d_line xp,0,xp,yp*2
next a
for a = ymin to ymax step 1 : ' graduation de l'axe des Y
x = 0 : y = a
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
print_locate xp-22,yp/2-10+ly/4-2
print 0-a
2d_line 2*xp,yp/2+ly/4,xmax,yp/2 +ly/4
next a
2d_pen_color 255,0,0 : ' rouge pour tracer les axes
2d_line 0,ly/2,lx,ly/2 : ' tracé de l'axe des x
2d_line lx/2,0,lx/2,ly : ' tracé de l'axe des y
2d_pen_color 0,255,0 : ' vert pour tracer la courbe
return
' ******************************************************************************
' *** Fonctions circulaires : les fonctions COS et SIN s'appellent des fonctions
' circulaires parce que le cercle d'équation x*x + y*y = 1 peut se
' paramétrer en
' x = COS(t)
' y = SIN(t) avec t réel quelconque.
' ******************************************************************************
sinus:
' Pour toute les fonctions trigonométriques,la variable indépendente x est
' exprimée en radians. Si vous utilisez les dégrés, n'oubliez pas de les
' convertir en radians, en multipliant les dégrés par le coefficient pi/180.
print_target_is form_graph% : show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = SIN(X)"
print " La fonction SIN(x) (sinus circulaire de x) est une fonction définie quelque soit x.":print
print " La fonction y = sin(x) est comprise entre + ou -1 : -1 <= sin(x) <= +1":print
print : print " En PANORAMIC, la fonction sinus est notée SIN(X)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = sin(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
x = a : y = sin(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
cosinus:
print_target_is form_graph% : show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COS(X)"
print " La fonction COS(x)(cosinus circulaire de x) est une fonction définie quelque soit x.":print
print " La fonction y = cos(x) est comprise entre + ou -1 : -1 <= cos(x) <= +1":print
print:print "En PANORAMIC, la fonction cosinus est notée COS(X)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = cos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = cos(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
tangente:
print_target_is form_graph% : show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = TAN(X)"
print " La fonction TAN(x) (tangente circulaire de x) qui est égale à SIN(x)/COS(x) est définie quelque soit x tel que" :print
print " COS(x) ne soit pas nul." :print
print " TAN(x) est donc définie pour tout x <> pi/2 + k*pi avec k entier positif,négatif ou nul." :print
print " La fonction y = tan(x) peut prendre toutes les valeures de moins l'infini à plus l'infini." :print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de pi/2+k*pi." :print
print : print " En PANORAMIC, la fonction tangente est notée TAN(X)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = tan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = tan(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
cotangente:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COTAN(X)"
print_target_is form_graph%
print " La fonction COTAN(x) (cotangente circulaire de x) qui est égale à : 1/TAN(x) = COS(x)/SIN(x)":print
print " est définie quelque soit x tel que SIN(x) ne soit pas nul. COTAN(x) est donc définie pour tout x <> k*pi avec k entier positif,":print
print " négatif ou nul. La fonction y = cotan(x) peut prendre toutes les valeures de moins l'infini à plus l'infini.":print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de k*pi.":print
print:print " En PANORAMIC, la fonction cotangente n'existe pas. Pour l'utiliser faites y = 1/tan(x)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = 1/tan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = 1/tan(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
secante:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = SEC(X)"
print_target_is form_graph%
print " La fonction SEC(x) (secante circulaire de x) qui est égale à 1/COS(x) est définie quelque soit x tel que COS(x) ne soit pas nul.":print
print " SEC(x) est donc définie pour x <> pi/2 + k*pi avec k entier positif, négatif ou nul.":print
print " La fonction y = sec(x) peut prendre toutes les valeures de ]-l'infini à -1] et de [+1 à + l'infini[.":print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de pi/2 + k*pi.":print
print : print " En PANORAMIC, la fonction secante n'existe pas. Pour l'utiliser faites y = 1/cos(x)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = 1/cos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p/2
x = a : y = 1/cos(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
cosecante:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COSEC(X)"
print_target_is form_graph%
print "La fonction COSEC(x) (cosecante circulaire de x) qui est égale à 1/SIN(x) est définie quelque soit x tel que SIN(x) ne soit pas nul.":print
print " COSEC(x) est donc définie pour x <> k*pi avec k entier positif, négatif ou nul.":print
print " La fonction y = cosec(x) peut prendre toutes les valeures de ]-l'infini à -1] et de [+1 à + l'infini[.":print
print " Notez bien le tracé des asymptotes verticales pour les valeurs de k*pi.":print
print:print " En PANORAMIC, la fonction cosecante n'existe pas. Pour l'utiliser faites y = 1/sin(x)"
xmin = -2*pi : xmax = 2*pi : ymin = -2 : ymax = 2 : p = pi/180 : gosub axes
x = xmin : y = 1/sin(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = 1/sin(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
' *** Les fonctions ARCSIN,ARCCOS,ARCTAN, etc.. s'appellent des fonctions
' circulaires réciproques ou inverses
arc_sinus:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARC_SIN(X)"
print_target_is form_graph%
print " LA fonction ARCSIN(x) (Arc sinus x ),fonction inverse de la fonction sinus est définie dans l'intervalle [-1, +1].":print
print " Elle est impaire, continue et croissante de -pi/2 à +pi/2":print
print : print " En PANORAMIC, la fonction Arc sin x est notée ASIN(x)"
xmin = 0-2 : xmax = 2 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = 0-1 : y = asin(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = -1 to 1 step p
x = a : y = asin(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
arc_cosinus:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARC_COS(X)"
print_target_is form_graph%
print " LA fonction ARCCOS(x) (Arc cosinus x ),fonction inverse de la fonction cosinus est définie dans l'intervalle [-1, +1].":print
print " Elle est impaire, continue et décroissante de pi à 0":print
print : print " En PANORAMIC, la fonction Arc cos x est notée ACOS(x)"
xmin = 0-2 : xmax = 2 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = 0-1 : y = acos(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = -1 to 1 step p
x = a : y = acos(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
x = 1 : y = acos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
return
' ******************************************************************************
arc_tangente:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARC_TAN(X)"
print_target_is form_graph%
print " LA fonction ARCTAN(x) (Arc tangente x ), fonction inverse de la fonction tangente est définie quel que soit x":print
print " Elle est impaire,continue et croissante de -pi/2 à +pi/2 (bornes non comprises)":print
print : print " En PANORAMIC, la fonction Arc tg x est notée ATN(x)"
xmin = 0-10 : xmax = 10 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = atn(x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp+lx,yp/2+ly/4 : ' tracé de l'asymptote horizontale y = -pi/2
for a = xmin to xmax step p
x = a : y = atn(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to 0,yp/2+ly/4 : ' tracé de l'asymptote horizontale y = pi/2
return
' ******************************************************************************
arc_cotangente:
show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" +string$(55," ") + "Y = ARC_COTAN(X)"
print_target_is form_graph%
print " LA fonction ARCCOTAN(x) (Arc cotangente x ),fonction inverse de la fonction cotangente est définie quel que soit x":print
print " Elle est impaire, continue et décroissante de pi à 0 (bornes non comprises)":print
print : print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = pi/2 - ATN(x)"
xmin = -10: xmax = 10 : ymin = -3 : ymax = 3 : p = 1 : gosub axes
x = xmin : y = pi/2 - atn(a) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-20,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = pi/2 - atn(a)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
' ARCSEC(x) = -ARCCOS(1/x) = ATN(SQR(x*x-1))-pi
arc_secante:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARC_SEC(X)"
print_target_is form_graph%
print " LA fonction ARCSEC(x) (Arc secante x ),fonction inverse de la fonction secante":print
print " est définie de moins l'infini à moins un et de plus un à plus l'infini (bornes non comprises)":print
print : print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = -ACOS(1/x) ou y = ATN(SQR(x*x-1))-pi":print
xmin = -10: xmax = 10 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = 0-acos(1/x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0
for a = xmin to 0-1 step p : ' Branche gauche de la courbe
x = a : y =0- acos(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2 +ly/4
next a
x = 1 + epsilon : y = 0-acos(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_from xp,(yp/2+ly/4)
for a = 1+epsilon to xmax step p : ' Branche droite de la courbe
x = a : y = 0-acos(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
' ARCCOSEC(x) = ASIN(1/x) = ATN(x/sqr(x*x-1))
arc_cosecante:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARC_COSEC(X)"
print_target_is form_graph%
print " LA fonction ARCCOSEC(x) (Arc cosecante x ),fonction inverse de la fonction":print
print " cosecante est définie de moins l'infini à moins un et de plus un à plus l'infini (bornes non comprises)":print
print :print " En PANORAMIC, cette fonction n'existe pas. Pour l'utiliser faites y = ASIN(1/x) = ATN(x/sqr(x*x-1))"
xmin = -10: xmax = 10 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = asin(1/x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2-ly/4)
for a = xmin to 0-1 step p
x = a : y = asin(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
x = 1+p : y = asin(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = 1+p to xmax step p
x = a : y = asin(1/x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
' *** Les fonctions SH et CH s'appellent des fonctions hyperboliques parce
' que la branche "droite" de l'hyperbole d'équation x*x - y*y = 1 peut se
' paramétrer en :
' x = ch(t)
' y = sh(t) avec t réel quelconque
' ******************************************************************************
sinus_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = SINH(X)"
print_target_is form_graph%
print " On appelle sinus hyperbolique de x la quantité : y = SH(x) = (exp(x) - exp(-x))/2" : print
print " y = sh(x) est impaire, définie et continue quelque soit x" : print : print
print " En PANORAMIC la fonction sinus hyperbolique de x est notée HSIN(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = hsin(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
x = a : y = hsin(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
cosinus_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COSH(X)"
print_target_is form_graph%
print " On appelle cosinus hyperbolique de x la quantité : Y = CH(x) = (exp(x) + exp(-x))/2":print
print " y = ch(x) est paire, définie et continue quelque soit x":print
print " Sa courbe représentative est appelée la chaînette" :print : print
print " En PANORAMIC la fonction cosinus hyperbolique de x est notée HCOS(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = hcos(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
x = a : y = hcos(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
tangente_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = TANH(X)"
print_target_is form_graph%
print " On appelle tangente hyperbolique de x la quantité : Y = TH(x) = SH(x)/CH(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))": print
print " y = th(x) est impaire, définie et continue quelque soit x ":print
print " La courbe représentative de y = th(x) admet pour asymptote les deux droites d'équations y = 1 et y = -1"
print:print:print " En PANORAMIC la fonction tangente hyperbolique de x est notée HTAN(x)"
xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = htan(x) :p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from lx,yp/2+ly/4 : ' asyptote d'équation y = -1
for a = xmin to xmax step p
x = a : y = htan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to 0,yp/2+ly/4 : ' asyptote d'équation y = +1
return
' ******************************************************************************
cotangente_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COTH(X)"
print_target_is form_graph%
print " On appelle cotangente hyperbolique de x la quantité :" : print
print " Y = COTH(x) = CH(x) / SH(x) = 1 / TH(x) = (exp(x) + exp(-x)) / (exp(x) - exp(-x))":print
print " y = th(x) est définie et continue quelque soit x <> 0" : print
print:print " En PANORAMIC la fonction cotangente hyperbolique n'existe pas. Pour l'utiliser faites y = 1 / HTAN(x)"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = 1/htan(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
x = a : y = 1/htan(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
secante_hyperbolique:
show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" +string$(55," ") + "Y = SECH(X)"
print_target_is form_graph%
print " On appelle secante hyperbolique de x la quantité : Y = SECH(x) = 2 / (exp(x) + exp(-x))":print
print " y = sech(x) est définie et continue quelque soit x. Elle admet pour x = 0 un maximum y = 1":print
print:print " En PANORAMIC la fonction secante hyperbolique n'existe pas. Pour l'utiliser faites y = 2 / (exp(x) + exp(0-x))"
xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = 2 /(exp(x) + exp(0-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
x = a : y = 2 /(exp(x) + exp(0-x))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
cosecante_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = COSECH(X)"
print_target_is form_graph%
print " On appelle cosecante hyperbolique de x la quantité : Y = COSECH(x) = 2 / (exp(x) - exp(0-x))":print
print " y = cosech(x) est définie et continue quelque soit x <> 0" : print
print:print " En PANORAMIC la fonction cosecante hyperbolique de x n'existe pas. Pour l'utiliser faites y = 2 /(exp(x) - exp(0-x))"
xmin = -5: xmax = 5 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = 2 /(exp(x) - exp(0-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0-(yp/2+ly/4)
for a = xmin to xmax step p
x = a : y = 2 /(exp(x) - exp(0-x))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
2d_line 0,yp/2+ly/4+3,lx,yp/2+ly/4+3 : ' asymptote horizontale y = 0
return
' ******************************************************************************
argument_sinus_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARGSH(X)"
print_target_is form_graph%
print " La fonction Argsh(x) (argument sinus hyperbolique de x) est une fonction inverse de la fonction SH(x)":print
print " y = argsh(x) est définie quelque soit x; elle est continue et croissante de moins l'infini à plus l'infini.":print
print:print " En PANORAMIC la fonction argument sinus hyperbolique de x n'existe pas. Pour l'utiliser faites y = log(x+sqr(x*x+1))"
xmin = -5: xmax = 5 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = xmin : y = log(x+sqr(x*x+1)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = log(x+sqr(x*x+1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
argument_cosinus_hyperbolique:
show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" +string$(55," ") + "Y = ARGCH(X)"
print_target_is form_graph%
print " La fonction Argch(x) (argument cosinus hyperbolique de x) est une fonction inverse de la fonction CH(x)":print
print " y = argch(x) est définie quelque soit x >= 1; elle est continue et croissante de 0 à plus l'infini.":print
print:print " En PANORAMIC la fonction argument cosinus hyperbolique de x n'existe pas. Pour l'utiliser faites y = log(x+sqr(x*x-1))"
xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = 1 : y = log(x+sqr(x*x-1)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = 1 to xmax step p
x = a : y = log(x+sqr(x*x-1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
argument_tangente_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARGTH(X)"
print_target_is form_graph%
print " La fonction Argth(x) (argument tangente hyperbolique de x) est une fonction inverse de la fonction TH(x)":print
print " y = argth(x) est définie dans l'intervalle ]-1, +1[ ; elle est continue et croissante de moins l'infini à plus l'infini.":print
print " Elle admet pour asymptotes les droites d'équations x = 1 et x = -1":print
print " En PANORAMIC la fonction argument tangente hyperbolique de x n'existe pas. Pour l'utiliser faites y = 1/2 * log((1+x)/(1-x))"
xmin = -4: xmax = 4 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = -1+ epsilon : y = 0.5*log((1+x)/(1-x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,0 : ' asymptote verticale x = -1
for a = -1+epsilon to 1 step p
x = a : y = 0.5*log((1+x)/(1-x))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to xp,ly : ' asymptote verticale x = +1
return
' ******************************************************************************
argument_cotangente_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARGCOTH(X)"
print_target_is form_graph%
print " La fonction Argcoth(x) (argument cotangente hyperbolique de x) est une fonction inverse de la fonction COTH(x)":print
print " y = argcoth(x) est définie pour x < -1 et x > +1. Elle admet pour asymptotes les droites d'équations x = 1 et x = -1":print
print:print " En PANORAMIC la fonction argument cotangente hyperbolique de x n'existe pas. Pour l'utiliser faites y = 1/2 * log((x+1)/(x-1))"
xmin = -8: xmax = 8 : ymin = -1 : ymax = 1 : p = 1 : gosub axes
x = xmin : y = 0.5*log((1+x)/(x-1)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp-100,0
for a = xmin to -1 step p : ' Branche pour x < -1
x = a : y = 0.5*log((1+x)/(x-1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
2d_poly_to xp,0 : ' asymptote verticale x = -1
x = -1-epsilon : y = 0.5*log((1+x)/(x-1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
x = 1+epsilon : y = 0.5*log((1+x)/(x-1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,ly : ' asymptote verticale x = +1
for a = 1+epsilon to xmax step p : ' Branche pour x > +1
x = a : y = 0.5*log((1+x)/(x-1))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
argument_secante_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARGSECH(X)"
print_target_is form_graph%
print " La fonction Argsech(x) (argument secante hyperbolique de x) est une fonction inverse de la fonction SECH(x)":print
print " y = argsech(x) est définie pour x > 0 et x <= 1":print
print " En PANORAMIC la fonction argument secante hyperbolique de x n'existe pas. Pour l'utiliser faites y = log((1+sqr(1-x*x)/x))"
xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = epsilon : y = log((1+sqr(1-x*x)/x)) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to 1 step p
x = a : y = log((1+sqr(1-x*x)/x))
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4 +10
next a
return
' ******************************************************************************
' Argcosech(x) = log(1/x + (x*sqr(1+x*x))/x*x) est définie pour x > 0
argument_cosecante_hyperbolique:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = ARGCOSECH(X)"
print_target_is form_graph%
print " La fonction Argcosech(x) (argument cosecante hyperbolique de x) est une fonction inverse de la fonction COSECH(x)":print
print " y = argsech(x) est définie quelque soit x <> 0":print
print:print " En PANORAMIC la fonction argument cosecante hyperbolique de x n'existe pas. "
print:print " Pour l'utiliser faites y = log(1 / x + (x * sqr(1 + x * x)) / x * x)"
xmin = -4: xmax = 4 : ymin = -2 : ymax = 2 : p = 1 : gosub axes
x = epsilon : y = log(1/x + (x*sqr(1+x*x))/x*x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p : ' branche droite de la courbe
x = abs(a) : y = log(1/x + (x*sqr(1+x*x))/x*x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
x = epsilon : y = log(1/x + (x*sqr(1+x*x))/x*x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
xp = lx-xp : yp = ly -yp
2d_poly_from xp,yp/2+ly/4 : ' branche gauche de la courbe
for a = epsilon to xmax step p
x = a : y = log(1/x + (x*sqr(1+x*x))/x*x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
xp = lx-xp : yp = ly -yp
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
sinus_cardinal:
show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" +string$(55," ") + "Y = SINC(X)"
print_target_is form_graph%
print " Le sinus cardinal est une fonction spéciale utilisée dans des problèmes de physique ondulatoire":print
print " Son graphe est appelé 'chapeau mexicain' à cause de la forme de sa courbe en 3D.":print
print " La fonction sinus cardinal est définie par SINC(x) = SIN(x)/x":print
print:print " En PANORAMIC cette fonction n'existe pas. Pour l'utiliser faites y = SIN(x) / x"
xmin = -20 : xmax = 20 : ymin = -.5 : ymax = .5 : p = 2 : gosub axes
x = xmin : y = sin(x)/x : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
x = a : y = sin(x)/x
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
sinus_cardinal_normalise:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = SINCN(X)"
print_target_is form_graph%
print " La fonction sinus cardinal normalisé est définie par SINCN(x) = SIN(pi*x)/pi*x":print
print:print " En PANORAMIC cette fonction n'existe pas. Pour l'utiliser faites y = SIN( pi * x ) / pi * x"
xmin = -20 : xmax = 20 : ymin = -.5 : ymax = .5 : p = 2 : gosub axes
x = xmin : y = sin(pi*x)/(pi*x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin+p to xmax step p
x = a : y = sin(pi*x)/(pi*x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
logarithme_neperien:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = LOG(X)"
print_target_is form_graph%
print " La fonction LOG(x) (logarithme népérien de x) est définie et continue pour tout x > 0":print
print " Elle est croissante de moins l'infini à plus l'infini. Elle s'annule pour x = 1":print
print " Elle prend la valeur 1 pour x = e = 2.71828182845905":print
print " la valeur e = exp(1) est appelé ' base des logarithmes népériens '":print
print " Elle admet pour asymptote l'axe des y":print
print:print " En PANORAMIC, la fonction logarithme népérien de x est notée LOG(x)"
xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes
x = epsilon : y = log(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
x = a : y = log(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
logarithme_decimal:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = LOG10(X)"
print_target_is form_graph%
print " La fonction LOG10(x) (logarithme décimal de x) , est appelé aussi logarithme vulgaire ou à base 10":print
print " Elle est définie et continue pour tout x > 0":print
print " Elle est croissante de moins l'infini à plus l'infini. Elle s'annule pour x = 1":print
print " Elle admet pour asymptote l'axe des y":print
print:print " En PANORAMIC, la fonction logarithme décimal de x est notée LOG10(x)"
xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes
x = epsilon : y = log10(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
x = a : y = log10(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
logarithme_binaire:
show form_graph%
caption form_graph% , string$(50," ")+" <CLICK> POUR REVENIR" +string$(55," ") + "Y = LOG2(X)"
print_target_is form_graph%
print " La fonction LOG2(x) (logarithme binaire de x ou à base 2) est définie et continue pour tout x > 0":print
print " !!! A T T E N T I O N !!!":print
print " Il ne s'agit pas de l'écriture en binaire(0,1) du résultat, mais de la base 2":print
print " Elle est croissante de mois l'infini à plus l'infini. Elle s'annule pour x = 1. Elle admet pour asymptote l'axe des y":print
print " Pour toute autre base a, la fonction logarithmique de base a est notée LOGa(x) = LOG(x)/LOG(a)":print
print :print " En PANORAMIC, la fonction logarithme binaire de x est notée LOG2(x)"
xmin = -10 : xmax = 10 : ymin = -2 : ymax = 2 : p = 1 :gosub axes
x = epsilon : y = log2(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = epsilon to xmax step p
x = a : y = log2(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
exponentielle:
show form_graph%
caption form_graph% ,string$(50," ")+" <CLICK> POUR REVENIR" + string$(55," ") + "Y = EXP(X)"
print_target_is form_graph%
print " La fonction EXP(x) (exponentielle de x) est définie et continue quelque soit x":print
print " La fonction EXP(x) croît de 0 au-dessus à plus l'infini. L'axe des x est donc asymptote à la courbe représentative de y = exp(x)":print
print:print " En PANORAMIC la fonction exponentielle est notée EXP(x)"
xmin = -4 : xmax = 4 : ymin = -5 : ymax = 5 : p = 1 :gosub axes
x = xmin : y = exp(x) : p = pi/180
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_from xp,yp/2+ly/4
for a = xmin to xmax step p
x = a : y = exp(x)
xp = lx*(x-xmin)/(xmax-xmin) : yp = ly *(0-y-ymin)/(ymax-ymin)
2d_poly_to xp,yp/2+ly/4
next a
return
' ******************************************************************************
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Lun 1 Jan - 0:25 par Papydall-Admin
» A ceux qui célèbre Noël, bonnes fêtes
Dim 24 Déc - 10:49 par Papydall-Admin
» Joyeux Noël et Bonne Année
Ven 8 Déc - 1:34 par Papydall-Admin
» Planets of the Solar System : Tilts and Spins
Lun 20 Mar - 15:43 par Papydall-Admin
» Bonne Année 2023
Sam 31 Déc - 1:39 par Papydall-Admin
» Fractals - Mandelbrot
Ven 21 Aoû - 22:51 par Papydall-Admin
» Convertisseur Décimal ---> Binaire, Octal, Hexadécimal, ...
Mer 21 Nov - 1:08 par Papydall-Admin
» Balises {USER...}
Lun 19 Nov - 22:12 par Papydall-Admin
» Useful Dog
Ven 6 Avr - 14:25 par Papydall-Admin