Section courante

A propos

Section administrative du site

En Visual Basic .NET (VB .NET), il existe déjà une fonction permettant de connaitre l'ArcTangente (Math.Atan). 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. Module Module1
  2.  
  3.     Function SquareRoot(ByVal X As Double) As Double
  4.         Dim A, B, M, XN As Double
  5.         If X = 0.0 Then
  6.             Return 0.0
  7.         Else
  8.             M = 1.0
  9.             XN = X
  10.             While XN >= 2.0
  11.                 XN = 0.25 * XN
  12.                 M = 2.0 * M
  13.             End While
  14.             While XN < 0.5
  15.                 XN = 4.0 * XN
  16.                 M = 0.5 * M
  17.             End While
  18.             A = XN
  19.             B = 1.0 - XN
  20.             Do
  21.                 A = A * (1.0 + 0.5 * B)
  22.                 B = 0.25 * (3.0 + B) * B * B
  23.             Loop While B >= 0.000000000000001
  24.             Return A * M
  25.         End If
  26.     End Function
  27.  
  28.     Function ArcTan(ByVal X As Double) As Double
  29.         Dim A As Double = 1.0 / SquareRoot(1.0 + (X * X))
  30.         Dim B As Double = 1.0
  31.         Dim N As Integer = 1
  32.         While N <= 11
  33.             A = (A + B) / 2.0
  34.             B = SquareRoot(A * B)
  35.             N += 1
  36.         End While
  37.         Return X / (SquareRoot(1.0 + (X * X)) * A)
  38.     End Function
  39.  
  40.     Sub Main()
  41.         Dim R As Double = 0.0
  42.         While R <= 1.1
  43.             Console.WriteLine("ArcTan(" & R & ")=" & ArcTan(R))
  44.             R += 0.1
  45.         End While
  46.     End Sub
  47.  
  48. End Module

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 : Samedi, le 22 octobre 2016