[PDF] [PDF] Programmation avec Xcas ou Python

Xcas GA, JG, JMM (IREM de Lyon) programmer xcas python Mars 2012 Listes Et avec une liste de listes – Xcas Écrire une fonction Euclide(a,b) (a et b 



Previous PDF Next PDF





[PDF] Calcul formel et Mathématiques avec Xcas - Institut Fourier

6 juil 2013 · 2 5 3 L'affectation par référence dans une variable désignant un élément d'une liste ou d'une matrice : =< 97 2 5 4 L'incrémentation 



[PDF] Fiches Xcas

Xcas, au départ un logiciel de calcul formel, permet aujourd'hui de faire de les séquences (1,2,3) (une matrice est une liste de listes de même longueur, une



[PDF] Démarrer en Xcas

Les fonctions symb2poly et poly2symb permettent de passer de la représentation expression à la représentation par liste et inversement, le deuxième argument 



[PDF] Démarrer en Xcas

Xcas est un logiciel libre de calcul formel, développé à l'Université Joseph Les listes peuvent contenir des listes (c'est le cas des matrices), alors que les 



[PDF] Quelques commandes XCAS - IREM Clermont-Ferrand

XCAS et la programmation XCAS un logiciel de calcul formel ou une liste d' expressions dont on veut la représentation graphique, puis la variable (éven-



[PDF] Programmation avec Xcas ou Python

