Feuille d’exercices 5#
Objectifs
Introduction à Sagemath
Calcul exact : entiers, rationnels, complexes
Notions sur le calcul symbolique
Notion de méthode et de classe
Exercice 1. Manipulation élémentaire d’entiers, de rationnels et de complexes#
Question 1. Donner la valeur exacte des quantités suivantes :
\(12!\)
le rationnel \(\frac{8778}{4557}\)
le plus petit nombre premier supérieur à \(2^{20}\)
\(\cos(2\pi/5)\)
la partie réelle de \(3 e^{7 i \pi/12}\)
l’argument de \(1+i\)
# Votre réponse ici
Question 2. Écrire une fonction plus_petit_module(liste) qui prend en entrée une liste liste de nombres complexes, et qui retourne le nombre complexe de plus petit module de cette liste. Si la liste est vide, la fonction devra afficher un texte d’erreur, puis retourner le mot-clef None.
# Votre réponse ici
Exercice 2. Somme de binomiaux#
Question 1. Écrire une fonction somme_newton(n) qui prend en entrée un entier n et qui retourne la valeur de la somme
# Votre réponse ici
Question 2. Vérifier que pour tout \(n\) compris entre \(0\) et \(100\), l’égalité \(\sum_{k=0}^n \binom{n}{k} = 2^n\) est bien vérifiée.
# Votre réponse ici
Question 3. Écrire une fonction somme_binomiaux(n) qui prend en entrée un entier n et qui retourne la valeur de la somme
Puis, calculer plusieurs valeurs de cette somme, émettre une conjecture, puis la « vérifier » sur les valeurs de \(n\) comprises en \(0\) et \(100\).
# Votre réponse ici
Exercice 3. Double boucle#
Dans cet exercice, on considère une liste \(L = (L_0, \dots, L_{n-1})\) de rationnels distincts, de longueur \(n \ge 2\).
Question 1. Écrire une fonction produit_differences(L), qui prend en entrée la liste L de rationnels, et qui retourne la valeur du produit
# Votre réponse ici
Question 2. Écrire une fonction plus_proches(L), qui prend en entrée la liste L de rationnels, et qui retourne la paire \((a, b)\) de rationnels les plus proches parmi toutes les paires d’éléments de la liste L.
# Votre réponse ici
Exercice 4. Triplets pythagoriciens#
Un triplet pythagoricien est un triplet \((p, q, r) \in \mathbb{N}^3\) tel que \(p^2 + q^2 = r^2\). Observons que, si \((p, q, r)\) est un triplet pythagoricien, alors \(p \le r\) et \(q \le r\).
Question 1. Écrire une fonction trouve_triplets(r), qui prend entrée un entier naturel r, et qui retourne la liste de toutes les paires \((p, q)\) telles que \((p, q, r)\) forme un triplet pythagorien.
# Votre réponse ici
Tout triplet pythagoricien peut être associé à un point du cercle unité dont les coordonnées sont des rationnels. En effet,
Par ailleurs, si \((\alpha, \beta) \in \mathbb{Q}^2\) est sur le cercle unité, alors en écrivant \(\alpha = a/n\) et \(\beta = b/n\) sur le même dénominateur \(n\), on obtient un triplet pythagoricien \((a, b, n)\).
Question 2. Écrire une fonction triplet_vers_point(t, r) qui transforme un triplet pythagoricien formé de t=(p,q) et r, en un point du cercle unité (donné comme un couple de rationnels).
Pour s’assurer que les valeurs obtenues sont bien des rationnels, on effectuera une conversion de type des éléments de t vers la classe des entiers.
# Votre réponse ici
Question 3. Déduire de la question précédente une fonction trouve_points_rationnels(r_max), qui prend entrée un entier naturel r_max, et qui retourne la liste de tous les points rationnels \((x, y)\) du cercle unité, dont un dénominateur commun est \(r \le r_{max}\).
# Votre réponse ici
Question 4 (optionnelle). Éliminer les éventuels doublons (éléments répétés plusieurs fois) de la liste précédente pour obtenir une liste d’éléments distincts.
# Votre réponse ici
Exercice 5. Transformations complexes#
Question 1 : Créer la liste L des nombres complexes \((1, i, -1, -i)\). Puis, exécutez l’instruction polygon(L).show(). Qu’observez-vous ?
# Votre réponse ici
Question 2 : En adaptant l’instruction de la question précédente, tracer un triangle équilatéral, un pentagone régulier, puis un polygone régulier à \(27\) côtés.
# Votre réponse ici
Question 3 : Effectuer les instructions suivantes :
Construire
T, la liste de points correspondant à un triangle équilatéral de côté \(1\), dont la base est horizontale, et dont le point « en bas à gauche » a pour coordonnées complexes \(z = 1\).Construire
M, la liste des points deTsur lesquels on a appliqué la transformation complexe \(z \mapsto -2z\).Exécuter les \(2\) instructions suivantes :
figure1 = polygon(T, color="blue") + polygon(M, color="red")
figure1.show()
Quelle transformation géométrique a-t-on opérée sur le triangle bleu ?
# Votre réponse ici
Question 4 (avancée) : Appliquer successivement (11 fois) la transformation complexe \(z \mapsto e^{-i\pi/6} z\) à tous les points de la liste T de la question 2, puis tracer la figure qui contient ces 11 transformations. Quelle transformation géométrique a-t-on opéré ?
# Votre réponse ici