Section courante

A propos

Section administrative du site

En QuickBASIC, il existe déjà une fonction permettant de connaitre l'ArcTangente (ATN). Cependant, il peut être intéressant d'en reproduire une pour notre plaisir personnel. Pour remédier à se problème, il suffit de créer une fonction ressemblant à ceci avec un préalable la fonction de racine carré :

  1. DECLARE FUNCTION SquareRoot! (X!)
  2. DECLARE FUNCTION ArcTan! (X!)
  3.  
  4. R! = 0!
  5. WHILE R! <= 1.1
  6.  PRINT USING "ArcTan(#.#####)="; R!;
  7.  PRINT USING "#.######"; ArcTan(R!)
  8.  R! = R! + .1
  9. WEND
  10.  
  11. FUNCTION ArcTan (X)
  12.  DIM A AS DOUBLE
  13.  DIM B AS DOUBLE
  14.  DIM N AS INTEGER
  15.  A = 1! / SquareRoot(1! + (X * X))
  16.  B = 1!
  17.  N = 1
  18.  WHILE N <= 11
  19.   A = (A + B) / 2!
  20.   B = SquareRoot(A * B)
  21.   N = N + 1
  22.  WEND
  23.  ArcTan = X / (SquareRoot(1! + (X * X)) * A)
  24. END FUNCTION
  25.  
  26. FUNCTION SquareRoot (X)
  27.  IF X = 0! THEN
  28.   SquareRoot = 0!
  29.   EXIT FUNCTION
  30.  END IF
  31.  M = 1!
  32.  XN = X
  33.  WHILE XN >= 2!
  34.   XN = .25 * XN
  35.   M = 2! * M
  36.  WEND
  37.  WHILE XN < .5
  38.   XN = 4! * XN
  39.   M = .5 * M
  40.  WEND
  41.  A = XN
  42.  B = 1! - XN
  43.  DO
  44.   A = A * (1! + .5 * B)
  45.   B = .25 * (3! + B) * B * B
  46.  LOOP UNTIL B < .000000000000001#
  47.  SquareRoot = A * M
  48. END FUNCTION

on obtiendra le résultat suivant :

ArcTan(0.00000)= 0.000000
ArcTan(0.10000)= 0.099668
ArcTan(0.20000)= 0.197396
ArcTan(0.30000)= 0.291457
ArcTan(0.40000)= 0.380506
ArcTan(0.50000)= 0.463648
ArcTan(0.60000)= 0.540420
ArcTan(0.70000)= 0.610726
ArcTan(0.80000)= 0.674741
ArcTan(0.90000)= 0.732815
ArcTan(1.00000)= 0.785398


Dernière mise à jour : Mercredi, le 14 septembre 2016