Passer au contenu

Calculatrice scientifique : puissances et trigonométrie

Calculatrice scientifique en ligne avec puissances, racines, logarithmes et ln, sinus, cosinus et tangente en degrés ou radians, factorielles, pourcentages et mémoire.

Scientific Calculator

Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.

Use + - * / for arithmetic, ^ for powers, ! for factorial and % for percent.

Type an expression or use the keypad to see a result.

Keypad

How this calculator reads an expression

Percent divides by 100 wherever it appears, so 100+10% is 100.1, not 110. Powers group from the right: 2^3^2 is 2^9, which is 512. A minus sign in front of a power is applied last, so -2^2 is -4. Two things written side by side are multiplied, and that multiplication ranks with division, so both are read left to right: 1/2pi means (1/2) times pi, and 6/2(1+2) is 9. Some scientific calculators read 1/2pi the other way, as 1/(2 times pi), so use brackets when the meaning matters. In Degrees mode the tangent is refused at 90 degrees and every odd multiple of it, because it has no value there.

History

No calculations yet. Press = to add one.

Calculateur de chargement...
📚

Documentation

Calculatrice scientifique

Une calculatrice scientifique calcule la valeur d’une expression mathématique écrite. Celle-ci interprète les puissances, les racines, les logarithmes, la trigonométrie, les factorielles et les pourcentages, applique l’ordre standard des opérations et affiche une réponse.

Fonctionnement du calculateur

Une expression est saisie dans la zone Expression ou construite avec le clavier numérique. La calculatrice la lit dès qu’elle change : il n’est donc pas nécessaire d’appuyer sur la touche égal pour voir la réponse. La touche = ajoute plutôt le calcul à une liste d’historique.

Elle accepte :

  • les chiffres, un point décimal et les nombres en notation exponentielle, comme 1.5e-3 ;
  • les opérateurs +, -, *, / et ^ (puissance), ainsi que les parenthèses ;
  • les constantes pi et e ;
  • les fonctions sin, cos, tan, asin, acos, atan, log, ln, sqrt et cbrt ;
  • les signes postfixés ! (factorielle) et % (pourcentage).

Les symboles du clavier sont traduits en leurs équivalents simples : ×, ÷, et π signifient la même chose que *, /, - et pi.

log est le logarithme en base 10 et ln le logarithme népérien, de base e. C’est la notation utilisée sur les calculatrices scientifiques TI et Casio, ainsi que dans la section 4,2 de la NIST Digital Library of Mathematical Functions.

L’ordre des opérations

La règle qui détermine le sens d’une expression est l’ordre des opérations. Cette calculatrice utilise la grammaire ci-dessous. Chaque ligne appelle la ligne située en dessous d’elle : l’imbrication constitue donc le tableau de priorité. La dernière ligne a la priorité la plus élevée et est calculée en premier.

1expression := term (('+' | '-') term)*
2term       := unary (('*' | '/' | juxtaposition) unary)*
3unary      := ('-' | '+') unary | power
4power      := postfix ('^' unary)?
5postfix    := primary ('!' | '%')*
6primary    := number | constant | name '(' expression ')' | '(' expression ')'
7

Présenté sous forme de liste, du premier calcul effectué au dernier :

  1. tout ce qui se trouve entre parenthèses, ainsi qu’une fonction appliquée à des parenthèses ;
  2. ! et % ;
  3. ^ ;
  4. un signe initial - ou + ;
  5. *, / et deux éléments écrits côte à côte ;
  6. + et -.

Les conventions ainsi obtenues correspondent à la norme ISO 80000-2:2019 et à l’article « Order of operations » de Wikipédia :

ÉcritureSe litValeur
2^3^22^(3^2)512
-2^2-(2^2)-4
2^-22^(-2)0,25
2^3!2^(3!)64
100+10%100 + (10/100)100,1
1/2pi(1/2) * pi1,57079632679
6/2(1+2)(6/2) * (1+2)9

Deux nombres ou noms écrits côte à côte sont multipliés, ce qui permet d’utiliser 2pi, 2(3+4) et 3sin(30). Cette multiplication implicite a la même priorité que * et / ; une juxtaposition et une division sont donc lues de gauche à droite. De nombreuses calculatrices scientifiques portables donnent à la juxtaposition une priorité supérieure à celle de la division et interprètent 1/2pi comme 1/(2*pi), ce qui donne une réponse différente. Wikipédia décrit cette différence dans « Calculator input methods ». Les parenthèses lèvent toute ambiguïté lorsque celle-ci importe.

% divise par 100, où qu’il se trouve. Ainsi, 20% vaut 0,2 et 200*15% vaut 30. Il ne s’agit pas de la touche « pourcentage du total en cours » d’une caisse de magasin, ni d’un opérateur de reste.

Exemple détaillé

L’expression sin(30)+2^3*ln(4), en mode Degrés, est calculée dans l’ordre suivant :

  1. sin(30) vaut 0,5, car 30 degrés représentent la moitié d’un angle droit et leur sinus vaut un demi.
  2. 2^3 vaut 8. Les puissances sont calculées avant les multiplications.
  3. ln(4) vaut 1,38629436112.
  4. 8 * 1.38629436112 vaut 11,090354889.
  5. 0.5 + 11.090354889 vaut 11,590354889.

La calculatrice affiche 11,590354889.

Un deuxième exemple montre la règle de lecture de gauche à droite. Dans 6/2(1+2), le contenu des parenthèses est calculé en premier, ce qui donne 6/2*3. La division et la multiplication implicite ont la même priorité, donc la division est effectuée en premier : 6/2 vaut 3, puis 3*3 vaut 9.

Degrés et radians

