Ex Poo Python
Ex Poo Python
Ex Poo Python
Exercice 1 :
Chaque robot :
• a une direction : donnée par l'attribut direction qui prend une des valeurs
"Nord", "Est", "Sud" ou
"Ouest"
• peut tourner à droite de 90° pour changer de direction (si sa direction était
"Nord" elle devient "Est", si c'était "Est" elle devient "Sud", etc.) : avec la
méthode sans paramètre droite(). Les robots ne peuvent pas tourner à gauche.
• avancer de plusieurs pas en une seule fois grâce à une méthode avance() qui
prend en paramètre le nombre de pas
1
• faire demi-tour grâce à la méthode demiTour()
Exercice 2 :
Vous connaissez tous les paires de réels, qui sont des nombres complexes. . . En
XIX siècle Clifford a inventé un autre corps numérique, les nombres duals, un
peu plus simple ; un nombre dual p est une paire de réels a et b, écrit comme p =
a + b avec les règles arithmétiques typiques (par exemple on ajoute séparément
les composantes réelle et duale). L’unité duale ε est irréductible, indépendante
des réels (comme l’unité imaginaire dans le monde des nombres complexes), mais
elle respecte l’identité : ε^2 = 0. Donc, (a + b ε) · (x + y ε) = ax + (ay + bx) ε.
Écrire en Python une classe qui représente de tels nombres, avec les méthodes
standard : __init__ et __repr__, et les quatres opérations arithmétiques : + - *
/. Pour la division, vérifier que (a+b ε)·(a−b ε) est un nombre réel, et coder-là de
manière similaire à des nombres complexes. La méthode __init__ doit pouvoir
prendre 1 ou deux arguments, dans le cas d’un seul, le coefficient de ε est
considéré nul.