# Xcas web
Keywords: xcas, firefox, navigateur, calcul, formel, en, ligne, programmation, algorithmique

pour deficients visuels, English version.
Bienvenue dans Xcas pour Firefox ou navigateur compatible (c) 2020, B. Parisse et R. De Graeve, Institut Fourier, Université de Grenoble.
Depuis Xcas, taper python ou js dans une ligne de commande pour changer d'interpréteur vers MicroPython (Damien P. George et al) ou vers QuickJS de Fabrice Bellard et Charlie Gordon.
Si Xcas ne fonctionne pas, effacez le cache du navigateur et rechargez.
Restaurer la session précédente
ou

### Configuration

E-mail personnel correspondant , langue de l'aide fr en sp el de Export vers Casio 35eii&90 Numworks TI Nspire CX
Chiffres: Autosimplification: Syntaxe , , ,
, , , ,
, ,
Tortue par Sortie par
Taille maximale de l'assistant matrice , déformable
Documentation online

session
Charger

- Tapez votre calcul ou programme dans la ligne de commande en bas de la page (attention, tapez `1.2` pour 1 virgule 2). Pour apprendre à utiliser Xcas, vous pouvez lire ce tutoriel
  Cliquez sur l'icone de `Xcas` ou le bouton `Prog` pour afficher des assistants mathématiques ou algorithmiques, ou sur `123` pour le clavier scientifique. Validez par la touche Entrée ou le bouton Ok en vert.
  Pour obtenir de l'aide sur une commande, tapez le début de son nom puis tapez `F1` ou cliquez sur le bouton `?`. Pour trouver des noms de commandes, utilisez les assistants Maths et Prog ou cliquez sur un des thèmes ci-dessous ou consultez le guide de Xcas
  Vous pouvez choisir l'interpréteur depuis la configuration (bouton en haut à gauche avec la roue dentée) parmi Xcas, MicroPython ou Javascript. L'interpréteur Javascript par défaut est QuickJS en mode mathématique sauf si votre ligne de commande commence par `@` (QuickJS sans le mode math) ou `@@` (interpréteur du navigateur).
