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 Des programmes tres simples sur les chaînes de caractères
3.1 Compter un nombre d’occurences
3.1.1 Nombre d’occurences d’une lettre
3.1.2 Nombre d’occurences d’une sous-chaîne
3.2 Supprimer une lettre et sous-chaîne
3.2.1 Supprimer une lettre
3.2.2 Supprimer une sous-chaîne
3.3 Remplacer une lettre ou une sous-chaîne par une autre chaîne
3.3.1 Remplacer une lettre par une autre lettre
3.3.2 Remplacer une sous-chaîne par une autre
Chapitre 4 Des programmes pour les Mathématiques tres simples
4.1 Définir le minimum
4.1.1 Minimum de 2 nombres
4.1.2 Minimum de 3 nombres
4.1.3 Minimum d’une liste de nombres
4.2 Trier
4.2.1 Ordonner 2 nombres par ordre croissant
4.2.2 Ordonner 3 nombres par ordre croissant
4.2.3 Ordonner une séquence de nombres par ordre croissant
4.3 Définir une fonction par morceaux
4.4 Convertir
4.4.1 Des secondes en jours, heures, minutes et secondes
4.4.2 Des degrés en radians
4.4.3 Des radians en degrés
4.5 Les fractions
4.5.1 Simplifier une fraction
4.5.2 Additionner 2 fractions
4.5.3 Multiplier 2 fractions
Chapitre 5 Les programmes d’arithmétique
5.1 Quotient et reste de la division euclidienne
5.1.1 Les fonctions iquo, irem et smod de Xcas
5.1.2 Activité
5.2 Calcul du PGCD par l’algorithme d’Euclide
5.2.1 Traduction algorithmique
5.2.2 Traduction Xcas
5.2.3 Traduction MapleV
5.2.4 Traduction MuPAD
5.2.5 Traduction TI89 92
5.2.6 Le pgcd dans ℤ[
i
]
5.3 Identité de Bézout par l’algorithme d’Euclide
5.3.1 Version itérative sans les listes
5.3.2 Version itérative avec les listes
5.3.3 Version récursive sans les listes
5.3.4 Version récursive avec les listes
5.3.5 Traduction Xcas
5.4 Décomposition en facteurs premiers d’un entier
5.4.1 Les algorithmes et leurs traductions algorithmiques
5.4.2 Traduction Xcas
5.5 Décomposition en facteurs premiers en utilisant le crible
5.5.1 Traduction Algorithmique
5.5.2 Traduction Xcas
5.6 La liste des diviseurs
5.6.1 Les programmes avec les élèves
5.6.2 Le nombre de diviseurs d’un entier
n
5.6.3 L’algorithme sur un exemple
5.6.4 Les algorithmes donnant la liste des diviseurs de n
5.7 La liste des diviseurs avec la décomposition en facteurs premiers
5.7.1
FPDIV
5.7.2
CRIBLEDIV
5.7.3 Traduction Algorithmique
5.8 Calcul de
A
P
mod
N
5.8.1 Traduction Algorithmique
5.8.2 Traduction Xcas
5.8.3 Un exercice
5.9 La fonction "estpremier"
5.9.1 Traduction Algorithmique
5.9.2 Traduction Xcas
5.10 La fonction estpremc en utilisant le crible
5.10.1 Traduction algorithmique
5.10.2 Traduction Xcas
5.11 Méthode probabiliste de Mr Rabin
5.11.1 Traduction Algorithmique
5.11.2 Traduction Xcas
5.12 Méthode probabiliste de Mr Miller-Rabin
5.12.1 Un exemple
5.12.2 L’algorithme
5.12.3 Traduction Algorithmique
5.12.4 Traduction Xcas
5.13 Numération avec Xcas
5.13.1 Passage de l’écriture en base dix à une écriture en base b
5.13.2 Passage de l’écriture en base b de n à l’entier n
5.13.3 Un exercice et sa solution
5.14 Traduction Xcas de l’algorithme de Hörner
5.15 Savoir si le polynôme
A
est divisible par
B
5.15.1 Programmation de la fonction booléenne
estdivpoly
5.15.2 Autre version du programme précedent :
quoexpoly
5.16 Affichage d’un nombre en une chaîne comprenant des espaces
5.16.1 Affichage d’un nombre entier par tranches de
p
chiffres
5.16.2 Transformation d’un affichage par tranches en un nombre entier
5.16.3 Affichage d’un nombre décimal de [0,1[ par tranches de
p
chiffres
5.16.4 Affichage d’un nombre décimal par tranches de
p
chiffres
5.17 Écriture décimale d’un nombre rationnel
5.17.1 Algorithme de la potence
5.17.2 Avec un programme
5.17.3 Construction d’un rationnel
5.18 Développement en fraction continue
5.18.1 Développement en fraction continue d’un rationnel
5.18.2 Développement en fraction continue d’un réel quelconque
5.18.3 Les programmes
5.18.4 Exemples
5.18.5 Suite des réduites successives d’un réel
5.18.6 Suite des réduites "plus 1" successives d’un réel
5.18.7 Propriété des réduites
5.19 Suite de Hamming
5.19.1 La définition
5.19.2 L’algorithme à l’aide d’un crible
5.19.3 L’algorithme sans faire un crible
5.19.4 La traduction de l’algorithme avec Xcas
5.20 Développement diadique de
a
/
b
∈ [0;1[
5.20.1 L’énoncé
5.20.2 La solution
5.21 Écriture d’un entier comme ∑
j
≥ 1
a
j
j
! avec 0≤
a
j
<
j
5.21.1 L’énoncé
5.21.2 La solution
5.22 Les nombres de Mersenne
5.22.1 Définitions et téorèmes
5.22.2 Test de Lucas-Lehmer
5.23 Les nombres parfaits et les nombres amiables
5.23.1 Les nombres parfaits
5.23.2 Les nombres amiables
5.24 Les parallélépipèdes rectangles presque parfaits
5.24.1 L’énoncé
5.24.2 La solution
5.25 Les nombres heureux
5.25.1 L’énoncé
5.25.2 La solution
Chapitre 6 Exercices de combinatoire
6.1 Fonction partage ou nombre de partitions de
n
∈ ℕ
6.1.1 L’énoncé
6.1.2 La solution
6.1.3 Une méthode plus rapide
6.1.4 Estimation asymptotique
6.2 Un exercice de combinatoire et son programme
6.2.1 L’énoncé
6.2.2 Les programmes
6.3 Visualistion des combinaisons modulo 2
6.3.1 L’énoncé
6.3.2 Le programme
6.4 Un exercice
6.5 Valeur de
e
et le hasard
6.5.1 L’énoncé
6.5.2 La solution avec
Xcas
6.6 Distance moyenne entre de 2 points
6.6.1 L’énoncé
6.6.2 La solution avec
Xcas
Chapitre 7 Exercices sur trigonométrie et complexes
7.1 Les polynômes de Tchebychev
7.1.1 L’énoncé
7.1.2 La solution avec
Xcas
Chapitre 8 Codage
8.1 Codage de Jules Cesar
8.1.1 Introduction
8.1.2 Codage par symétrie point ou par rotation d’angle π
8.1.3 Avec les élèves
8.1.4 Travail dans Z/26Z
8.1.5 Codage par rotation d’angle α=
k
*π/13
8.2 Écriture des programmes correspondants
8.2.1 Passage d’une lettre à un entier entre 0 et 25
8.2.2 Passage d’un entier entre 0 et 25 à une lettre
8.2.3 Passage d’un entier k entre 0 et 25 à l’entier n+k mod 26
8.2.4 Codage d’un message selon Jules César
8.3 Codage en utilisant une symétrie par rapport à un axe
8.3.1 Passage d’un entier k entre 0 et 25 à l’entier n-k mod 26
8.3.2 Codage d’un message selon une symétrie droite D
8.4 Codage en utilisant une application affine
8.5 Codage en utilisant un groupement de deux lettres
8.6 Le codage Jules César et le codage linéaire
8.6.1 Les caractères et leurs codes
8.6.2 Les différentes étapes du codage
8.6.3 Le programme Xcas
8.6.4 Le programme C++
8.6.5 Exercices de décodage
8.6.6 Solutions des exercices de décodage Jules César et linéaire
8.7 Chiffrement affine : premier algorithme
8.7.1 L’algorithme
8.7.2 Traduction Algorithmique
8.7.3 Traduction Xcas
8.8 Chiffrement affine : deuxième algorithme
8.8.1 L’algorithme
8.8.2 Traduction Algorithmique
8.8.3 Traduction Xcas
8.9 Devoir à la maison
8.9.1 Le code Ascii
8.10 Codage RSA
8.10.1 Le cryptage des nombres avec la méthode RSA
8.10.2 La fonction de codage
8.11 Les programmes correspondants au codage et décodage RSA
8.11.1 Exercices de décodage RSA avec différents paramètres
8.11.2 Solutions des exercices de décodage
8.12 Codage RSA avec signature
8.12.1 Quelques précautions
Chapitre 9 Algorithmes sur les suites et les séries
9.1 Les suites
9.1.1 Les suites
u
n
=
f
(
n
)
9.1.2 La représentation des suites
u
n
=
f
(
n
)
9.1.3 La représentation des suites récurrentes
u
0
=
a
,
u
n
=
f
(
u
n
−1
)
9.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
9.1.5 L’escargot des suites récurrentes
u
(0)=
a
,
u
(
n
)=
f
(
u
(
n
−1) si
n
>0
9.1.6 Les suites récurrentes définies par une fonction de plusieurs variables
9.2 Les séries
9.2.1 Les sommes partielles
9.2.2 Exemple d’accélération de convergence des séries à termes positifs
9.3 Méthodes d’accélération de convergence des séries alternées
9.3.1 Un exemple d’accélération de convergence des séries alternées
9.3.2 La transformation d’Euler pour les series alternées
9.3.3 Autre approximation d’une série alternée
9.3.4 Transformation d’une série en série alternée
9.4 Développements asymptotiques et séries divergentes
9.4.1 Un exemple:la fonction exponentielle intégrale
9.4.2 Le calcul approché de la constante d’Euler γ
9.5 Solution de
f
(
x
)=0 par la méthode de Newton
9.5.1 La méthode de Newton
9.5.2 Exercices sur la méthode de Newton
9.5.3 La méthode de Newton avec préfacteur
9.6 Trouver un encadrement de
x
0 lorsque
f
(
x
0) est minimum
9.6.1 Déscription du principe de la méthode
9.6.2 Déscription de 2 méthodes
9.6.3 Traduction
Xcas
de l’algorithme avec Fibonacci
Chapitre 10 Algorithmes d’algébre
10.1 Méthode pour résoudre des systèmes linéaires
10.1.1 Le pivot de Gauss quand
A
est de rang maximum
10.1.2 Le pivot de Gauss pour
A
quelconque
10.1.3 La méthode de Gauss-Jordan
10.1.4 La méthode de Gauss et de Gauss-Jordan avec recherche du pivot
10.1.5 Application : recherche du noyau grâce à Gauss-Jordan
10.2 Résolution d’un système linéaire
10.2.1 Résolution d’un système d’équations linéaires
10.2.2 Résolution de
MX
=
b
donné sous forme matricielle
10.3 La décomposition LU d’une matrice
10.4 Décomposition de Cholesky d’une matrice symétrique définie positive
10.4.1 Les méthodes
10.4.2 Le programme de factorisation de Cholesky avec LU
10.4.3 Le programme de factorisation de Cholesky par identification
10.4.4 Le programme optimisé de factorisation de Cholesky par identification
10.5 Réduction de Hessenberg
10.5.1 La méthode
10.5.2 Le programme de réduction de Hessenberg
10.6 Tridiagonalisation des matrices symétriques avec des rotations
10.6.1 Matrice de rotation associée à
e
p
,
e
q
10.6.2 Réduction de Givens
10.6.3 Le programme de tridiagonalisation par la méthode de Givens
10.7 Tridiagonalisation des matrices symétriques avec Householder
10.7.1 Matrice de Householder associée à
v
10.7.2 Matrice de Householder annulant les dernières composantes de
a
10.7.3 Réduction de Householder
Chapitre 11 Le calcul intégral et les équations différentielles
11.1 La méthode des trapèzes et du point milieu pour calculer une aire
11.1.1 La méthode des trapèzes
11.1.2 La méthode du point milieu
11.2 Accélération de convergence : méthode de Richardson et Romberg
11.2.1 La méthode de Richardson
11.2.2 Application au calcul de S=∑
k
=1
∞
1/
k
2
11.2.3 Application au calcul de la constante d’Euler
11.2.4 La méthode de Romberg
11.2.5 Deux approximations de l’intégrale
11.3 Les méthodes numériques pour résoudre
y
′=
f
(
x
,
y
)
11.3.1 La méthode d’Euler
11.3.2 La méthode du point milieu
11.3.3 La méthode de Heun
Chapitre 12 Les quadriques
12.1 Équation d’une quadrique
12.2 Équation reduite d’une quadrique
Chapitre 13 Quelques compléments
13.1 Pour réutiliser le graphe d’une fonction utilisateur
13.2 Les programmes de quadrillage
Chapitre 14 Les programmes récursifs
14.1 Avec des chaines de caractères
14.1.1 Une liste de mots
14.1.2 Les mots
14.1.3 Les palindromes
14.2 Les dessins récursifs
14.2.1 Les segments
14.2.2 Les carrés
14.2.3 Les triangles
14.2.4 Exercice
14.2.5 Le problème des 3 insectes
14.2.6 Les cercles
14.3 Les tours de Hanoï
14.4 Les permutations
14.4.1 Les permutations circulaires
14.4.2 Programme donnant toutes les permutations
Chapitre 15 Récupérer et installer un logiciel