SIN |
Sinus |
|---|---|
| Visual Basic | |
Syntaxe
|
Function SIN(n As Double) As Double |
Paramètres
| Nom | Description |
|---|---|
| n | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction trigonométrique retourne le «Sinus».
Algorithme
|
MODULE SIN(X) R ← X x X S ← 42.0 BOUCLE POUR I ← 10 JUSQU'A 1 S ← 4.0 x I - 2.0 + (-R) / S FIN BOUCLE POUR RETOURNE 2.0 x X x S / (R + S x S) |
Remarques
- La fonction SIN permet de calculer le sinus d'un angle exprimé en radians, ce qui est conforme aux standards mathématiques et aux conventions de la plupart des langages de programmation. Il est crucial de rappeler que si l'on travaille en degrés, il faut d'abord convertir les valeurs en radians avant d'appeler SIN. Cette précision est indispensable pour éviter des résultats erronés dans les calculs.
- La signature Function SIN(n As Double) As Double indique que la fonction accepte uniquement un nombre en virgule flottante de type Double. Ce choix garantit une précision suffisante pour les calculs scientifiques ou d'ingénierie. Toutefois, il est important de noter qu'un simple entier sera automatiquement converti en Double si nécessaire.
- L'algorithme donné pour le calcul du sinus montre une approximation numérique utilisant une forme d'itération rationnelle. Cette méthode est une alternative aux séries de Taylor classiques et permet d'atteindre une bonne précision avec un nombre raisonnable d'itérations. Ce détail est intéressant pour comprendre comment un calcul complexe peut être rendu efficace en programmation.
- Dans l'exemple fourni, la boucle WHILE...WEND est utilisée pour générer progressivement les valeurs de sinus entre 0 et π. Cette approche est simple et pédagogique pour illustrer l'évolution du sinus, mais elle pourrait être améliorée en utilisant une boucle For...Next, plus adaptée aux incréments réguliers connus à l'avance.
- Le résultat de SIN varie entre -1 et 1 pour toute valeur réelle de paramètre. Cela signifie que cette fonction est naturellement bornée, ce qui est très utile pour normaliser ou contraindre des calculs, comme dans les simulations physiques, les graphiques animés, ou encore la synthèse sonore.
- L'entreposage progressif des résultats dans une variable String (S = S & ...) avant l'affichage est une technique simple mais peu optimale pour de très grands volumes de données. En effet, la concaténation répétée de chaînes en Visual Basic peut entraîner une surconsommation de mémoire ; l'usage d'un StringBuilder serait plus performant dans des cas plus intensifs.
- La précision du résultat affiché est directement celle fournie par le type Double, ce qui donne des valeurs avec beaucoup de décimales. Pour une meilleure lisibilité, notamment dans une interface utilisateur, il serait intéressant de formater les résultats avec un nombre réduit de décimales, par exemple en utilisant FormatNumber ou Format.
- Enfin, l'exemple montre bien l'évolution naturelle du sinus, qui débute à 0, monte jusqu'à 1 vers π/2, puis redescend progressivement. C'est une illustration visuelle parfaite de la périodicité et de la symétrie du sinus. Une extension intéressante serait d'afficher aussi des valeurs supérieures à π pour montrer le comportement périodique de la fonction.
Exemple
Voici un exemple permet d'afficher les Sinus inférieurs à π :
on obtiendra le résultat suivant :
Sin(0)=0Sin(0.1)=0.09983341664682815
Sin(0.2)=0.19866933079506122
Sin(0.3)=0.2955202066613396
Sin(0.4)=0.3894183423086505
Sin(0.5)=0.479425538604203
Sin(0.6)=0.5646424733950354
Sin(0.7)=0.644217687237691
Sin(0.8)=0.7173560908995227
Sin(0.9)=0.7833269096274833
Sin(1.0)=0.8414709848078964
Sin(1.1)=0.8912073600614353
Sin(1.2)=0.9320390859672263
Sin(1.3)=0.963558185417193
Sin(1.4)=0.9854497299884603
Sin(1.5)=0.9974949866040544
Sin(1.6)=0.9995736030415051
Sin(1.7)=0.9916648104524686
Sin(1.8)=0.973847630878195
Sin(1.9)=0.9463000876874142
Sin(2.0)=0.9092974268256815
Sin(2.1)=0.8632093666488735
Sin(2.2)=0.8084964038195899
Sin(2.3)=0.7457052121767197
Sin(2.4)=0.6754631805511503
Sin(2.5)=0.5984721441039558
Sin(2.6)=0.5155013718214634
Sin(2.7)=0.42737988023382895
Sin(2.8)=0.33498815015590383
Sin(2.9)=0.23924932921398112
Sin(3.0)=0.1411200080598659
Sin(3.1)=0.04158066243328916
Dernière mise à jour : Lundi, le 19 novembre 2012