# rcalc documentation

Copyright (C) 2000 Free Software Foundation, Inc. (traduction Française par Mathieu ROY)

Ce programme et sa documentation sont des logiciels libres; Vous pouvez les redistribuer et/ou les modifier selon les conditions de la 'GNU General Public License' publié par la Free Software Foundation; selon la version 2 de la licence ou (à votre choix) n'importe quelle version postérieures. Ce programme est distribué avec l'espoir qu'il soit utile, but SANS AUCUNE GARANTIE. Lisez la 'GNU General Public License' pour plus de détails.

Vous devriez avoir reçu une copie de la 'GNU General Public License' avec ce programme; sinon, écrivez à la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

Pour plus de détails, lisez le fichier COPYING.

## Sommaire

### 1. Introduction

- 1.1. Retour

### 2. Utilisation

- 2.1 Départ
- 2.2 Configuration
  - 2.2.1 Comportement
  - 2.2.2 Apparence

### 3. Référence

- 3.1 Commandes
  - 3.1.1 Exit, Quit
  - 3.1.2 Help, Man, Helpwin, ?
  - 3.1.3 Ls, Who
  - 3.1.4 Rm, Clear
  - 3.1.5 Mode, Deg, Rad
- 3.2 Fonctions
  - 3.2.1 Int
  - 3.2.2 Abs
  - 3.2.3 Log, Ln
  - 3.2.4 Sqrt
  - 3.2.5 Sin, Cos, Tan, ASin, ACos, ATan
  - 3.2.6 Sinh, Cosh, Tanh, ASinh, ACosh, ATanh
  - 3.2.7 Fac
- 3.3 Constantes
  - 3.3.1 Pi
  - 3.3.2 E

### 4. User-defined functions

- 4.1 Introduction
- 4.2 Usage

- 4.2.1 Define a new function
- 4.2.2 Use a function
- 4.2.3 List functions
- 4.2.4 Remove a function

- 4.3 Error messages

## 1. Introduction

rcalc est une rapide, simple, calculatrice symbolique pour GNOME :

- notation libre : les expressions sont entrées comme vous désirez les entrer, par exemple `1+3*sin(5)` est calculé comme vous le voudriez.
- variables : ici, le 'symbolique' intervient : si vous entrez une expression comme `a=1*2+3*4`, le résultat sera une stocké dans une variable appellée `a`. Elle pourra ensuite être réutilisée plus tard, comme dans `b=sqrt(a*5)`. Les variables sont conservées entre les sessions de rcalc jusqu'à ce que vous décidez de les supprimer (rm variable).

