You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mchsamples-.net-core/p02_Fondamentaux/ex_004_002_Math/Program.cs

100 lines
4.2 KiB

// ========================================================================
//
// Copyright (C) 2016-2017 MARC CHEVALDONNE
// marc.chevaldonne.free.fr
//
// Module : Program.cs
// Author : Marc Chevaldonné
// Creation date : 2016-09-22
//
// ========================================================================
using System;
using static System.Console;
namespace ex_004_002_Math
{
class Program
{
static void Main(string[] args)
{
OutputEncoding = System.Text.Encoding.UTF8;
//constantes de la classe Math :
WriteLine($"CONSTANTES DE LA CLASSE MATH");
//epsilon
WriteLine($"E(e) : {Math.E}");
//PI
WriteLine($"Pi : {Math.PI}");
WriteLine();
//méthodes pour arrondir
WriteLine($"METHODES POUR ARRONDIR");
//arrondir
WriteLine($"Arrondir 1,9876 à 2 chiffres après la virgule : {Math.Round(1.9876, 2)}");
//tronquer
WriteLine($"Partie entière de 1,9876 : {Math.Truncate(1.9876)}");
//plus grand entier inférieur
WriteLine($"Plus grand entier inférieur de 1,9876 : {Math.Floor(1.9876)}");
//plus petit entier supérieur
WriteLine($"Plus petit entier supérieur de 1,9876 : {Math.Ceiling(1.9876)}");
WriteLine();
//calcul de maximums et minimums
WriteLine($"maximum entre 6 et 4 : {Math.Max(6, 4)}");
WriteLine($"minimum entre 6 et 4 : {Math.Min(6, 4)}");
WriteLine($"maximum entre 6, 4 et 5 : {Math.Max(Math.Max(6, 4), 5)}"); //on peut faire mieux avec LINQ et les collections
WriteLine();
//signes et valeurs absolues
WriteLine($"valeur absolue de -4,567 : {Math.Abs(-4.567)}");
WriteLine($"signe de -4.567 : {Math.Sign(-4.567)}");
WriteLine();
//racines carrées, puissances, exponentielles et logarithmes
WriteLine($"Racine carrée de 625 : {Math.Sqrt(625)}");
WriteLine($"8 à la puissance 3 : {Math.Pow(8, 3)}");
WriteLine($"exponentielle de 1 (Exp(1)) : {Math.Exp(1)}");
WriteLine($"logarithme népérien de e (ln(e)) : {Math.Log(Math.E)}");
WriteLine($"logarithme décimal de 10 (log(10)) : {Math.Log10(10)}");
WriteLine();
//trigonométrie
WriteLine($"sin(pi/2) : {Math.Sin(Math.PI / 2)}");
WriteLine($"cos(pi/2) : {Math.Cos(Math.PI / 2)}");
WriteLine($"tan(pi/2) : {Math.Tan(Math.PI / 2)}");
//il existe aussi : le sinus hyperbolique (Sinh), le cosinus hyperbolique (Cosh), la tangente hyperbolique (Tanh)
// arcsinus (Asin), arccosinus (Acos) et arctan (Atan)
WriteLine();
//autres exemples :
WriteLine($"exp(e) = {Math.Exp(Math.E)}");
WriteLine($"ln(exp(1)) = {Math.Log(Math.Exp(1))}");
WriteLine($"sqrt(|cos(1)|) = {Math.Sqrt(Math.Abs(Math.Cos(1)))}");
WriteLine();
//L'assemblage System.Numerics.dll introduit également deux nouvelles classes :
// BigInteger : un très grand entier sans perte de précision
// Complex : une structure représentant un nombre complexe
System.Numerics.BigInteger carlos = System.Numerics.BigInteger.Pow(2, 200);
WriteLine($"2 à la puissance 200 :\n{carlos}");
System.Numerics.Complex complex = new System.Numerics.Complex(2, 3);
System.Numerics.Complex complex2 = new System.Numerics.Complex(-5, 2);
WriteLine($"Partie réelle de complex : {complex.Real} / partie imaginaire de complex : {complex.Imaginary}");
//les opérateurs sont réécrits pour les nombres complexes
System.Numerics.Complex complex3 = complex + complex2;
WriteLine($"(2 + 3i) + (-5 + 2i) = ({complex3.Real} + {complex3.Imaginary}i)");
complex3 = System.Numerics.Complex.Conjugate(complex);
WriteLine($"conjugué de (2 + 3i) = ({complex3.Real} + {complex3.Imaginary}i)");
}
}
}