Le réglage de l’unité d’angle détermine comment sin, cos et tan interprètent leur argument, ainsi que l’unité renvoyée par asin, acos et atan. En mode Degrés, un tour complet vaut 360. En mode Radians, un tour complet vaut 2pi, soit environ 6,28318530718. Une même expression peut donner des réponses très différentes dans les deux modes : sin(30) vaut 0,5 en mode Degrés et -0,988031624093 en mode Radians.

Stockage et affichage des nombres

Chaque valeur est un nombre à virgule flottante IEEE 754 au format binary64, le type numérique décrit dans ECMA-262, la spécification du langage ECMAScript, section 6,1.6,1. Un double contient environ 15 à 17 chiffres décimaux. Pour l’écran seulement, la réponse est arrondie une fois à 12 chiffres significatifs. Les valeurs inférieures à 0,000001 ou supérieures ou égales à 1 000 000 000 000 sont affichées en notation exponentielle ; ainsi, 0.0000001 se lit 1E-7.

Le nombre stocké conserve toute sa précision. La mémoire conserve le résultat exact, et non les 12 chiffres affichés ; MR recolle le texte le plus court qui représente ce même nombre. Une valeur négative en mémoire est recollée entre parenthèses : après un 2, son rappel est donc interprété comme une multiplication et non comme une soustraction.

L’arrondi ne sert jamais à prendre une décision. Une infime différence résultant d’un calcul antérieur est un nombre réel et est traitée comme telle. 0.1*3-0.3 n’est pas nul en binaire : il vaut environ 5,55111512313E-17. Ainsi, 5/(0.1*3-0.3) donne 9,00719925474E16 plutôt qu’un message de division par zéro.

Pour la même raison, sin(180) en mode Degrés affiche 1,22464679915E-16, et non 0. L’erreur est d’environ une unité sur dix mille milliards de milliards et reste aussi faible. La tangente constitue une exception, traitée ci-dessous.

Ce que la calculatrice refuse

La calculatrice affiche un message au lieu d’une réponse lorsque :

  • un dénominateur est exactement nul, y compris un nombre écrit trop petit pour un double, comme 1e-400, qui est déjà nul au moment de sa lecture ;
  • sqrt reçoit un nombre négatif ;
  • log ou ln reçoit un nombre qui n’est pas strictement positif ;
  • asin ou acos reçoit un nombre en dehors de l’intervalle -1 à 1, domaine indiqué à la section 4,14 du NIST DLMF ;
  • tan est utilisée à 90 degrés ou à tout multiple impair de cette valeur, où elle n’a pas de valeur ;
  • une factorielle est demandée pour autre chose qu’un nombre entier compris entre 0 et 170 ;
  • un nombre contient un second point décimal, comme dans 1.2.3 ;
  • l’expression comporte plus de 512 caractères.

La limite de 170 tient au type numérique et non à un choix : la factorielle de 170 vaut environ 7,25741561531E306, ce qui tient encore dans un double, tandis que celle de 171 n’y tient pas. La limite de 512 caractères est vérifiée dans le code, car c’est la longueur de l’expression qui détermine la quantité de calcul effectuée par la calculatrice.

Le contrôle de la tangente arrondit l’angle à 9 décimales avant de le tester. Cela ramène les écarts dus aux calculs antérieurs sur l’asymptote exacte, au prix d’une fenêtre de refus d’environ 5e-10 degré de largeur de chaque côté. tan(89.9999999994) renvoie 95 493 592 025, tandis que tan(89.9999999995) est refusée. Le mode Radians n’effectue pas ce contrôle, car une valeur en radians saisie près de la moitié de pi n’a aucun statut particulier : ce n’est qu’un nombre comme un autre.

Foire aux questions

Que fait ici la touche % ? Elle divise par 100 partout où elle apparaît. 100+10% vaut 100,1, car cela signifie 100 plus 0,1. Elle ne calcule pas un pourcentage de ce qui la précède.

2^3^2 vaut-il 64 ou 512 ? 512. Les puissances s’associent par la droite : l’expression signifie donc 2^(3^2), soit 2^9. Cela suit la norme ISO 80000-2:2019.

Pourquoi 6/2(1+2) vaut-il 9 et non 1 ? Une multiplication implicite a la même priorité qu’une division, et les opérations de même priorité sont lues de gauche à droite. Les calculatrices qui donnent une priorité supérieure à la juxtaposition répondent 1. Les parenthèses lèvent le doute.

Pourquoi sin(180) n’affiche-t-il pas 0 ? Parce que 180 degrés sont d’abord convertis en radians, et que pi ne peut pas être représenté exactement en binaire. La réponse vaut environ 1.2e-16, ce qui est la véritable valeur du sinus du nombre effectivement utilisé par la machine.

Quelle est la différence entre log et ln ? log est en base 10, donc log(1000) vaut 3. ln est en base e, donc ln(e) vaut 1. Les libellés du clavier suivent la même convention que ceux des calculatrices scientifiques TI et Casio.

Pourquoi une factorielle supérieure à 170 est-elle refusée ? La factorielle de 171 est supérieure à tout nombre qu’un double peut contenir ; la réponse serait donc l’infini plutôt qu’un nombre. La calculatrice le signale au lieu d’afficher un résultat dépourvu de sens.

Sources

  • IEEE 754-2019, norme IEEE relative à l’arithmétique en virgule flottante.
  • ECMA-262, ECMAScript Language Specification, section 6.1.6.1, « The Number Type ».
  • ISO 80000-2:2019, Grandeurs et unités, partie 2 : signes et symboles mathématiques.
  • NIST Digital Library of Mathematical Functions, sections 4,2 et 4,14.
  • Wikipédia, « Order of operations ».
  • Wikipédia, « Calculator input methods ».