Pensez à lire la Charte avant de poster !

$\newcommand{\K}{\mathbf K}$


Les-Mathematiques.net - Cours de mathématiques supérieures
 Les-Mathematiques.net - Cours de mathématiques universitaires - Forum - Cours à télécharger

A lire
Deug/Prépa
Licence
Agrégation
A télécharger
Télécharger
250 personne(s) sur le site en ce moment
E. Cartan
A lire
Articles
Math/Infos
Récréation
A télécharger
Télécharger
Théorème de Cantor-Bernstein
Théo. Sylow
Théo. Ascoli
Théo. Baire
Loi forte grd nbre
Nains magiques
 
 
 
 
 

Division euclidienne

Envoyé par Martial 
Division euclidienne
il y a trois mois
Bonjour à tous,
Je sais pertinemment que ce sujet relève davantage de la pédagogie que de la logique, mais je remercie les modérateurs de ne pas le déplacer de façon à ce que Christophe puisse y répondre, car il a toujours plein d'idées dans ce domaine.

Voilà mon problème : comme tout le monde j'enseigne à distance. Hélas je ne peux pas faire de visioconf car j'ai des groupes de 32. Certains le font en audio, mais ils reconnaissent eux-mêmes que c'est pas facile à gérer. Du coup j'utilise le sous-forum "Enseignement à distance", que les administrateurs de ce forum ont eu l'idée géniale de créer, et que je remercie encore à cette occasion. Les étudiants peuvent donc poser des questions directement sur le forum (bon, apparemment ils ne s'en servent pas beaucoup) et ensuite ils m'envoient leurs résultats ou leurs DMs (et bientôt leurs DSs) par mail.
Les deux dernières semaine en 1ère année d'IUT on a fait l'intégration par parties, ce qui ne pose pas de problème particulier, il suffit de bien détailler deux exemples, et ensuite exos avec corrigé partiel.
Mais si on veut avancer un peu il faut que la semaine prochaine je leur explique la division euclidienne des polynômes, et éventuellement aussi la division selon les puissances croissantes. C'est trivial à faire en live, mais comment rédiger ça en LaTeX ? Pour bien faire il faudrait mettre des couleurs, entourer certains coefficients et mettre des flèches dans tous les sens, sur un ou deux exemples, pour que l'étudiant comprenne bien la démarche... et je ne sais pas faire ça.
Quelqu'un aurait-il connaissance d'un tel document déjà existant sur la toile ?
Quelqu'un a-t-il une idée ?
Evidemment on pourrait tout écrire en français du genre tu mets le machin sous le bidule et tu le soustrais du truc, mais ça prendrait des siècles et l'étudiant s'endormirait dès la page 2.
Merci d'avance
Martial
Re: Division euclidienne
il y a trois mois
Leur demander de faire un programme (en python, s'ils font du python) pour la division euclidienne des polynômes, représentés par la liste de leurs coefficients ?
Premier sous-programme : retourner le degré (indice du dernier coefficient non nul).
Coeur de l'algorithme : tant que le degré du dividende est plus grand que celui du diviseur, tuer le terme de plus haut degré du dividende.
Re: Division euclidienne
il y a trois mois
@GBZM : Merci pour l'idée.
Mais hélas, ils font du python, et pas moi... Et je n'ai pas l'intention de m'y mettre maintenant, je pars à la retraite le 1er septembre, et j'ai déjà assez de boulot comme ça avec la settheory.
Mais je vais en parler au collègue qui leur enseigne le python.
Ce qui serait bien c'est d'arriver à leur expliquer ça à la main, et qu'ensuite ils vérifient leurs calculs en python.
Le collègue a fait ça avec les exos de calculs de primitives et d'IPP, et apparemment ça a bien marché. Quand ils ne trouvent pas pareil, en général l'erreur vient plus du côté des maths que de l'algorithme.

D'autres idées ?
Re: Division euclidienne
il y a trois mois
Personnellement, je ne parle de division euclidienne qu'en conclusion. En effet, de mon point de vue, c'est un outil trompeur car cache qu'il a été implémenté en hardware pour optimiser les vitesses d'exécution.

La THEORIE NON OPTIMISEE, qui "suppose un ordinateur magique qui exécute tout en 0 seconde et qui n'existe pas me parait plus amusante et cinématographique à évoquer devant des jeunes sur ce thème:

Dans le cas de la division euclidienne des entiers, ça donne:

DivEucli(a,b) := if a<b then (0,a) else let (q,r) = DivEucli(a-b,b) in (q+1, r)

Dans le cas des polynômes, ça donne :

DiVP(P,Q) := if deg(Q)>deg(P) then (0,P) else let d:= f(P,Q) in DivP(P-X^dQ, Q)

etc. Où $f(P,Q):=deg(P)-deg(Q)$

edit:

DivP(P,Q):= if $deg(P)<deg(Q)$ then $(0,P)$ else
let $d:= deg(P)-deg(Q)$ in
let $k:= cd(P)/cd(Q)$ in
let $(A,B) := DiVP(P-kX^dQ,Q)$ in
$(A + kX^d, B)$






Ce sont des programmes d'une ligne, tu peux leur demander de jouer avec quelques jours, d'autant qu'ils illustrent la commodité des appels récursifs. Sachant que "une sale mode pédago" (sauf erreur sur les infos que j'ai) a tendance à "trop critiquer" la récursivité, lui donnant une sous-exposition dans le supérieur cycle 1 (L1L2 en gros).

