Table des matières
Chapitre 1 Vue d’ensemble de
Xcas
pour le programmeur
1.1 Installation de
Xcas
1.2 Les différents modes
1.3 Éditer, sauver, exécuter un programme avec la syntaxe
Xcas
1.4 Débugger un programme avec la syntaxe
Xcas
1.5 Présentation générale des instructions avec la syntaxe
Xcas
1.5.1 Les commentaires
1.5.2 Le bloc
1.5.3 Les variables globales et les variables locales
1.5.4 Les programmes et les fonctions
1.5.5 Les tests
1.5.6 Les boucles
Chapitre 2 Les différentes instructions selon le mode choisi
2.1 Les commentaires
2.1.1 Traduction Algorithmique
2.1.2 Traduction Xcas
2.1.3 Traduction MapleV
2.1.4 Traduction MuPAD
2.1.5 Traduction TI89 92
2.2 Les variables
2.2.1 Leurs noms
2.2.2 Notion de variables locales
2.3 Les paramètres
2.3.1 Traduction Xcas
2.3.2 Traduction MapleV
2.3.3 Traduction MuPAD
2.3.4 Traduction TI89/92
2.4 Les Entrées
2.4.1 Traduction Algorithmique
2.4.2 Traduction Xcas
2.4.3 Traduction MapleV
2.4.4 Traduction MuPAD
2.4.5 Traduction TI89/92
2.5 Les Sorties
2.5.1 Traduction Algorithmique
2.5.2 Traduction Xcas
2.5.3 Traduction MapleV
2.5.4 Traduction MuPAD
2.5.5 Traduction TI89/92
2.6 La séquence d’instructions ou action ou bloc
2.6.1 Traduction Xcas
2.6.2 Traduction MapleV
2.6.3 Traduction MuPAD
2.6.4 Traduction TI89/92
2.7 L’instruction d’affectation
2.7.1 Traduction Algorithmique
2.7.2 Traduction Xcas
2.7.3 Traduction Maple
2.7.4 Traduction MuPAD
2.7.5 Traduction TI89/92
2.8 L’instruction d’affectation par référence
2.9 L’instruction pour faire des hypothèses sur une variable formelle
2.9.1 Traduction Algorithmique
2.9.2 Traduction Xcas
2.9.3 Traduction Maple
2.9.4 Traduction MuPAD
2.9.5 Traduction TI89/92
2.10 L’instruction pour connaitre les contraintes d’une variable
2.10.1 Traduction Algorithmique
2.10.2 Traduction Xcas
2.10.3 Traduction Maple
2.10.4 Traduction MuPAD
2.10.5 Traduction TI89/92
2.11 Les instructions conditionnelles
2.11.1 Traduction Algorithmique
2.11.2 Traduction Xcas
2.11.3 Traduction MapleV
2.11.4 Traduction MuPAD
2.11.5 Traduction TI89/92
2.12 Les instructions "Pour"
2.12.1 Traduction Algorithmique
2.12.2 Traduction Xcas
2.12.3 Traduction MapleV
2.12.4 Traduction MuPAD
2.12.5 Traduction TI89 92
2.13 L’instruction "Tant que"
2.13.1 Traduction Algorithmique
2.13.2 Traduction Xcas
2.13.3 Traduction MapleV
2.13.4 Traduction MuPAD
2.13.5 Traduction TI89/92
2.14 L’instruction "repeter"
2.14.1 Traduction Algorithmique
2.14.2 Traduction Xcas
2.14.3 Traduction MapleV
2.14.4 Traduction MuPAD
2.14.5 Traduction TI89/92
2.15 Les conditions ou expressions booléennes
2.15.1 Les opérateurs relationnels
2.15.2 Les opérateurs logiques
2.16 Les fonctions
2.16.1 Traduction Algorithmique
2.16.2 Traduction Xcas
2.16.3 Traduction MapleV
2.16.4 Traduction MuPAD
2.16.5 Traduction TI89 92
2.17 Les listes
2.17.1 Traduction Algorithmique
2.17.2 Traduction Xcas
2.17.3 Traduction MapleV
2.17.4 Traduction MuPAD
2.17.5 Traduction TI89/92
2.18 Un exemple : le crible d’Eratosthène
2.18.1 Description
2.18.2 Écriture de l’algorithme
2.18.3 Traduction Xcas
2.18.4 Traduction TI89/92
2.19 Un exemple de fonction vraiement récursive
2.19.1 La définition
2.19.2 Le programme
Chapitre 3 Les exercices d’algorithmiques au baccalauréat série S
3.1 Trois exercices classiques
3.1.1 La série harmonique
3.1.2 Le compte bancaire
3.1.3 La suite de Syracuse
3.2 En 2009 Centre étrangers
3.3 En 2010 Amérique du sud
3.4 En 2011 La Réunion
3.5 En 2012 France
3.6 D’autres algorithmes sur ce modèle
3.6.1 Calcul de 1+2+..+
n
2
3.6.2 Calcul de 1+1/4+..+1/
n
2
3.6.3 Calcul des termes de la suite de Fibonacci
Chapitre 4 Des programmes tres simples sur les chaînes de caractères
4.1 Compter un nombre d’occurences
4.1.1 Nombre d’occurences d’une lettre
4.1.2 Nombre d’occurences d’une sous-chaîne
4.2 Supprimer une lettre et sous-chaîne
4.2.1 Supprimer une lettre
4.2.2 Supprimer une sous-chaîne
4.3 Remplacer une lettre ou une sous-chaîne par une autre chaîne
4.3.1 Remplacer une lettre par une autre lettre
4.3.2 Remplacer une sous-chaîne par une autre
Chapitre 5 Des programmes tres simples pour les Mathématiques
5.1 Définir le minimum
5.1.1 Minimum de 2 nombres
5.1.2 Minimum de 3 nombres
5.1.3 Minimum d’une liste de nombres
5.2 Trier
5.2.1 Ordonner 2 nombres par ordre croissant
5.2.2 Ordonner 3 nombres par ordre croissant
5.2.3 Ordonner une séquence de nombres par ordre croissant
5.3 Définir une fonction par morceaux
5.4 Convertir
5.4.1 Des secondes en jours, heures, minutes et secondes
5.4.2 Des degrés en radians
5.4.3 Des radians en degrés
5.5 Les fractions
5.5.1 Simplifier une fraction
5.5.2 Additionner 2 fractions
5.5.3 Multiplier 2 fractions
Chapitre 6 Des programmes tres simples pour les Statistiques
6.1 Simulation du lancer d’une pièce
6.2 Simulation d’un dé
6.3 Simulation d’une variable aléatoire
6.4 Simulation d’une variable aléatoire
6.5 Comment simplifier √
a
+√
b
lorsque (
a
,
b
)∈ ℕ
2
Chapitre 7 Les programmes d’arithmétique
7.1 Quotient et reste de la division euclidienne
7.1.1 Les fonctions iquo, irem et smod de
Xcas
7.1.2 Activité
7.2 Calcul du PGCD par l’algorithme d’Euclide
7.2.1 Traduction algorithmique
7.2.2 Traduction Xcas
7.2.3 Traduction MapleV
7.2.4 Traduction MuPAD
7.2.5 Traduction TI89 92
7.2.6 Le pgcd dans ℤ[
i
]
7.2.7 Le pgcd dans ℤ[
i
√
2
]
7.3 Identité de Bézout par l’algorithme d’Euclide
7.3.1 Version itérative sans les listes
7.3.2 Version itérative avec les listes
7.3.3 Version récursive sans les listes
7.3.4 Version récursive avec les listes
7.3.5 Traduction Xcas
7.4 Décomposition en facteurs premiers d’un entier
7.4.1 Les algorithmes et leurs traductions algorithmiques
7.4.2 Traduction Xcas
7.5 Décomposition en facteurs premiers en utilisant le crible
7.5.1 Traduction Algorithmique
7.5.2 Traduction Xcas
7.6 La liste des diviseurs
7.6.1 Les programmes avec les élèves
7.6.2 Le nombre de diviseurs d’un entier
n
7.6.3 L’algorithme sur un exemple
7.6.4 Les algorithmes donnant la liste des diviseurs de n
7.7 La liste des diviseurs avec la décomposition en facteurs premiers
7.7.1
FPDIV
7.7.2
CRIBLEDIV
7.7.3 Traduction Algorithmique
7.8 Calcul de
A
P
mod
N
7.8.1 Traduction Algorithmique
7.8.2 Traduction Xcas
7.8.3 Un exercice
7.9 La fonction "estpremier"
7.9.1 Traduction Algorithmique
7.9.2 Traduction Xcas
7.10 La fonction estpremc en utilisant le crible
7.10.1 Traduction algorithmique
7.10.2 Traduction Xcas
7.11 Méthode probabiliste de Mr Rabin
7.11.1 Traduction Algorithmique
7.11.2 Traduction Xcas
7.12 Méthode probabiliste de Mr Miller-Rabin
7.12.1 Un exemple
7.12.2 L’algorithme
7.12.3 Traduction Algorithmique
7.12.4 Traduction Xcas
7.13 Numération avec Xcas
7.13.1 Passage de l’écriture en base dix à une écriture en base b
7.13.2 Passage de l’écriture en base b de n à l’entier n
7.13.3 Un exercice et sa solution
7.14 Écriture d’un entier dans une base rationnelle
7.15 Traduction Xcas de l’algorithme de Hörner
7.16 Savoir si le polynôme
A
est divisible par
B
7.16.1 Programmation de la fonction booléenne
estdivpoly
7.16.2 Autre version du programme précedent :
quoexpoly
7.17 Affichage d’un nombre en une chaîne comprenant des espaces
7.17.1 Affichage d’un nombre entier par tranches de
p
chiffres
7.17.2 Transformation d’un affichage par tranches en un nombre entier
7.17.3 Affichage d’un nombre décimal de [0,1[ par tranches de
p
chiffres
7.17.4 Affichage d’un nombre décimal par tranches de
p
chiffres
7.18 Écriture décimale d’un nombre rationnel
7.18.1 Algorithme de la potence
7.18.2 Avec un programme
7.18.3 Construction d’un rationnel
7.19 Développement en fraction continue
7.19.1 Développement en fraction continue d’un rationnel
7.19.2 Développement en fraction continue d’un réel quelconque
7.19.3 Les programmes
7.19.4 Exemples
7.19.5 Suite des réduites successives d’un réel
7.19.6 Suite des réduites "plus 1" successives d’un réel
7.19.7 Propriété des réduites
7.20 Suite de Hamming
7.20.1 La définition
7.20.2 L’algorithme à l’aide d’un crible
7.20.3 L’algorithme sans faire un crible
7.20.4 La traduction de l’algorithme avec Xcas
7.21 Développement diadique de
a
/
b
∈ [0;1[
7.21.1 L’énoncé
7.21.2 La solution
7.22 Écriture d’un entier comme ∑
j
≥ 1
a
j
j
! avec 0≤
a
j
<
j
7.22.1 L’énoncé
7.22.2 La solution
7.23 Les nombres de Mersenne
7.23.1 Définitions et téorèmes
7.23.2 Test de Lucas-Lehmer
7.24 Les nombres parfaits et les nombres amiables
7.24.1 Les nombres parfaits
7.24.2 Les nombres amiables
7.25 Les parallélépipèdes rectangles presque parfaits
7.25.1 L’énoncé
7.25.2 La solution
7.26 Les nombres heureux
7.26.1 L’énoncé
7.26.2 La solution
7.27 L’équation de Pell
7.27.1 Les proriétés
7.27.2 Le programme
Chapitre 8 Exercices de combinatoire
8.1 Fonction partage ou nombre de partitions de
n
∈ ℕ
8.1.1 L’énoncé
8.1.2 La solution
8.1.3 Une méthode plus rapide
8.1.4 Estimation asymptotique
8.2 Un exercice de combinatoire et son programme
8.2.1 L’énoncé
8.2.2 Les programmes
8.3 Visualistion des combinaisons modulo 2
8.3.1 L’énoncé
8.3.2 Le programme
8.4 Un exercice
8.5 Valeur de
e
et le hasard
8.5.1 L’énoncé
8.5.2 La solution avec
Xcas
8.6 Distance moyenne entre de 2 points
8.6.1 L’énoncé
8.6.2 La solution avec
Xcas
Chapitre 9 Les graphes et l’algorithme de Dijkstra
9.1 L’algorithme sur un exemple
9.2 Déscription de l’algorithme de Dijkstra
9.3 Le programme
9.4 Le chemin le plus court d’un sommet à un autre
Chapitre 10 Exercices sur trigonométrie et complexes
10.1 Les polynômes de Tchebychev
10.1.1 L’énoncé
10.1.2 La solution avec
Xcas
Chapitre 11 Codage
11.1 Codage de Jules Cesar
11.1.1 Introduction
11.1.2 Codage par symétrie point ou par rotation d’angle π
11.1.3 Avec les élèves
11.1.4 Travail dans Z/26Z
11.1.5 Codage par rotation d’angle α=
k
*π/13
11.2 Écriture des programmes correspondants
11.2.1 Passage d’une lettre à un entier entre 0 et 25
11.2.2 Passage d’un entier entre 0 et 25 à une lettre
11.2.3 Passage d’un entier k entre 0 et 25 à l’entier n+k mod 26
11.2.4 Codage d’un message selon Jules César
11.3 Codage en utilisant une symétrie par rapport à un axe
11.3.1 Passage d’un entier k entre 0 et 25 à l’entier n-k mod 26
11.3.2 Codage d’un message selon une symétrie droite D
11.4 Codage en utilisant une application affine
11.5 Codage en utilisant un groupement de deux lettres
11.6 Le codage Jules César et le codage linéaire
11.6.1 Les caractères et leurs codes
11.6.2 Les différentes étapes du codage
11.6.3 Le programme Xcas
11.6.4 Le programme C++
11.6.5 Exercices de décodage
11.6.6 Solutions des exercices de décodage Jules César et linéaire
11.7 Chiffrement affine : premier algorithme
11.7.1 L’algorithme
11.7.2 Traduction Algorithmique
11.7.3 Traduction Xcas
11.8 Chiffrement affine : deuxième algorithme
11.8.1 L’algorithme
11.8.2 Traduction Algorithmique
11.8.3 Traduction Xcas
11.9 Devoir à la maison
11.9.1 Le code Ascii
11.10 Codage RSA
11.10.1 Le principe du codage avec clé publique et clé secrète
11.10.2 Codage avec signature, clé publique et clé secrète
11.10.3 Le cryptage des nombres avec la méthode RSA
11.10.4 La fonction de codage
11.11 Les programmes correspondants au codage et décodage RSA
11.11.1 Un exemple
11.11.2 Exercices de décodage RSA avec différents paramètres
11.11.3 Solutions des exercices de décodage
11.12 Codage RSA avec signature
11.12.1 Quelques précautions
Chapitre 12 Algorithmes sur les suites et les séries
12.1 Les suites
12.1.1 Les suites
u
n
=
f
(
n
)
12.1.2 La représentation des suites
u
n
=
f
(
n
)
12.1.3 La représentation des suites récurrentes
u
0
=
a
,
u
n
=
f
(
u
n
−1
)
12.1.4 La représentation des suites récurrentes [
u
0
,
u
1
,...
u
s
−1
]=
la
,
u
n
=
f
(
u
n
−
s
...,
u
n
−1
) si
n
>=
s
12.1.5 L’escargot des suites récurrentes
u
(0)=
a
,
u
(
n
)=
f
(
u
(
n
−1) si
n
>0
12.1.6 Les suites récurrentes définies par une fonction de plusieurs variables
12.2 Les séries
12.2.1 Les sommes partielles
12.2.2 Un exemple simple : une approximation de
e
12.2.3 Exemple d’accélération de convergence des séries à termes positifs
12.3 Méthodes d’accélération de convergence des séries alternées
12.3.1 Un exemple d’accélération de convergence des séries alternées
12.3.2 La transformation d’Euler pour les series alternées
12.3.3 Autre approximation d’une série alternée
12.3.4 Transformation d’une série en série alternée
12.4 Développements asymptotiques et séries divergentes
12.4.1 Un exemple:la fonction exponentielle intégrale
12.4.2 Le calcul approché de la constante d’Euler γ
12.5 Solution de
f
(
x
)=0 par la méthode de Newton
12.5.1 La méthode de Newton
12.5.2 Exercices sur la méthode de Newton
12.5.3 La méthode de Newton avec préfacteur
12.6 Trouver un encadrement de
x
0 lorsque
f
(
x
0) est minimum
12.6.1 Déscription du principe de la méthode
12.6.2 Déscription de 2 méthodes
12.6.3 Traduction
Xcas
de l’algorithme avec Fibonacci
Chapitre 13 Algorithmes d’algébre
13.1 Méthode pour résoudre des systèmes linéaires
13.1.1 Le pivot de Gauss quand
A
est de rang maximum
13.1.2 Le pivot de Gauss pour
A
quelconque
13.1.3 La méthode de Gauss-Jordan
13.1.4 La méthode de Gauss et de Gauss-Jordan avec recherche du pivot
13.1.5 Application : recherche du noyau grâce à Gauss-Jordan
13.2 Résolution d’un système linéaire
13.2.1 Résolution d’un système d’équations linéaires
13.2.2 Résolution de
MX
=
b
donné sous forme matricielle
13.3 La décomposition LU d’une matrice
13.4 Décomposition de Cholesky d’une matrice symétrique définie positive
13.4.1 Les méthodes
13.4.2 Le programme de factorisation de Cholesky avec LU
13.4.3 Le programme de factorisation de Cholesky par identification
13.4.4 Le programme optimisé de factorisation de Cholesky par identification
13.5 Réduction de Hessenberg
13.5.1 La méthode
13.5.2 Le programme de réduction de Hessenberg
13.6 Tridiagonalisation des matrices symétriques avec des rotations
13.6.1 Matrice de rotation associée à
e
p
,
e
q
13.6.2 Réduction de Givens
13.6.3 Le programme de tridiagonalisation par la méthode de Givens
13.7 Tridiagonalisation des matrices symétriques avec Householder
13.7.1 Matrice de Householder associée à
v
13.7.2 Matrice de Householder annulant les dernières composantes de
a
13.7.3 Réduction de Householder
Chapitre 14 Le calcul intégral et les équations différentielles
14.1 La méthode des trapèzes et du point milieu pour calculer une aire
14.1.1 La méthode des trapèzes
14.1.2 La méthode du point milieu
14.2 Accélération de convergence : méthode de Richardson et Romberg
14.2.1 La méthode de Richardson
14.2.2 Application au calcul de S=∑
k
=1
∞
1/
k
2
14.2.3 Application au calcul de la constante d’Euler
14.2.4 La constante d’Euler à epsilon près et ma méthode de Richardson
14.2.5 La méthode de Romberg
14.2.6 Deux approximations de l’intégrale
14.3 Les méthodes numériques pour résoudre
y
′=
f
(
x
,
y
)
14.3.1 La méthode d’Euler
14.3.2 La méthode du point milieu
14.3.3 La méthode de Heun
Chapitre 15 Exercice : Les courses poursuites
15.1 Le chien qui va en direction de son maitre
15.2 Avec les sommets d’isopolygônes
15.3 Avec les sommets de polygônes quelconques
15.4 Avec des points aléatoires
Chapitre 16 Les quadriques
16.1 Équation d’une quadrique
16.2 Équation reduite d’une quadrique
Chapitre 17 Quelques compléments
17.1 Pour réutiliser le graphe d’une fonction utilisateur
17.2 Les programmes de quadrillage
Chapitre 18 Les programmes récursifs
18.1 Avec des chaines de caractères
18.1.1 Une liste de mots
18.1.2 Les mots
18.1.3 Les palindromes
18.2 Les dessins récursifs
18.2.1 Les segments
18.2.2 Les carrés
18.2.3 Les triangles
18.2.4 Exercice
18.2.5 Des triangles équilatéraux emboiés
18.2.6 Le problème des 3 insectes
18.2.7 Les cercles
18.3 Les tours de Hanoï
18.4 Les permutations
18.4.1 Les permutations circulaires
18.4.2 Programme donnant toutes les permutations d’une liste
l
Chapitre 19 Récupérer et installer un logiciel