La mesure principale est dans I=]-pi,pi].
L'utilisateur a rentré la valeur a=p*pi/q (on suppose q > 0 ou que tu as géré le cas si q < 0).
a appartient à I
ssi -pi < p*pi/q <= pi
ssi -q < p <= q
Tant que cette inégalité n'est pas vérifiée, tu vas faire un algorithme pour faire "rentrer" p dans l'intervalle ]-q,q].
Si ppi/q > pi on vérifie si ppi/q-2pi <= pi
cad si p/q-2 <= 1
cad si p-2q <= q
cad si 0 <= 3q-p
Donc tu dois lancer une boucle tant que -q < p <= q n'est pas vérifié. Dans cette boucle, deux cas à considérer : soit l'angle formé est plus grand que pi, donc on lui retranche 2pi, soit l'angle est plus petit que pi, donc on lui ajoute 2pi. Si le nouveau p appartient à I, la boucle va s'arrêter puisque l'inégalité sera vérifiée, et le programme devra afficher p*pi/q.
Ça c'est pour l'idée générale, après je connais pas le logiciel 