Signature: aide les autres comme toi-même car ils SONT toi, ils SONT VRAIMENT toi



Edité 1 fois. La derni&egrave;re correction date de il y a trois mois et a &eacute;t&eacute; effectu&eacute;e par christophe c.
Re: Division euclidienne
il y a trois mois
christophe écrivait:
-------------------------------------------------------

DiVP(P,Q) := if deg(Q)>deg(P) then (0,P) else let d:= f(P,Q) in $DivP(P-X^dQ, Q)$

Ça ne marche que si $P$ et $Q$ ont même coefficient dominant. Et, en corrigeant ça, quelle est la différence avec ce que j'écrivais dans mon premier message ?
Re: Division euclidienne
il y a trois mois
ola oui merci pour la coquille, j'édite...

Je n'avais pas lu ton msg, mais tu t'exprimais en français disons. Sinon, j'en ai profité pour caser mon habituel "lune" (optimisation qui rend moins facile), mais de toute façon, mea culpa, j'ai un peu été hors-sujet sur ce coup puisque je pensais au calcul du pgcd (où on présente la division euclidienne comme une sous-routine donnée).

Signature: aide les autres comme toi-même car ils SONT toi, ils SONT VRAIMENT toi
Re: Division euclidienne
il y a trois mois
Pour les lecteurs, je précise ce que j'appelle "ma lune":

Premier(n):= let b:= true in
Begin
for i:=2 to n-1 do if divisible(n,i) then b:=false else NeRienFaire done
Renvoyer b
end


est la programmation "idéale" sur une machine idéale d'une fonction qui teste si un nombre entier $>1$ est premier.

La fonction suivante, optimisée est souvent enseignée:

Premier(n):= let b:= true in let i:=2 in
while ($i\times i<n+1$ and $b$)
do
if divisible(n,i) then b:=false else NeRienFaire;
i:=i+1
end
Renvoyer b
end


Pour le motif qu'elle s'exécute plus vite.

Signature: aide les autres comme toi-même car ils SONT toi, ils SONT VRAIMENT toi
Dom
Re: Division euclidienne
il y a trois mois
Sarcasme :
« Je n'avais pas lu ton msg, mais tu t'exprimais en français disons.»

La connerie quoi winking smiley s’exprimer en français winking smiley
Re: Division euclidienne
il y a trois mois
Pour revenir au sujet initial : quelqu'un a une idée ?

Je précise qu'en dehors du python j'aimerais que mes étudiants sachent faire une division euclidienne à la main, dans des cas simples, par exemple lors d'un DS (même à distance, mais chronométré).
Re: Division euclidienne
il y a trois mois
@Dom : j'espère que tout le monde aura apprécié à sa juste valeur à quel point ton dernier message a fait avancer le schilimimi, lol.

Tu me diras, on peut dire la même chose de celui-ci...
Re: Division euclidienne
il y a trois mois
Citation
Martial
Hélas je ne peux pas faire de visioconf car j'ai des groupes de 32

