--- contributors: - ["hyphz", "http://github.com/hyphz/"] translators: - ["altaris", "http://github.com/altaris/"] filename: learnwolfram-fr.nb --- Le langage Wolfram est utilisé dans les programmes suivants : * La ligne de commandes interactive noyau du Raspberry Pi, mais elle ne peut pas gérer des éléments graphiques. * _Mathematica_, un éditeur de texte riche spécialisé pour les mathématiques : appuyer sur `Shift + Entrée` dans une cellule de code crée un nouvelle cellule contenant le résultat. * _Wolfram Wokbench_, une variante d'Eclipse spécialisée pour le langage Wolfram. Ce code d'exemple peut être utilisé et modifié dans ces logiciels. Cependant, le copier-coller directement dans Mathematica peut causer des problèmes de formatage, car il ne contient aucune information de mise en page. ```mathematica (* Ceci est un commentaire *) (* Dans Mathematica, au lieu d'utiliser ces commentaires, vous pouvez créer des cellules de texte et insérer de jolies images *) (* Saisissez une opération et appuyez sur Shift + Entrée pour obtenir le résultat *) 2*2 (* 4 *) 5+8 (* 13 *) (* Appels de fonction *) Sin[Pi/2] (* 1 *) (* Syntaxe alternative pour les appels de fonction à 1 paramètre *) Sin@(Pi/2) (* 1 *) (Pi/2) // Sin (* 1 *) (* Attention : le langage est sensible à la casse ! *) (* Toutes les expressions sont en réalité des appels de fonction *) Times[2, 2] (* 4 *) Plus[5, 8] (* 13 *) (* Utiliser une variable pour la première fois la déclare globalement *) x = 5 (* 5 *) x == 5 (* True, l'assignation et le test d'égalité est écrit comme en C *) x (* 5 *) x = x + 5 (* 10 *) x (* 10 *) Set[x, 20] (* TOUT est un appel de fonction, TOUUUUUUUUT *) x (* 20 *) (* Le langage Wolfram effectue des manipulations symboliques, donc utiliser des variables non déclarées est légal *) truc + 5 (* 5 + truc, comme truc n'est pas déclarée, l'évaluation s'arrête là *) truc + 5 + 10 (* 15 + truc, on évalue ce qu'on peut... *) % (* 15 + truc, % représente le dernier résultat *) % - truc (* 15, les variables non déclarées peuvent quand même s'annuler *) chose = truc + 5 (* Attention : chose est ici une expression et non un nombre *) (* Déclaration d'une fonction *) Double[x_] := x * 2 (* Le symbole := empêche l'évaluation immédiate du terme à droite *) Double[10] (* 20 *) Double[Sin[Pi/2]] (* 2 *) Double @ Sin @ (Pi/2) (* 2, Utiliser @ évite les paquets de crochets fermants si moches *) (Pi/2) // Sin // Double (* 2, Utiliser // permet d'écrire les fonctions dans l'ordre d'appel *) (* En programmation impérative, utiliser ; pour séparer les expressions *) Salut[] := (Print@"Hello"; Print@"World") (* Les parenthèses sont nécessaires car ; est prioritaire sur := *) Salut[] (* Hello World *) (* Boucles For à la C *) Compter[x_] := For[y=0, y 2, "Rouge" -> 1|> (* Crée une table associative *) table[["Vert"]] (* 2, l'utilise *) table[["Vert"]] := 5 (* 5, la modifie *) table[["Bleu"]] := 3.5 (* 3.5, l'étend *) KeyDropFrom[table, "Vert"] (* Supprime la clé "Vert" *) Keys[table] (* {Rouge, Bleu} *) Values[table] (* {1, 3.5} *) (* Pour finir, toute bonne démonstration du langage Wolfram contient un Manipulate ! *) Manipulate[y^2, {y, 0, 20}] (* Crée une interface graphique interactive qui affiche y^2, permettant à l'utilisateur de modifier la valeur de y grâce à un contrôle allant de 0 à 20. Ne fonctionne que si le logiciel utilisé gère les éléments graphiques. *) ``` ## Envie d'aller plus loin ? * [Documentation du langage Wolfram (en anglais)](http://reference.wolfram.com/language/)