- Vous pouvez partager publiquement une session en cliquant sur le bouton F. Vous pouvez échanger des sessions de calculs Xcas entre plusieurs personnes par email. Renseignez une fois pour toutes les champs e-mail de la configuration (bouton Réglages en haut à gauche) et validez. Vous pouvez alors envoyer votre session à votre correspondant en cliquant sur le lien ✉, modifiez le destinataire si nécessaire (si vous utilisez un webmail non reconnu, recopiez le contenu du lien x2 dans un message ou configurez les paramètres de votre navigateur pour l'utiliser, il peut être nécessaire de cloner votre session avec le lien x2 avant de cliquer sur le lien ✉). Le destinataire clique sur le lien du mail ce qui ouvrira un clone de votre session dans son navigateur. Il peut alors modifier ou corriger votre session, et si il clique sur le lien ✉, il vous renvoie votre session avec les corrections.
  Lorsqu'une session est envoyée par mail, le nom de la session chez le destinataire est modifié par ajout préfixé de l'adresse e-mail de l'envoyeur, sauf si le nom de session contient @. Si le nom de session commence par @, le caractère @ est supprimé.
  Exemple: un enseignant envoie à ses élèves une session énoncé. Il choisit un nom de session commencant par @, par exemple `@exercice`, il crée la session puis il clique sur le lien ✉ et met comme destinataire l'alias mail de la classe. S'il n'y a pas d'alias mail pour la classe, l'enseignant clique sur le lien ⠪ et poste le sujet sur le forum. Les élèves font le travail et le renvoient en cliquant sur le lien ✉, qui contient automatiquement l'adresse mail de l'enseignant. Le nom de session devient alors `mail_eleve@fournisseur_internet@exercice` ce qui permet à l'enseignant de savoir qui il corrige. L'enseignant corrige la session et la renvoie, le nom de session reste inchangé.
- Vous pouvez optionnellement installer Xcas sur votre appareil, ce qui permet de l'utiliser en mode avion.
  Sur mobile, téléchargez xcashtml.zip, dézippez-le (par exemple avec Androzip sur Android), cherchez le fichier `xcasfr.html` (sur Android depuis ici) et ouvrez-le avec votre navigateur. Vous pouvez créer un raccourci sur votre écran d'accueil depuis le menu de votre navigateur.
  Sur PC/Mac: si vous avez installé Xcas natif pour PC ou Mac en version 1.4.9-57 ou supérieure, Xcas pour Firefox est déjà installé, sinon faire comme sur mobile.
  - Windows: cherchez le fichier `xcasfr.html` dans le sous-répertoire `doc` du répertoire d'installation de Xcas, en principe `c:\xcas`.
  - Mac:`/Applications/usr/share/giac/doc/xcasfr.html`,
  - Linux: `/usr/share/giac/doc/xcasfr.html`,
  Si Xcas pour Firefox ne fonctionne pas avec Firefox en local, il faut désactiver `security.fileuri.strict_origin_policy` dans `about:config`.
- Sur les navigateurs qui implémentent webusb (par exemple Chromium ou Chrome), vous pouvez échanger facilement des scripts avec une calculatrice Numworks.
  Vérifiez dans la configuration (bouton en haut à gauche) que l'export est configuré vers la calculatrice Numworks. Pour récupérer un script depuis la calculatrice, cliquer sur le bouton Numworks→. Pour renvoyer un script vers la Numworks, cliquer sur le bouton →Numworks. Le nom du script apparait à gauche du bouton →Numworks. S'il se termine par `xw`, il désignera une session KhiCAS Numworks, s'il se termine par `.py` un script Python. Vous pouvez ensuite facilement partager vos scripts par email ou sur des forums (icone enveloppe ou bouton F)
  KhiCAS est une version pour Numworks de Xcas, qui s'installe sur les Numworks N0110 qui ont une version du système inférieure ou égale à 15. Sur cette page vous pouvez certifier qu'une calculatrice Numworks contient le firmware KhiCAS d'origine, conforme à la réglementation des examens en France. Attention, ne mettez pas à jour votre calculatrice sur le site officiel de Numworks, les mises à jour versions 16 ou plus sont irréversiblement incompatibles avec Xcas. Plus d'informations ici et une pétition en ligne pour protester contre cette volte-face de Numworks.
  Remerciements à Maxime Friess pour le script Numworks.js (sous licence MIT).
- Ces sessions sont proposées en syntaxe Xcas ou en syntaxe Python. Les programmes des sessions écrits en gras (Python) fonctionnent avec un interpréteur Python (après avoir fait `from math import *` dans certains cas), ceux écrits en italiques (Python) fonctionnent partiellement (
  ).
  - Variables, types, affectation, test, boucle, fonction, syntaxe Xcas ou Python
  - Seconde: tortue. Cliquez sur le bouton
    pour voir des exemples.
  - Seconde, longueur de courbe Xcas, Python
  - Seconde, recherche de minimum Xcas, Python
  - Seconde: tracé de courbe, syntaxe Xcas ou Python
  - Seconde: Équation d'une droite Xcas ou Python
  - Seconde, fréquence dans un échantillon, syntaxe Xcas ou Python
  - Lycée: décomposition d'un entier en facteurs premiers par division Xcas, Python
  - Lycée: le paradoxe du duc de Toscane Xcas, Python
  - Première, équation du second degré Xcas, Python
  - Première, suites Xcas , Python
  - Première, Loi binomiale et loi géométrique tronquée Xcas , Python
  - Première Triangle de Pascal Xcas, Python
  - Terminale: Dichotomie Xcas , Python
  - Terminale, Calcul approché d'intégrales. Xcas , Python
  - Terminale: distribution cumulée loi normale
  - Convergence d'une moyenne vers la loi normale.
  - PGCD binaire: Xcas
  - Identité de Bézout.
  - Marche aléatoire sur un graphe
  - algorithme de Dijkstra
  - Jour de la semaine: Xcas
  - Olympiades de maths 2018, problème 6
- - Nombres flottants (Licence): Xcas, Python
  - Licence Systèmes linéaires, LU, conditionnement
  - Licence Décomposition QR, moindres carrés, exemple régression linéaire
  - Méthodes itératives: point fixe, Newton, puissance Xcas , Python
  - Polynôme en une variable, Horner et Taylor Xcas, Python
  - Interpolation polynomiale phénomène de Runge, points de Tchebyshev
  - Intégration numérique rectangles, trapèzes, Simpson, ordre, Monté-Carlo
  - Résolution approchée d'équations différentielles ordinaires: Xcas , Python
  - PGCD de polynômes, d'Euclide au sous-résultant: Xcas, Python
  - Agrégation: Résultant et intersections
  - Agrégation: Localisation des racines d'un polynôme
  - Algèbre linéaire sur un corps fini (Agrégration) Xcas , Python
  - Bases de Groebner cyclic6. Pour des calculs plus intensifs, activez wasm dans les réglages et inspirez-vous de cyclic7 modulaire. Pour avoir des informations pendant le déroulement des calculs, tapez la commande `debug_infolevel:=1` (ou plus) et ouvrez la console du navigateur. Pour des calculs vraiment intensifs, utilisez la version native de Xcas.
  - Produit, quotient de polynômes à plusieurs variables (pour navigateur compatible avec web-assembly, par exemple Firefox ≥ 58) benchmark de Fateman n=20
  - Approx benchmarks
  - Exact benchmarks
  - Des programmes graphiques
    - Fractale de Mandelbrot Xcas, Python,
    - Julia Python
    - Fractale de Newton ou bassins d'attraction des racines d'un polynome Xcas, Python
    - Fougère et choux-fleur Python
    - courbe de Hilbert Python
    - logo Xcas
- Cette feuille de calcul est composée du haut vers le bas de:
  - Un panel de boutons permettant de restaurer/sauvegarder une session, et des aides à la saisie de commandes (Xcas/math, programmation, clavier scientifique, documentation) . Au lancement de Xcas, le panel est réduit à insertion d'une session, consultation des manuels, configuration et restauration de la session précédente. Dès que vous avez validé une commande, il apparait
    - un lien x2 (respectivement local) qui permet de cloner une session existante (respectivement localement). A utiliser si le noyau de calcul formel a crashé ou pour copier-coller dans une page web, ou pour exécuter dans Xcas natif (sélectionner un niveau en cliquant sur son numéro de niveau puis faire Ctrl/Cmd-V)
    - un lien ✉ qui permet de partager votre session par e-mail.
  - une zone d'aide, qui contient des courtes description des commandes dont vous avez demandé la syntaxe. Vous pouvez effacer l'aide avec le bouton d'effacement à droite du champ de recherche.
  - un historique qui contient 0 ou plusieurs niveaux (0 au début). Un niveau est une paire ligne de commande (en noir)/résultats (en bleu), les boutons ↑ et ↓ permettent de déplacer un niveau dans l'historique. Vous pouvez modifier une ligne de commande de l'historique et valider en cliquant sur le bouton Ok ou sur Entree en début de champ. Vous pouvez placer un niveau dans la corbeille avec le bouton d'effacement à droite du niveau. Pour le restaurer, cliquez sur le bouton Restaure, pour l'effacer définitivement cliquez sur le bouton Vide. Le lien `+` à droite du bouton Vide permet d'ouvrir un nouvel onglet sur une session vide.
  - une ligne de commande, on y tape des commandes ou des programmes Xcas, et on valide en cliquant sur le bouton Ok ou en tapant Entree (si votre commande est sur plusieurs lignes, tapez Ctrl-Entree ou Entree sur une ligne vide). Pour forcer un passage à la ligne, tapez Shift-Entree au clavier ou utilisez le bouton `\n`.
    Par exemple, tapez un calcul simple comme `1/2+1/3` ou `sin(pi/4)` ou `sin(pi/4.0)`.
    Pour vous aider à remplir la ligne de commande, vous pouvez cliquer sur le bouton 123 qui fait apparaitre le clavier scientifique et sur l'icone de Xcas qui contient des commandes fréquemment utiliées et des assistants (déplacez la souris près des boutons pour une description de leur action).
    Si vous connaissez le nom d'une commande, vous pouvez taper (le début) du nom d'une commande (par exemple `factor`) puis la touche
    ou cliquer sur le bouton
    pour obtenir une aide courte sur la commande (si elle est complète) ou des suggestions de noms de commande (sinon).
    Par exemple, cliquer sur le bouton `math` puis `reecr.` puis `factor` puis tapez sur `?`, observez l'aide en haut, cliquez sur un des exemples ou completez avec x^4-1 puis tapez Entree.
    Sur mobile, vous pouvez sélectionner du texte en laissant le doigt appuyé sur un mot, puis taper sur l'icone avec des ciseaux (pour couper) ou avec deux feuilles (pour copier), pour coller le presse-papier, laisser le doigt appuyé puis taper sur l'icone avec une feuille. Vous pouvez aussi appuyer sur les boutons `beg` et `end` pour marquer le début et la fin de la sélection, puis optionnellement sur `del` pour effacer, puis sur `cp` pour coller ce que vous aviez sélectionné.
    Vous pouvez ajouter un commentaire en validant une ligne de commande vide (ou en cliquant sur le bouton `math` puis `texte`). Vous pouvez transformer une ligne de commande en un commentaire (ou inversement un commentaire en ligne de commande) en ajoutant `///` au début et en validant. Vous pouvez commenter une ligne de commande en cliquant sur le bouton représentant un crayon à gauche de la réponse. Vous pouvez utiliser des commandes de balisage HTML dans un commentaire, par exemple inclure un graphique `<img WIDTH="32" HEIGHT="32" SRC="turtle.png" alt="Tortue" align="center">` . Lorsque vous éditez un commentaire, des boutons facilitent la saisie des commandes HTML pour créer un titre, ou écrire en gras ou italique ou fonte fixe. Vous pouvez taper des mathématiques de deux manières mutuellement exclusives
    - en saisissant une ligne de commande valide entre deux signes dollar (`$...$`), ce morceau de ligne de commande sera interprété par Xcas sans etre évalué puis transformé en MathML pour affichage 2d, par exemple `$x[n+1]^2$` affichera x indice n+1 exposant 2, `$A=[[1,2],[3,4]]$` affichera une matrice (sans donner de valeur à A), `$integrate(sin(x),x,0,pi)$` affichera l'intégrale de sinus x entre 0 et pi sans la calculer, `$vecteur(u), vecteur(A,B)$` affichera une flèche au-dessus de u ou de AB. Les symboles des ensembles tels que ℤ,ℕ s'obtiennent par `$ZZ$, $NN$`, ainsi pour saisir x∈ℚ on tape `$x in QQ$`. On peut aussi utiliser du code HTML comme `&in;` pour ∈, `&forall;` pour ∀, `&exist;`, `&oplus;`, `&otimes;`, `&notin;`, `&empty;`, `&part;` etc. ou recopier directement un symbole par exemple depuis ici.
    - soit en saisissant un commentaire contenant au moins une paire de double-dollars (`$$ ... $$`). Dans ce cas, MathJax sera chargé pour afficher l'ensemble des commentaires en utilisant la syntaxe LaTeX (attention, cette méthode ne fonctionne pas sans connexion Internet).
  - une console qui affiche des messages du CAS : erreurs de syntaxe mais aussi lors d'un calcul en mode pas-à-pas, par exemple d'une dérivée. La console n'est pas visible si elle est vide. Vous pouvez effacer la console ou ajuster sa taille verticale.
  - une zone affichant des graphes 3d lorsqu'on exécute une commande ayant une sortie graphique 3d. Cette zone n'est pas visible s'il n'y a pas de graphique 3d.
  A tout moment, vous pouvez sauvegarder l'historique, avec le nom de session affiché à droite du bouton `💾` (par défaut `session`). Une session sauvegardée s'ouvre ensuite avec le bouton Charger. Sur mobile, les sauvegardes sont faites dans localStorage. Vous pouvez aussi exporter la feuille de calcul (sauf sur mobile), l'export occupe plus de place mais permet de publier le fichier HTML comme une page autonome. Vous pouvez sauvegarder les graphes 2d au format SVG avec le bouton save à droite du graphe. Le fichier SVG créé est au format 1.2 (il utilise la balise `vector-effect="non-scaling-stroke"` qui n'est pas compris par tous les visualisateurs ou convertisseurs).
  Sous Firefox, pour pouvoir choisir l'emplacement de sauvegarde et écraser une version antérieure : cocher Toujours demander... dans Préférences, Général, Téléchargements.
  Vous pouvez ouvrir (partiellement) dans Xcas pour Firefox une session existante Xcas natif en la clonant (menu Fich, Clone du programme Xcas, ou en ligne de commande `xcas --online nom_fichier.xws`)
  Notez que Chrome (et plus généralement le navigateur installé par défaut sur votre appareil) est beaucoup plus lent que Firefox pour faire les calculs (5 fois plus lent environ), en particulier le premier calcul dure une bonne dizaine de secondes. De plus, Chrome n'a pas de support natif pour afficher les formules en 2d en mathml, il faut alors charger MathJax ce qui nécessite un accès réseau.
  Il est donc recommendé de télécharger Firefox et d'exécuter Xcas depuis Firefox