rcalc n'est pas comme les autres calculatrices informatiques, comme xcalc, kcalc ou encore gcalc. rcalc supporte pour l'instant les opérateurs simples comme `/`, `*`, `+`, `-` et `^` (`mise à la puissance'), tout comme des fonctions plus complexes comme les fonctions trigonométriques (`sin`, `cos`, `tan`, `asin`, `acos` et `atan`), les fonctions hyperboliques (`sinh`, `cosh`, `tanh`, `asinh`, `acosh` et `atanh`), `sqrt`, `log`, `ln`, `abs` et `int`. Aussi, il y'a deux constantes de départ, `pi` et `e`.

rcalc est conçu pour s'intégrer dans l'environnement GNOME et donc se conforme au « look and feel » de ce dernier. L'interpréteur de commande de rcalc est *au plus* conforme au shell bash, et, dans une certaine mesure, à l'interpréteur de Matlab.

rcalc n'est pas destiné à être un ensemble mathématique complet, juste une calculatrice efficace, scientifique, rapide à lancer. Si vous recherchez une programme de résolution mathématique lourde, jettez un oeuil à bc ou Dr Genius (logiciels libres), ou à Matlab (commercial).

### 1.1 Retour

Consultez le site de rcalc, http://rcalc.sourceforge.net/ pour les mises à jour. Il y'a des forums (general discussion, help requests, suggestions): n'hésitez pas à les utiliser.

Si vous trouvez un bug, rendez vous à la page de bugs de rcalc et signalez le, si celà n'a pas déjà été fait par autrui.

Si rien de tout ça ne semble adéquat, envoyez moi un courriel à <rcalc@inauspicious.org>.

## 2. Utilisation

### 2.1 Départ

Lorsque vous lancez rcalc, vous allez trouver une sorte de terminal, avec un prompt (``rcalc>` '): vous pouvez y écrire les expressions à calculer, de la même manière que les écriveriez sur papier. La seule différence principale est que rcalc ne reconnait pas les , par exemple `3sin(2pi)` ne sera pas calculé, il vous faut écrire `3*sin(2*pi)`.

En tapant la formule précédente, ceci s'affichera :

    rcalc> 3*sin(2*pi)
            Ans = 0.3283278207189595

Le résultat du calcul est assigné à la variable «`Ans` » Ce qui permet de réutiliser ce résultat :

    rcalc> Ans+1
            Ans = 1.328327820718959

Le résultat peut-être stocké dans une autre variable que « Ans » :

    rcalc> MyVariable = Ans*5
            MyVariable = 6.641639103594797

Le résulatt est maintenant dans '`MyVariable`';' `Ans`' est resté telle quelle.

Les noms de variables, constantes, fonctions, commandes, sont insensibles à la casse : `MyVariable`, `myvariable`, `MYVARIABLE` et `MyVaRiAbLe` sont identiques.

Les variables sont gérés avec les commandes « `ls` » et « `rm` » de la même sorte que sont gérés les fichiers dans un shell :

    rcalc> ls
            Ans      = 1.328327820718959
            MyVariable = 6.641639103594797
    rcalc> rm Ans
    rcalc> ls
            MyVariable = 6.641639103594797

Dans le même esprit, il y'a une commande « `man` ». Egalement, il y a la possibilité d'entrer plusieurs commandes/calculs sur une ligne, en séparant les éléments avec des point-virgule :

    rcalc> a=0.223; Tb=0.044; 1/Tb*(1-Ta/Tb)
            Ta = 0.223
            Tb = 0.044
            Ans = -92.45867768595043

Pour les connaisseurs de Matlab, les commandes de ce derniers équivalentes à celles de rcalc sont aussi reconnues, comme par exemple `help`, `helpwin`, `who` et `clear`.

### 2.2 Configuration

Pour configurer rcalc, dans le menu fichier, Préférences... .

#### 2.2.1 Comportement

Ici, vous pouvez configurer le comportement du terminal dans lequel rcalc tourne : les paramètres de la barre de navigation, curseur etc...

#### 2.2.2 Apparence

Ici, vous pouvez configurer les couleurs et la police utilisée. Notez que lorsque des polices proportionnelles sont utilisées, celà peut sembler bizarre...

## 3. Référence

### 3.1 Commandes

#### 3.1.1 Exit, Quit

`exit
quit`

Quitte le programme.

#### 3.1.2 Help, Man, Helpwin, ?

`help [sujet]
man <sujet>
helpwin [sujet]
? [sujet]`

Affiche l'aide sur `sujet`, où `sujet` est généralement le nom d'une commande ou d'une fonction. Pour une liste de sujets, tapez ``ls` commands' ou ``ls` functions'. `Help`, `helpwin` et `?` sans sujet fait afficher l'intro de l'aide.

#### 3.1.3 Ls, Who

`ls [variables|functions|constants|commands]
who`

Affiche la liste des variables, fonctions... (par défaut, les variables) `Who` est similiaire à `ls variables`.

#### 3.1.4 Rm, Clear

`rm variable1 [variable2 ...]
clear [variable1 [variable2 ...]]`

Enlève les variables spécifiés de la mémoire. `Clear` sans auguments enlève toutes les variables.

#### 3.1.5 Mode, Deg, Rad

`mode [deg|rad]
deg
rad`

Equivalent de l'onglet calculatrice de la fenêtre préférences.

`Mode` sans argument affiche le mode actuel.

### 3.2 Fonctions

#### 3.2.1 Int

`int(x)`

Arrondi de `x`.

#### 3.2.2 Abs

`abs(x)`

Valeur absolue de `x`.

#### 3.2.3 Log, Ln

`log(x)
ln(x)`

Logarythme de x (`log ou logarythme népérien (`ln`) de `x`.`

#### 3.2.4 Sqrt

`sqrt(x)`

Racine carrée de `x`.

#### 3.2.5 Sin, Cos, Tan, ASin, ACos, ATan

`sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)`

Sinus, cosinus, tangente, arc sinus, arc cosinus or arc tangente de `x`, selon le mode choisi (cf `mode`).

#### 3.2.6 Sinh, Cosh, Tanh, ASinh, ACosh, ATanh

`sinh(x)
cosh(x)
tanh(x)
asinh(x)
acosh(x)
atanh(x)`

Sinus hyperbolique, cosinus hyperbolique, tangente hyperbolique, inv sinus hyperbolique, inv cosinus hyperbolique et inv hyperbolique tangente de `x`.

#### 3.2.7 Fac

`fac(x)`

factorielle x (x!), i.e. n(n-1)(n-2)...(1)

### 3.3 Constantes

#### 3.3.1 Pi

rcalc utilise la 'math library definition', ce qui donne 3.14159265358979323846.

#### 3.3.2 E

rcalc utilise la ' math library definition', ce qui donne 2.7182818284590452354.

## 4. User-defined functions

### 4.1 Introduction

Starting with rcalc 0.4.0, you can define your own functions.

These functions are parsed by default, but if you compiled rcalc using the --enable-compiled-functions configure flag (this particular method is currently unsupported, not enabled by default, and needs a working gcc installed), they are compiled and dynamically linked to the executable when you define them.

Your functions are automatically reloaded at startup (like variables).

### 4.2 Usage

#### 4.2.1 Define a new function

When defining a function, the variable is `x`. Currently, you can only define a function that uses only 1 variable (`x`), that is, you cannot define something like `f(x,y)=cos(x) + sin(y)`.

To create a new function, use the func command:
`func [function_name](x)=[function_expression]`
Examples:

    rcalc> func g(x)=2*x

    rcalc> func myfunction(x) = 2*x*x + 7*cos((sin(x))) - abs(x)

If you compiled with --enable-compiled-functions, you can do some advanced stuff like this, provided you write C code that can be put after a return.

    rcalc> func fact(x)=(!(int)x) ? 1 : (abs( (int) x ) * fact (abs( (int)x )-1))

#### 4.2.2 Use a function

`function_name( [mathematical_expression] )`

Example, if both `g` and `myfunction` exist:

    rcalc> 3*sin(2*pi)
            Ans = 0.3283278207189595

    rcalc> g( 5 * cos ( myfunction( 2-Ans ) ) )
            Ans = 9.892698159952772

#### 4.2.3 List functions

`ls functions` (or just `ls func`)

This will list both built-in functions (see section 3.2) and user-defined functions.

#### 4.2.4 Remove a function

`rm [function_name]`

### 4.3 Error messages

This error messages means your function expression is incorrect (this may differ if you compiled with --enable-compiled-functions) :

    rcalc> func t(x)=foo

    error : malformed expression.