# Introduction à Maple/Expressions en ligne de commande
## Introduction

Maple peut être utilisé comme une calculette, c'est-à-dire en posant des calculs (éventuellement successifs) pour obtenir une solution. Il est également possible de définir des variables où enregistrer les résultats des calculs. Enfin, on peut résoudre des équations simples en ligne de commande.

## Calculs simples sur des nombres

Considérons le code suivant :
    21 + 4*5 + 1;
Il s'agit d'une expression mathématique simple. Remarquons qu'une telle expression doit se terminer par un point-virgule (sinon, une erreur survient, cf. chapitre 9). En appuyant sur la touche entrée, Maple affiche le résultat suivant :
    42
qui est bien le résultat attendu. Les opérations élémentaires que l’on peut effectuer de la sorte sont, entre autres :
| Symbole | Opération | Exemple | Résultat |
| + | Addition | 40 + 2; | 42 |
| - | Soustraction | 43 - 1; | 42 |
| * | Multiplication | 21 * 2; | 42 |
| / | Division | 84 / 2; | 42 |
| ^ | Puissance | 2^8 ; | 256 (2⁸) |
| mod | Modulo | 682 mod 80 ; | 42 (car 42 ≡ 682 [80]) |
| sqrt | Racine carrée | sqrt( 1764 ) ; | 42 (√1764) |
| ! | Factorielle | 6! ; | 720 |
Il en existe d'autres, moins élémentaires (partie entière, …).
* Les opérations modulo et factorielle ne fonctionnent que pour des entiers. Le danger de la racine carrée est que Maple, en dehors des réels positifs, ne renvoie pas toutes les solutions (par exemple 2i comme racine de -4).
Enfin, Maple connait quelques constantes usuelles, dont les plus utiles sont :
* π : Pi (avec une majuscule !) ;
* i : I (avec une majuscule !) ;
* e : e (en minuscule).
Exercice rapide : qu'affiche Maple pour cette expression ? (sqrt((12 * 13) + 13) + 7) * 2 + 1;
41

## Affectation de variables

Il est possible d'enregistrer une valeur dans une variable :
* Il est très important de bien écrire « := » sans quoi Maple retourne une erreur, ou, pire encore, ne vous dit rien — mais n'exécute pas votre commande.
Dans toute la suite du programme, on pourra utiliser x en lieu et place du nombre 12. En outre, on peut modifier la valeur de x :
    etc.
Il n’est pas nécessaire d'affecter un nombre à une variable. En effet, Maple est un logiciel de calcul symbolique et donc gère très bien les symboles : une expression de la forme
est tout à fait légitime. Si je demande à Maple d'afficher 2 * x + 15;, la ligne suivante apparaît à l'écran :
Il sera alors possible, si on le désire, de savoir ce que vaut cette expression pour n’importe quels y ou z.
Exercice rapide : qu'affiche Maple pour ce code ?

## Affectation d'expressions

Une variable n’est pas nécessairement un nombre, ni un symbole — elle peut également contenir une expression :
* Remarquez que, pour une expression mathématique, l’égalité se note par un signe « = », alors que, pour une variable, l’affectation se note « := ».
Ici, nous allons chercher le y qui vérifie l'équation appelée probleme. Pour cela, introduisons la première fonction fondamentale de Maple : solve (qui signifie en anglais « résoudre »). Son utilisation est la suivante :
Dans notre exemple :
Maple affiche alors la ligne suivante :
ce qui est bien une solution du problème, car 5 + 7 = 12. Si, d'aventure, il y avait eu plusieurs solutions comme dans l’expression y^2 = 25, alors Maple les aurait affichées ainsi (entre crochets) :
* Maple n'affiche pas toujours toutes les solutions. S'il y en a 3 ou plus, il répond par défaut un plat RootOf, qui est traité dans le chapitre 9.
Exercice rapide : qu'affiche Maple pour ce code ?

## Relations de comparaison

On peut facilement comparer deux nombres avec Maple.
| Code | Signification | Exemple | Résultat |
| = | Égalité | 3 = 3 | vrai |
| < | Plus petit que | 1 < 4 | vrai |
| > | Plus grand que | 4 > 4 | faux |
| <> | Différent de | 1 <> 2 | vrai |
| <= | Plus petit ou égal | 3 <= 5 | vrai |
| >= | Plus grand ou égal | 4 >= 4 | vrai |
* Faites attention aux derniers de cette liste, qui varient beaucoup d'un langage de programmation à l'autre.

## Sommes et produits

Maple gère les sommes et les produits. Quand il connait la valeur exacte d'une somme infinie, il la donne. Sinon, on peut utiliser la fonction evalf pour qu’il en donne une valeur approchée.

## Types

Le type d'un objet Maple est l’ensemble des opérations auxquelles cet objet peut être soumis. On peut par exemple vérifier si certains entiers sont premiers (à l'aide de la fonction isprime) mais on ne pourra pas le faire pour des réels. Voici quelques types que l’on peut rencontrer :
* integer pour les entiers ;
* fraction ou rational pour les rationnels ;
* float, realcons ou numeric pour les réels ;
* complex pour les nombres complexes ;
On peut tester le type d'un objet Maple à l'aide de la fonction type :
Exercice rapide : qu'affiche Maple pour ce type ?
Il existe aussi le type boolean. Les booléens sont au nombre de trois :
* True pour dire que c’est vrai ;
* False pour dire que c’est faux ;
* FAIL quand Maple est incapable de dire ;
Exercice rapide : qu'affiche Maple pour chacun de ces cas ?
En effet, dans le troisième, la variable z n'a pas été définie au préalable, donc Maple ne la connait pas.

## Résumé

Nous avons vu qu’il était facile, en quelques lignes, de réaliser les opérations suivantes :
* calculer des expressions (comme avec une calculette) ;
* affecter des nombres à des variables, utiliser ces variables comme des nombres ;
* affecter des variables à des variables, utiliser ces variables comme des symboles ;
* affecter des expressions à des variables ;
* résoudre des équations simples (par exemple, expressions polynomiales) avec solve ;
* comparer deux valeurs numériques.
Dans le chapitre suivant, nous nous intéresserons aux fonctions et aux opérations que l’on peut effectuer sur elles : addition & multiplication, dérivation & intégration, représentation graphique…
| Présentation | Fonctions |