- Raccourcis clavier avec Alt (ou Ctrl si Alt ne marche pas car déjà utilisé par le navigateur ou le système d'exploitation).
  - D, curseur droit : déplace le focus d'un champ vers la droite ou le bas
  - G, curseur gauche : déplace le focus d'un champ vers la gauche ou le haut
  - curseur bas : déplace le focus de 2 champs vers la droite ou le bas
  - curseur bas : déplace le focus de 2 champs vers la gauche ou le haut
  - B: déplace le focus vers la ligne de commande
  - C: copie le champ courant vers la ligne de commande
  - A: déplace le focus vers l'aide
  - TAB: affiche l'aide sur la commande à gauche du curseur de la ligne de commande.
  - M: affiche ou cache le menu Maths
  - P: affiche ou cache le menu Programmation
  - T: affiche ou cache le menu Tortue
  - E ou F: exécute la session
  - N: efface la console
- Le bouton en haut à gauche de la feuille permet de changer la configuration de Xcas pour Firefox. Vous pouvez par exemple modifier le nombre de chiffres significatifs utilisés par défaut, l'unité d'angle, le mode pas à pas, etc. Si vous avez un navigateur compatible, par exemple Firefox≥58, vous pouvez activer l'option `wasm` qui permet d'effectuer la plupart des calculs plus rapidement et donne accès aux commandes de PARI-GP (après avoir évalué la commande `pari()`). Vous pouvez aussi utiliser l'interpréteur MicroPython à la place de l'interpréteur Xcas si la compatibilité Python de Xcas est insuffisante: il est fourni avec des modules pour un usage scolaire (math, cmath, random, turtle, matplotl, linalg, numpy, graphic, arit, cas). Le passage d'un interpréteur à l'autre peut aussi s'effectuer avec les commandes `python` ou `xcas`. Pour visualiser la tortue en mode MicroPython, taper `.` sur une ligne de commande vide, pour visualiser un graphique de `graphic` taper `;`, pour un graphique dans un repére, taper `,`.
- Manuels de Xcas
  La version "disque dur" est accessible en local sous Linux si vous avez installé `giac`, sinon sélectionnez la version "Internet".
  - Algorithmes de calcul formel et numérique: PDF disque dur, Internet, HTML disque dur, Internet,
  - Programmation : algorithmique lycée, disque dur, Internet,
  - Géométrie : disque dur, Internet,
  - Simulation : disque dur, Internet,
  - Tortue logo : disque dur, Internet,
  - Exercices : disque dur, Internet,
  - Amusement : disque dur, Internet,
- Xcasfr.html est une interface javascript optimisée pour Firefox du système de calcul formel Giac/Xcas compilé par emscripten (l'éditeur de programme de cette interface utilise CodeMirror). Il n'a pas besoin de serveur, il s'exécute localement (avec le moteur javascript de votre navigateur qui doit être récent, mettez-le à jour pour avoir de bonnes performances, il faut aussi avoir au moins 300M de RAM disponible) à partir du code du CAS qui est téléchargé une fois. Le prix à payer pour cette simplicité est la vitesse, le code est plus lent pour tous les calculs exacts. La plupart du temps, cela n'est pas vraiment genant, mais si vous devez exécuter un gros calcul, il vaut mieux installer Xcas!
  Giac/Xcas (c) 2018 B. Parisse, R. De Graeve, Institut Fourier, Université de Grenoble, sous licence GPL3, pour une licence commerciale nous contacter.
  Optimization, signalprocessing, graph theory code (c) Luka Marohnić.
  Sortie mathml et SVG (c) code principalement écrit par J.P. Branchard.
  MicroPython (c) Damien P. George et al
  QuickJS (c) Fabrice Bellard et Charlie Gordon.
- Il n'existe pas de manière universelle de simplifier une expression, parfois il vaut mieux développer, parfois factoriser, parfois linéariser, etc., il est donc important de connaitre quelques commandes de réécriture, que l'on peut retrouver depuis le menu Math, réécr.
  - L'appui sur le bouton `math` puis `réecr.` puis `simpl` insère la commande
    , tapez ensuite l'expression que vous voulez développer et simplifier.
    ,
    ,
    sont des versions moins puissantes mais plus rapides que simplify (normal ne recherche pas de relations entre fonctions trigonométriques et exponentielles, ratnormal n'effectue que des simplifications rationnelles, reorder réordonne selon une liste de variables).
  - factorise sur R,
    sur C
  - décompose en éléments simples sur R,
    sur C.
  - développe les expressions trigonométriques, exponentielles et logarithmes,
    linérise les exponentielles,
    linérise les expressions trigonométriques.
  - permet de substituer une ou des variables par une ou des valeurs
  - Conversions trigo:
    ,
    ,
    ,
    ,
  - Autres:
    ,
    ,
- - Pour créer un vecteur, tapez ses coordonnées séparées par des virgules entre 2 crochets [].
    produit scalaire de deux vecteurs,
    produit vectoriel en dimension 2 ou 3.
  - Pour créer une matrice, utilisez l'assistant `matrix` du menu `math`. Vous pouvez définir les coefficients par une formule en fonction de la ligne et de la colonne ou élément par élément (vous pouvez entrer plusieurs coefficients en les séparant par un espace et passer à la ligne suivante avec Entree). Pour une matrice aléatoire, utilisez l'assistant `alea`.
  - Les indices de lignes et colonnes commencent à 0 avec une seule paire de `[]` et à 1 avec une double-paire `[[]]`, par exemple
    ou
    .
  - Vous pouvez utiliser `+,-,*` et
    pour effectuer les opérations usuelles sur les matrices.
  - transposée,
    : transconjuguée,
    identité
  - système linéaire,
    : pivot de Gauss,
    : déterminant,
    : inverse,
    : décomposition LU et application à
    ,
  - polynome caractéristique ou
    minimal,
    vecteurs et valeurs propres.
  - Factorisations
    ,
    ,
    ,
  - Normes
    ,
    ,
    :
    de matrice subordonnée
- Les commandes fréquentes se trouvent dans le menu Math, bouton arit. Certaines commandes agissent indifféramment sur les entiers et sur les polynômes, par exemple `gcd` ou `lcm`, d'autres commandes ont deux versions, celle qui agit sur des entiers a comme initiale `i`, par exemple `irem` est le reste euclidien pour des entiers, et `rem` pour des polynômes.
  - ,
    PGCD et PPCM
  - ,
    ,
    : reste et quotient de la division euclidienne sur les entiers
  - identité de Bézout sur les entiers,
    solutions de au+bv=c,
    test de pseudo-primalité,
    prochain nombre premier,
    factorisation d'entier, indicatrice d'
    ,
    puissance modulaire rapide.
  - ,
    ,
    : reste et quotient de la division euclidienne sur les polynomes. La variable par défaut est `x`, sinon l'indiquer en 3ème argument
  - identité de Bézout sur les polynomes,
    solutions de au+bv=c,
    valeur en un point par Horner,
    interpolation polynomiale.
  - Pour travailler dans ℤ/nℤ, utiliser le signe `mod`, par exemple `x^3+5x-11 mod 17` est un polynome a coefficients dans ℤ/17ℤ. Pour travailler sur un corps fini non premier, utiliser la commande
- Depuis le bouton `math`
  - l'assistant `solve` vous guidera pour résoudre une équation ou un système polynomial en mode exact ou approché sur les réels ou les complexes (fonctions
    )
  - Pour résoudre une équation différentielle, cliquez sur `analyse` du menu `Math`,
    pour un calcul exact,
    approché, ou cliquez sur `graphe` puis
    pour un graphe de solution approchée.
  - Pour calculer le terme général d'une suite récurrente (ou d'un système), cliquez sur `u_n` du menu `Math` (commande
    ).
- Le `math` contient des assistants pour définir une fonction (bouton `fonct`), déterminer le tableau de variations d'une expression (`f(x)`), travailler avec des suites (`u_n`), calculer une somme (`∑`), des limites (`limit`), des dérivées (`∂`), des primitives et valeurs d'intégrales (`∫`), des développement limités (`series`).
  Par exemple pour définir une fonction algébrique `f` d'une variable, cliquer sur `fonct` de `math` puis mettre `f` comme nom de fonction, `x` comme liste des arguments et `sin(x^2)` comme valeur renvoyéee :
  . On peut ensuite calcule la valeur de `f` ou de sa dérivée par
  .
  Une dérivée se calcule avec
  ou `'`. Une primitive d'une expression se calcule avec
  , par exemple
  , pour une intégrale entre deux bornes
  .
  Enfin
  et
  permettent de calculer une limite ou un développement de Taylor, par exemple
- Utiliser l'assistant `aléa` de `math` pour générer des nombres pseudo-aléatoires.
  Lois continues:
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  .
  Lois discrètes :
  ,
  ,
  ,
  .
  Les distributions cumulées s'obtiennent en rajoutant le suffixe `_cdf` ou par la commande
  , et les inverses avec le suffixe `_icdf` ou par la commande
  .
  La commande
  permet de représenter un histogramme.
  La commande
  permet de décomposer une matrice de transition.
- Utiliser les assistants du bouton `math` pour créer un graphe d'une fonction d'une ou deux variables (`plot`, voir aussi `f(x)` pour avoir un tableau de variations), une courbe ou surface paramétrique (`param`), un champ de tangentes pour une équation différentielle (`field`).
  Exemples
  affiche le graphe 2d des fonctions sin(x) et x-x^3/6, alors que
  affiche un graphe 3d avec un plan, vous pouvez changer de point de vue à la souris.
  Vous pouvez aussi utiliser de nombreuses instructions géométriques:
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  ,
  , ...
- Si vous n'avez jamais programmé, vous pouvez apprendre à le faire avec la tortue, cliquez sur le tutoriel `Tortue`.
  Le bouton `Prog` affiche des assistants pour créer les structures de programmation (test, boucle, fonction). Pour passer à la ligne dans un champ d'entrée déjà validé que vous modifiez, tapez Entree. Dans la ligne de commande en bas de page, il faut taper simultanément sur Shift-Entree ou utiliser le bouton `\n`. Pour indenter, utilisez le bouton `→|`. Le bouton `debug` permet d'exécuter une fonction en mode pas à pas pour la mettre au point.
  Plusieurs syntaxes sont acceptées, dont une syntaxe en francais très proche du langage algorithmique et une syntaxe compatible avec
  Vous pouvez afficher un
  , regarder les sessions exemples ou lire le manuel de programmation lycée.
  La syntaxe Python dans Xcas permet aux utilisateurs du langage Python une prise en main plus rapide de Xcas. Il faut prendre quelques précautions :
  - activez la compatibilité de syntaxe Python dans la configuration (bouton en haut à gauche), afin que les assistants utilisent des structures de controle Python et que certaines commandes comme `int` aient le même comportement qu'en Python.
  - la syntaxe Python est activée lorsqu'on commence une commande par un commentaire Python (`#`), ou une structure de controle Python (`def ...:`, `if...:`, ...).
  - la compatibilité se limite à la programmation impérative courante: test, boucle, fonction, slices, liste en compréhension simple. La programmation orientée objet n'est pas supportée, `yield`, le `else` en fin de `for/while` ou les listes en compréhension imbriquées non plus.
  - il est inutile de charger des modules avec `import`, toutes les instructions Xcas sont directement accessibles. Les instructions built-in Python fonctionnent en général en Xcas (sauf pour les chaines) ainsi que le module `random` (et `math/cmath` bien sur). Par contre les modules comme `matplotlib, scipy, numpy` ne sont pas supportés, il faut utiliser des instructions natives Xcas à la place (utilisez l'assistant Maths pour trouver les plus courantes). Réciproquement, une session Xcas écrite en syntaxe Python qui contient des objets CAS (expressions symboliques, flottants multi-précisions, ...) ou certaines commandes intégrées de Xcas (par exemple commandes de tracé) ne fonctionnera pas en Python pur.
  - choisissez des noms de fonction commencant par une majuscule pour éviter les conflits avec des noms de commande de Xcas. Il est conseillé de déclarer les variables locales dans une fonction avec un commentaire `# local nom_des_variables_locales`
  - les délimiteurs de chaines de caractères sont `"..."`, en effet `'...'` sert en calcul formel à différer l'évaluation d'une expression
  - la division de deux entiers renvoie un rationnel (ou un entier), et pas un nombre flottant
  - `^` est synonyme de `**`
  - `liste1+liste2` ne concatène pas deux listes mais les additionne comme des vecteurs, utilisez `liste1.extend(liste2)` pour concaténer, `n*liste` ne duplique pas une liste, utilisez `liste*n`.
  - `=` est traduit en `:=`. On peut bien sur utiliser `:=` pour l'affectation à la place de `=`, mais il n'est pas possible d'utiliser certaines facilités de notation Xcas comme par exemple `P:=x^3-2x+1; P(x=x+1)` (il faudrait utiliser ici `subst(P,x,x+1)`)
  - l'affectation dans une liste se fait par référence en Python, dans Xcas elle se fait par valeur si on utilise `=`, par référence avec `=<`.
  Voici un programme calculant la somme des carrés de 1 à x écrit en syntaxe Xcas
  `fonction f(x)
  local y,s;
  si x > 100000 alors retourne "Nombre trop grand"; fsi;
  s:=0;
  pour y de 1 jusque x faire
  s:=s+y^2;
  fpour
  retourne s;
  ffonction:;`
  En syntaxe compatible Python
  `def f(x):
  # local y,s
  if x > 100000:
  return "Nombre trop grand"
  s=0
  for y in range(x+1):
  s=s+y**2
  return s
  `
- La tortue est un module pour apprendre à programmer, utilisable dès le primaire. Il s'agit d'un robot qui se déplace selon des commandes avec un crayon qui marque son passage, avec une couleur donnée.
  Tapez Ctrl-T ou cliquez sur le bouton Prog puis Tortue à droite pour faire apparaitre les commandes de la tortue. Cliquez sur le bouton `nouveau` de la première ligne des commandes de la tortue pour créer un nouveau dessin tortue.
  Deux champs d'entrée sont créés, le premier pour définir des fonctions, le second pour saisir en-dessous de la commande `efface` des commandes de déplacement de la tortue ou des appels à des fonctions (définies auparavant au-dessus), La barre de bouton à droite du bouton `nouveau` `av rec td ...` permet de saisir facilement les commandes de déplacement, comme `avance` (la tortue avance de 10 pas ou de la longueur indiquée en paramètre), `recule`, `tourne_droite` (la tortue tourne à droite, par défaut de 90 degrés), etc.
  Par exemple, si vous cliquez juste en-dessous de `efface`, puis sur le bouton `av` puis sur le bouton `tg` puis validez la ligne, la tortue se déplacera de 10 pixels vers la gauche puis s'orientera vers le haut.
  Le premier champ d'entrée sert à définir des fonctions regroupant plusieurs instructions de déplacement, il peut contenir des tests et des boucles. Vous pouvez vous aider des assistants `test`, `boucle` et `fonct` pour créer une nouvelle fonction.
  Voici un exemple de construction de carrés et polygones réguliers Xcas, Python, ou Joyeux Xcas, Joyeux Xcas (version Python)
  Le manuel tortue de Xcas explique ces commandes et contient de nombreux exemples d'activités dès le primaire.

Choisir un tracé de
ou
Expression
variable x
xmin -4
xmax 4
xstep 0.0625
Expression
1ère variable x===-3..3
2ème variable y===-3..3
xstep 0.25
ystep 0.25
Choisir un tracé de
ou
paramétrique.
x(t)=
y(t)=
variablet
tmin -4
tmax 4
tstep 0.0625
x(u,v)=
y(u,v)=
z(u,v)=
1ère variable u===-3..3
2ème variable v===-3..3
ustep 0.25
vstep 0.25
f(x,y)=
Variable xx===-3..3
Variable yy===-3..3
xstep 0.25
ystep 0.25
niveaux=
Champ des tangentes pour une équation dy/dt=f(t,y) ou un système autonome 2-d d[x,y]/dt=f(x,y)
f=
Variable t (ou x)t===-3..3
Variable yy===-3..3
xstep 0.25
ystep 0.25
init=
Courbe en polaire
expression
variable θ t
θmin
θmax
θstep
Équation différentielle
Variable t, inconnue y
Conditions initiales optionnelles
Développement limité
expression
variable x
en
ordre
Polynome polynom
Limite de :
expression
variable x
en
Direction optionnelle
Intégrale de
expression
variable x
de (optionnel)
à (optionnel)
Somme de
expression
variable j
de (optionnel)
à (optionnel)
Dérivée de
expression
variable x
Nombre de dérivées 1
Loi actuelle , paramètres optionnels
Choisir une autre loi
ou
ou ou ou
Moyenne, Ecart-type, Quartiles, Histogramme, Boite a moustache,
Nuage de points reliés, Régression linéaire
Risque α=

- Intervalle de confiance : (n=≥30, p=), (μ=, σ= n=)
  ,
- Adéquation data/data : , , ou
- Adéquation data/loi : ou : μ= (σ= optionnel),
  Alternative H1 <, ≠, >

: par
(j,k)-> (indices de 0 à taille-1)
Lignes - , colonnes -
Générer par nombres ou selon une
Entiers entre 0 et n ou n et -n avec n=
Choisir type de boucle
ou
pour
de
jusque
pas optionnel
Tests :
tantque
Résoudre
l'équation ou le système
d'inconnue(s)
Choisir entre
ou
Relation(s) de récurrence
Suite(s) inconnue(s) u(n)
Conditions initiales u(0)===1
u_(n+1)=f(u_n) avec f(x):= et u(0)=
Nombre de termes n= 10
Représentation graphique entre 0 et 2
Tests :
si
alors
sinon (optionnel)
Nouvelle fonction
nom de la fonction f
liste des arguments x
variables locales
valeur renvoyée
Création d'une séquence ou tableau de valeurs,
expression
variable
de
jusque
Pas optionnel
Choisir entre étude de
ou de
Étude de fonction (dans la console) et tracé de
f( x) :=
xmin -4
xmax 4
xstep 0.0625
Option : diff
.
x1 (t):=
y1(t):=
tmin -4
tmax 4
tstep 0.0625

# Restauration de la session en cours

### Console

Downloading...