Pour info Zoom cloud meetings est assez efficace pour des visioconférences à plusieurs (jusqu'à 100 personnes). Il y a une offre gratuite et une payante à 15$/mois.
Re: Division euclidienne
il y a trois mois
Merci raoul.S
Mais je voudrais simplement une solution simple.
Comment présenter un document expliquant la div eucl en latex ?
Ça existe, ou ça n'existe pas ?
Re: Division euclidienne
il y a trois mois
avatar
Bonjour Martial,

On peut trouver ça sur le net, en bas de la page 27 :

[www.lamacs.fr]

Cordialement.
Re: Division euclidienne
il y a trois mois
Merci bien, Félix, ça va peut-être m'aider.
Cordialement
Martial
Re: Division euclidienne
il y a trois mois
@Martial, tu poses la question très générale des définitions récursives (au sens informatique) me semble-t-il !
J'ai utilisé la syntaxe caml, mais si tu veux, je peux te traduire ça en le langage que tu veux ?

D'une manière générale, je crois qu'il faut absolument comprendre que l'informatique n'est pas les maths et que la récursivité "bouclante" est un BIENFAIT non un danger qu'il faut fuir. Et plus tôt les enfants et étudiants en entendent parler, à mon avis, mieux c'est.

Je rappelle que l'implémentation en langage machine de la récursivité NE COUTE RIEN. Elle est donc "naturelle" si j'ose dire, ce n'est pas un outil artificiel.
Par exemple la définition $f(x):=g(f(h(x)), f(k(x))$
s'implémente comme suit (l'argument ou les arguments** sont sur la pile, un appel de fonction les aspire et renvoie le résultat).
Fonction f : 
Begin 
pop a
push a
call h
call f 
pop b
push a
call k
call f
push b
call g
End
** raison pour laquelle ce qui compte, MAIS c'est très important mais cela seul compte, l'arité des fonctions doit être fixe.

Signature: aide les autres comme toi-même car ils SONT toi, ils SONT VRAIMENT toi



Edité 1 fois. La derni&egrave;re correction date de il y a trois mois et a &eacute;t&eacute; effectu&eacute;e par AD.
Re: Division euclidienne
il y a trois mois
Citation
christophe c
Je rappelle que l'implémentation en langage machine de la récursivité NE COUTE RIEN
Il faut pouvoir faire des copies (de "a" en l'espèce). C'est untruc que tu rappelles parfois en plus.
Re: Division euclidienne
il y a trois mois
Ah oui bien sûr, foys. Ce que je voulais dire était que la mise dans un compilateur du pouvoir de définir récursivement dans le langage qu'il compile ne pose aucun souci, on n'est pas devant un outil sophistiqué.

Signature: aide les autres comme toi-même car ils SONT toi, ils SONT VRAIMENT toi
ev
Re: Division euclidienne
il y a trois mois
avatar
Sobre pas de flèche ni de couleur (avec)
\usepackage{array}
\begin{array}{rcrcrcrc|c}
   X^3 &+&        & & X   &+& 1     & & X + 1       \\ \cline{9-9}
 -(X^3 &+& X^2)   & &     & &       & & X^2 - X + 2 \\ \cline{1-3}
       & & -X^2   &+& X   & &       & &             \\
       & & -(-X^2 &-& X)  & &       & &             \\ \cline{3-5}
       & &        & & 2X  &+& 1     & & \\
       & &        & &-(2X &+& 2)    & & \\ \cline{5-7}
       & &        & &     & & -1    & &
 \end{array}
On a donc: $X^3+X+1= ({X+1})({X^2 - X + 2}) -1$ et $\deg({-1}) =0 < \deg({X+1})=1$.

e.v.



Edité 1 fois. La derni&egrave;re correction date de il y a trois mois et a &eacute;t&eacute; effectu&eacute;e par AD.
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquer ici pour vous connecter

Liste des forums - Statistiques du forum

Total
Discussions: 143 299, Messages: 1 415 141, Utilisateurs: 26 490.
Notre dernier utilisateur inscrit Chocoflex2000.


Ce forum
Discussions: 2 300, Messages: 46 778.

 

 
©Emmanuel Vieillard Baron 01-01-2001
Adresse Mail:

Inscription
Désinscription

Actuellement 16057 abonnés
Qu'est-ce que c'est ?
Taper le mot à rechercher

Mode d'emploi
En vrac

Faites connaître Les-Mathematiques.net à un ami
Curiosités
Participer
Latex et autres....
Collaborateurs
Forum

Nous contacter

Le vote Linux

WWW IMS
Cut the knot
Mac Tutor History...
Number, constant,...
Plouffe's inverter
The Prime page