Xcas GA, JG, JMM (IREM de Lyon) programmer xcas python Mars 2012 Listes Et avec une liste de listes – Xcas Écrire une fonction Euclide(a,b) (a et b 



[PDF] Résumé du logiciel XCas - E-Formation / Moodle UHA

Résumé du logiciel XCas 1 Opérations sur les listes, les suites et les ensembles 3 si a est un complexe et p ≤ n des entiers, makelist(a, p, n) crée la liste 



[PDF] Fiche Xcas linterface - Christian Schultz

Le programme Xcas est un logiciel libre écrit en C++, (disponible sous Une matrice est une liste de listes de même longueur, une séquence ne peut pas



[PDF] Fiche PanaMaths Calculs avec les fonctions sous Xcas

Fonction simple Si, par exemple, nous souhaitons définir sous Xcas la fonction 3 Sous Xcas, on pourra définir la fonction s de la façon suivante (liste non



[PDF] Prise en main de Xcas - Case des Maths

19 oct 2011 · Xcas est un logiciel multi-fonctions de mathématiques Il permet Pour les séries à deux variables stockées dans deux listes A et B on a :

[PDF] indice grammatical

[PDF] taylor xcas

[PDF] les indices de l'énonciation dans un texte pdf

[PDF] outils grammaticaux et lexicaux

[PDF] total en pourcentage excel

[PDF] outils grammaticaux français

[PDF] la répartition des hommes et des femmes par métiers

[PDF] les outils grammaticaux

[PDF] métiers hommes femmes

[PDF] outils grammaticaux definition

[PDF] indice textuel definition

[PDF] insee observatoire des inégalités

[PDF] grille horaire bac pro

[PDF] grille horaire hebdomadaire bac pro 3 ans

[PDF] grille horaire bac pro commerce

Programmation avec Xcas ou Python

G. Aldon - J. Germoni - J.-M. Meny

IREM de Lyon

Mars 2012

GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 1 / 20

Environnement

Editeur XcasLe texte d'un programme s'ecrit dans l'editeur de programmes de Xcas.Cet editeur s'ouvre par le raccourci alt+P (ou en passant par les menus).Lorsque le texte du programme est tape, on le valide/compile en cliquant sur la touche OK. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 2 / 20

Environnement

Editeur XcasLe texte d'un programme s'ecrit dans l'editeur de programmes de Xcas.Cet editeur s'ouvre par le raccourci alt+P (ou en passant par les menus).Lorsque le texte du programme est tape, on le valide/compile en cliquant sur la touche OK. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 2 / 20

Environnement

Editeur XcasLe texte d'un programme s'ecrit dans l'editeur de programmes de Xcas.Cet editeur s'ouvre par le raccourci alt+P (ou en passant par les menus).Lorsque le texte du programme est tape, on le valide/compile en cliquant sur la touche OK. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 2 / 20

Environnement

Editeur PythonIl existe plusieurs editeurs de texte dedies a Python. Un bon choix sous windows : pythonxy avec l'editeur spyder.

Sous Linux, spyder.

Ou pythonner avec SAGE.

GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 3 / 20

Environnement

Editeur PythonIl existe plusieurs editeurs de texte dedies a Python. Un bon choix sous windows : pythonxy avec l'editeur spyder.

Sous Linux, spyder.

Ou pythonner avec SAGE.

GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 3 / 20

Environnement

Editeur PythonIl existe plusieurs editeurs de texte dedies a Python. Un bon choix sous windows : pythonxy avec l'editeur spyder.

Sous Linux, spyder.

Ou pythonner avec SAGE.

GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 3 / 20

Environnement

Commenter ses programmes

Une bonne habitude : commenter abondamment ses programmes.Avec XCAS : ligne commencant par // commentaires longs : ouverture par /et fermeture par/.Avec Python : commencer la ligne par # commentaire long commencant par """ et termine par """. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 4 / 20

Environnement

Commenter ses programmes

Une bonne habitude : commenter abondamment ses programmes.Avec XCAS : ligne commencant par // commentaires longs : ouverture par /et fermeture par/.Avec Python : commencer la ligne par # commentaire long commencant par """ et termine par """. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 4 / 20

Environnement

Commenter ses programmes

Une bonne habitude : commenter abondamment ses programmes.Avec XCAS : ligne commencant par // commentaires longs : ouverture par /et fermeture par/.Avec Python : commencer la ligne par # commentaire long commencant par """ et termine par """. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 4 / 20

Structures de contr^oleBoucles et tests

Structures POUR et SI avec XCAS

Entrer et tester le programme qui suit :Xcas

saisir(a,b); d :=1; pour k de 2 jusque min(a,b) faire si irem(a,k)==0 et irem(b,k)==0 alors d :=k;fsi; fpour; acher(d);Ifekoi? GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 5 / 20

Structures de contr^oleBoucles et tests

Structures POUR et SI avec Python

Entrer et tester le programme qui suit :Python

a=input("Entrer un entier positif a ") b=input("Entrer un entier positif b ") d=1 for k in range(2,min(a,b)+1) : if a%k==0 and b%k==0 : d=k print dIfekoi? GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 6 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { XCAS

Entrer :Xcas

pgcd(a,b) :=f local d,k; d :=1; pour k de 2 jusque min(a,b) faire si irem(a,k)==0 et irem(b,k)==0 alors d :=k;fsi; fpour;

retourne d;g:;On l'utilise en entrant par exemple en ligne de commandes : pgcd(12,8).local : variables connues uniquement dans le "champ de calcul" de la

fonction.Dierence entre retourne et acher.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 7 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { XCAS

Entrer :Xcas

pgcd(a,b) :=f local d,k; d :=1; pour k de 2 jusque min(a,b) faire si irem(a,k)==0 et irem(b,k)==0 alors d :=k;fsi; fpour;

retourne d;g:;On l'utilise en entrant par exemple en ligne de commandes : pgcd(12,8).local : variables connues uniquement dans le "champ de calcul" de la

fonction.Dierence entre retourne et acher.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 7 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { XCAS

Entrer :Xcas

pgcd(a,b) :=f local d,k; d :=1; pour k de 2 jusque min(a,b) faire si irem(a,k)==0 et irem(b,k)==0 alors d :=k;fsi; fpour;

retourne d;g:;On l'utilise en entrant par exemple en ligne de commandes : pgcd(12,8).local : variables connues uniquement dans le "champ de calcul" de la

fonction.Dierence entre retourne et acher.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 7 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { Python

Entrer :Python

def pgcd(a,b) : d=1 for k in range(2,min(a,b)+1) : if a%k==0 and b%k==0 : d=k return dOn l'utilise par exemple en executant : print pgcd(132,8)

D = pgcd(132,8)

(int er^et: r eutiliserle r esultat!) Localite : une variable aectee dans une fonction estlocale.Dierence entre return et print. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 8 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { Python

Entrer :Python

def pgcd(a,b) : d=1 for k in range(2,min(a,b)+1) : if a%k==0 and b%k==0 : d=k return dOn l'utilise par exemple en executant : print pgcd(132,8)

D = pgcd(132,8)

(int er^et: r eutiliserle r esultat!) Localite : une variable aectee dans une fonction estlocale.Dierence entre return et print. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 8 / 20

Structures de contr^oleFonctions et modularite

Conception comme fonction, it's better { Python

Entrer :Python

def pgcd(a,b) : d=1 for k in range(2,min(a,b)+1) : if a%k==0 and b%k==0 : d=k return dOn l'utilise par exemple en executant : print pgcd(132,8)

D = pgcd(132,8)

(int er^et: r eutiliserle r esultat!) Localite : une variable aectee dans une fonction estlocale.Dierence entre return et print. GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 8 / 20

Structures de contr^oleBoucles (suites)

Bogue, Structure "TANT QUE" { Xcas

Pour detecter un bug dans un programme, on ache en general des valeurs intermediaires des variables.

Exemple. Tester :Xcas

ifekoi2(a,b) :=f tantque b!=0 faire si a>b alors a :=a-b; sinon b :=b-a; fsi; acher(a,b); ftantque; retourne a;g:;GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 9 / 20

Structures de contr^oleBoucles (suites)

Bogue, Structure "TANT QUE" { Python

Pour detecter un bug dans un programme, on ache en general des valeurs intermediaires des variables.

Exemple. Tester :Python

def ifekoi2(a,b) : while b!=0 : if a>b : a -= b else : b -= a print a,b return a GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 10 / 20

Structures de contr^oleListes

Les listes avec Xcas.

Tester :Xcas

ifekoi3(a,b) :=f local R,r;

R :=[ ]; // R est une liste vide

tantque b!=0 faire r :=irem(a,b);

R :=append(R,r); // on ajoute r a la liste R

a :=b;b :=r; ftantque; retourne R;g:;GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 11 / 20

Structures de contr^oleListes

Les listes avec Python.

Tester :Python

def ifekoi3(a,b) : R=[ ] while b!=0 : r=a%b

R.append(r)

a,b=b,r return R GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 12 / 20

Structures de contr^oleListes

Et avec une liste de listes { Xcas

Ecrire une fonction Euclide(a,b) (a et b entiers naturels non nuls) renvoyant une liste T dont les elements sont des listes contenant les valeurs [ a, b, quotient, reste] de chaque etape de l'algorithme.Xcas euclide(a,b) :=f local q,r,T;

T :=[["a","b","q","r"]];

tantque b!=0 faire (q,r) :=iquorem(a,b);

T :=append(T,[a,b,q,r]);

a :=b;b :=r; ftantque; retourne T;g:;GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 13 / 20

Structures de contr^oleListes

Et avec une liste de listes { Xcas

Ecrire une fonction Euclide(a,b) (a et b entiers naturels non nuls) renvoyant une liste T dont les elements sont des listes contenant les valeurs [ a, b, quotient, reste] de chaque etape de l'algorithme.Xcas euclide(a,b) :=f local q,r,T;

T :=[["a","b","q","r"]];

tantque b!=0 faire (q,r) :=iquorem(a,b);

T :=append(T,[a,b,q,r]);

a :=b;b :=r; ftantque; retourne T;g:;GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 13 / 20

Structures de contr^oleListes

Et avec une liste de listes { Python

Ecrire une fonction Euclide(a,b) (a et b entiers naturels non nuls) renvoyant une liste T dont les elements sont des listes contenant les valeurs [ a, b, quotient, reste] de chaque etape de l'algorithme.Python def euclide(a,b) :

T=[["a","b","q","r"]]

while b!=0 : q,r=a//b,a%b

T.append([a,b,q,r])

a,b=b,r return T GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 14 / 20

Structures de contr^oleListes

Et avec une liste de listes { Python

Ecrire une fonction Euclide(a,b) (a et b entiers naturels non nuls) renvoyant une liste T dont les elements sont des listes contenant les valeurs [ a, b, quotient, reste] de chaque etape de l'algorithme.Python def euclide(a,b) :

T=[["a","b","q","r"]]

while b!=0 : q,r=a//b,a%b

T.append([a,b,q,r])

a,b=b,r return T GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 14 / 20

Structures de contr^oleRecursivite

Recursivite { Xcas

Une fonction recursive est une fonction qui fait un appel a elle-m^eme. Exemple { Tester (aetbentiers positifs non nuls) :Xcas polezzi(a,b,n) :=f si n<=0 alors retourne 0;fsi; retourne polezzi(a,b,n-1)+ oor(n*b/a);g:; ifekoi(a,b) :=fretourne polezzi(a,b,a-1)*2+a+b-a*b;g:;Formule de Marcelo Polezzi polezzi(a,b,a1) calculebba c+b2ba c+b3ba c++b(a1)ba

c.ifekoi(a,b) renvoie le pgcd des entiers naturelsaetb.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 15 / 20

Structures de contr^oleRecursivite

Recursivite { Xcas

Une fonction recursive est une fonction qui fait un appel a elle-m^eme. Exemple { Tester (aetbentiers positifs non nuls) :Xcas polezzi(a,b,n) :=f si n<=0 alors retourne 0;fsi; retourne polezzi(a,b,n-1)+ oor(n*b/a);g:; ifekoi(a,b) :=fretourne polezzi(a,b,a-1)*2+a+b-a*b;g:;Formule de Marcelo Polezzi polezzi(a,b,a1) calculebba c+b2ba c+b3ba c++b(a1)ba

c.ifekoi(a,b) renvoie le pgcd des entiers naturelsaetb.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 15 / 20

Structures de contr^oleRecursivite

Recursivite { Python

Une fonction recursive est une fonction qui fait un appel a elle-m^eme.

Exemple { Tester (aetbentiers naturels) :Python

def polezzi(a,b,n) : if n<=0 : return 0 return polezzi(a,b,n-1) + n*b//a def ifekoi(a,b) : return polezzi(a,b,a-1)*2+a+b-a*bFormule de Marcelo Polezzi polezzi(a,b,a1) calculebba c+b2ba c+b3ba c++b(a1)ba

c.ifekoi(a,b) renvoie le pgcd des entiers naturelsaetb.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 16 / 20

Structures de contr^oleRecursivite

Recursivite { Python

Une fonction recursive est une fonction qui fait un appel a elle-m^eme.

Exemple { Tester (aetbentiers naturels) :Python

def polezzi(a,b,n) : if n<=0 : return 0 return polezzi(a,b,n-1) + n*b//a def ifekoi(a,b) : return polezzi(a,b,a-1)*2+a+b-a*bFormule de Marcelo Polezzi polezzi(a,b,a1) calculebba c+b2ba c+b3ba c++b(a1)ba

c.ifekoi(a,b) renvoie le pgcd des entiers naturelsaetb.GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 16 / 20

Structures de contr^oleRecursivite

Recursivite

Exercice.Donner une version recursive du calcul du pgcd par l'algorithme d'Euclide.Xcas pgcd(a,b) :=f si b==0 alors retourne a;fsi; retourne pgcd(b,irem(a,b));g:;Python def PGCD(a,b) : if b==0 : return a return PGCD(b,a%b) GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 17 / 20

Structures de contr^oleRecursivite

Recursivite

Exercice.Donner une version recursive du calcul du pgcd par l'algorithme d'Euclide.Xcas pgcd(a,b) :=f si b==0 alors retourne a;fsi; retourne pgcd(b,irem(a,b));g:;Python def PGCD(a,b) : if b==0 : return a return PGCD(b,a%b) GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 17 / 20

Structures de contr^oleRecursivite

Recursivite

ExerciceDonner une version recursive du calcul du pgcd d'une liste d'entiers positifs non nuls (presentant au moins deux elements).Xcas pgc(L) :=f si dim(L)==2 alors si L[1]==0 alors retourne L[0]; sinon retourne pgc([L[1],irem(L[0],L[1])]);fsi; sinon retourne pgc([L[0],pgc(tail(L))]); fsi;g:;Exemple d'utilisation : pgc ([120,3,9]). GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 18 / 20

Structures de contr^oleRecursivite

Recursivite

ExerciceDonner une version recursive du calcul du pgcd d'une liste d'entiers positifs non nuls (presentant au moins deux elements).Xcas pgc(L) :=f si dim(L)==2 alors si L[1]==0 alors retourne L[0]; sinon retourne pgc([L[1],irem(L[0],L[1])]);fsi; sinon retourne pgc([L[0],pgc(tail(L))]); fsi;g:;Exemple d'utilisation : pgc ([120,3,9]). GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 18 / 20

Structures de contr^oleRecursivite

Recursivite

ExerciceDonner une version recursive du calcul du pgcd d'une liste d'entiers positifs non nuls (presentant au moins deux elements).Python def pgc(L) : if len(L)==2 : if L[1]==0 : return L[0] else : return pgc([L[1],L[0]%L[1]]) else : return pgc([L[0],pgc(L[1 :])])Exemple d'utilisation : print pgc ([120,3,6]). GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 19 / 20

Structures de contr^oleRecursivite

Recursivite

Et avec les coecients de Bachet-Bezout :Xcas

bezout(a,b) :=f local d,x,y; si b==0 alors retourne [a,1,0];fsi; [d,x,y] :=bezout(b,irem(a,b)); [x,y] :=[y,x-iquo(a,b)*y]; retourne [d,x,y];g:;Python def bezout(a,b) : if b==0 : return (a,1,0) (d,x,y)=bezout(b,a%b) x,y=y,x-a//b*y return (d,x,y) GA, JG, JMM (IREM de Lyon)programmer xcas pythonMars 2012 20 / 20quotesdbs_dbs16.pdfusesText_22