Mathématice, intégration des Tice dans l'enseignement des mathématiques  
Sommaire > N°43 - janvier 2015 > Regards croisés sur l’algorithmique et la (...)

Regards croisés sur l’algorithmique et la programmation (8)
Moteur de recherche
Mis en ligne le 2 janvier 2015, par Alain Busser, Guillaume Connan, Stéphan Manganelli, Yves Martin

Des algorithmes particulièrement utiles sont ceux permettant de résoudre de façon approchée des équations. Dans des sujets de bac ou autres...

Cet article peut être librement diffusé et son contenu réutilisé pour une utilisation non commerciale (contacter l’auteur pour une utilisation commerciale) suivant la licence CC-by-nc-sa (http://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode)

Contribution d’Alain Busser

Spontanément, lorsqu’on leur laisse le choix, les élèves de Seconde ont plus tendance à inventer la résolution par balayage que la dichotomie ; en terminale les choix sont plus équilibrés. En première c’est la méthode de Newton qui peut être vue géométriquement avec un logiciel de géométrie dynamique possédant un outil "tangente".

  • Avec JavaScript, la résolution de l’équation x=cos(x)
    • Par balayage
    • Par itération
  • Avec CoffeeScript :

Des scripts à tester en ligne, pour découvrir la dichotomie en jouant, pour tester la dichotomie et la méthode de Newton-Raphson avec une précision arbitraire (si on a la patience) :

le document sous forme d’une page web
HTML - 10.6 ko
  • Avec MathsOntologie :

La programmation de la dichotomie avec MathsOntologie a été traitée ici et (sujet bac S Réunion-Métropole)

Résolution de x3=50

Copier le script suivant dans l’interpréteur Sophus et le tester : Il calcule la racine cubique de 50 par dichotomie :

  1. a = nouvelle Variable 3
  2. b = nouvelle Variable 4
  3. 8 fois faire
  4. m = nouvelle Variable a.valeur
  5. augmenter m de b
  6. diviser m par 2
  7. y = nouvelle Variable m.valeur
  8. élever y au cube
  9. diminuer y de 50
  10. Si y.estNégatif()
  11. mettre m, dans, a
  12. Sinon
  13. mettre m, dans, b
  14. montrer a

Télécharger

Variante, avec affectations :

  1. a devient 3
  2. b devient 4
  3. 8 fois faire
  4. m devient a
  5. m += b
  6. m /= 2
  7. y devient m*m*m-50
  8. Si y < 0
  9. a devient m
  10. Sinon
  11. b devient m
  12. montrer a

Télécharger

Et voici la version Newton, toujours en Sophus :

  1. u = nouvelle Variable 1
  2. 8 fois faire
  3. v = nouvelle Variable u.valeur
  4. élever v au carré
  5. tripler v
  6. inverser v
  7. multiplier v par 50
  8. diminuer u de 1 tiers
  9. augmenter u de v
  10. montrer u

Télécharger

Et la version avec affectations, plus courte :

  1. u devient 1
  2. 8 fois faire
  3. u devient 2*u/3+50/(3*u*u)
  4. montrer u

Télécharger

Contribution de Guillaume Connan

Guillaume, une fois de plus, revient d’une tournée triomphale en Syldavie où on achève bien les chevaux pianos :

La complexité, c’est simple comme la dichotomie

Du même auteur, on consultera avec le même plaisir, les ressources suivantes :

Contribution de Stephan Manganelli

Stephan Manganelli continue son tir à LARP [2] :

L’article en pdf
PDF - 989.6 ko

Contribution d’Yves Martin

Yves Martin avait utilisé la dichotomie pour résoudre l’équation sin(x)-x×cos(x)-π/2=0 pour "le problème de la chèvre" dans cet article. Voici la syntaxe de l’expression dans DGPad :

  1. x0=Expression("x0","x0 = ","","","var a=1;var b=2;while(b-a>0.000000000001){c=(a+b)/2;if(f(c)<0){a=c;} else {b=c;}};(a+b)/4","-3","0.7");

L’expression s’appelle x0, elle s’affiche sous la forme "x0=" suivi de la valeur de l’expression, et l’expression elle-même est

  1. var a=1;var b=2;while(b-a>0.000000000001){c=(a+b)/2;if(f(c)<0){a=c;} else {b=c;}};(a+b)/4

Ensuite viennent les coordonnées de l’expression.


notes

[1issu de son ancien site

[2en s’inspirant de cet ouvrage remarquable (ISBN 2.219.00335.3)

Réagir à cet article
Vous souhaitez compléter cet article pour un numéro futur, réagir à son contenu, demander des précisions à l'auteur ou au comité de rédaction...
À lire aussi ici
MathémaTICE est un projet
en collaboration avec
Suivre la vie du site Flux RSS 2.0  |  Espace de rédaction  |  Nous contacter  |  Site réalisé avec: SPIP  |  N° ISSN 2109-9197