Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Regards croisés sur l’algorithmique et la programmation (7)
sujet bac S septembre 2014

l’exercice 3 du bac S session de septembre portait sur des suites avec tests.

Article mis en ligne le 14 novembre 2014
dernière modification le 27 avril 2021

par Alain Busser, Guillaume Connan, Hubert Raymondaud, Pierre-Marc Mazat, Stéphan Manganelli

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)

L’exercice 3 du sujet de bac S septembre portait sur des protocoles d’injection de médicament :

On administre à un patient un médicament par injection intra veineuse. La quantité de médicament dans le sang diminue en fonction du temps.
Le but de l’exercice est d’étudier pour différentes hypothèses, l’évolution de cette quantité minute par minute.
1. On effectue à l’instant 0 une injection de 10 mL de médicament. On estime que 20% du médicament est éliminé par minute.
2. Une machine effectue à l’instant 0 une injection de 10 mL de médicament.
On estime que 20% du médicament est éliminé par minute. Lorsque la quantité de médicament tombe en-dessous de 5 mL, la machine réinjecte 4 mL de produit.
3. On programme la machine de façon que :
— à l’instant 0, elle injecte 10 mL de médicament,
— toutes les minutes, elle injecte 1 mL de médicament.
On estime que 20% du médicament présent dans le sang est éliminé par minute.

Soit 3 protocoles différents. Le but de cet article est de voir comment divers outils permettent d’explorer l’univers des possibilités, et comment on peut prolonger l’activité.

Cette rubrique attend encore plusieurs contributions, mais dans son état actuel, elle offre déjà une exploration très solide du problème. Elle permettra aussi la découverte des stages Hippocampe de Dominique Barbolosi dans ce domaine (les maths au service de la médecine, à partir de la page 6).

Contribution d’Alain Busser

(utilitaire de programmation en CoffeeScript, couvrant le programme d’algorithmique au lycée)

l’article en pdf son source en odt l’utilitaire de programmation
alcoffeethmique
logiciel d’algorithmique en CoffeeScript
l’article en pdf son source en odt
  • Nouveau venu dans cette rubrique : Sophus

La version Sophus est donnée ici.

Contribution de Stephan Manganelli

Stephan Manganelli propose de traiter le sujet avec LARP et d’étendre l’exercice à la notion de clairance, suivant en cela une idée de Dominique Barbolosi.

l’article en pdf le fichier LARP

figures en ligne

Voici la version DGPad, le seuil en-deça duquel on doit injecter et la quantité à réinjecter alors étant pilotés par curseurs :

Mode d’emploi :

  • Pour répondre à la question 1 (suite géométrique), mettre le seuil à zéro (pas de réinjection, puisque la quantité de médicament ne devient jamais négative ; enfin, normalement) ; remarque : On peut aussi mettre l’ajout à 0...
  • Pour le second protocole, le seuil est à 5 mL et l’ajout à 4 mL (réglages par défaut au démarrage de la page) ;
  • Pour la variante de la question 3, on met le seuil à 6 et l’ajout à 2 ;
  • Enfin pour le « troisième protocole », on met le seuil à 10 et l’ajout à 1.

Ne pas hésiter à essayer d’autres valeurs des curseurs, la figure animée est là pour ça !

Le source de la figure

  1. // Coordinates System :
  2. SetCoords(57.5,491.5,40);
  3.  
  4.  
  5. // Geometry :
  6. seuil=Expression("seuil","","0","10","5","3.8125","-1.7125");
  7. ajout=Expression("ajout","","0","5","4","11.3125","-1.7125");
  8. E1=Expression("E1","","","","nuage=[[0,10]];for(var n=1;n<=30;n++){u=nuage[nuage.length-1][1]*0.8;if(u<seuil){u+=ajout};nuage.push([n,u])};nuage","9.5625","8.0375");
  9. List1=List("List1",E1);
  10.  
  11.  
  12. // Styles :
  13. STL(seuil,"c:#63211e;s:7;sn:true;f:24;p:4;i:0.1;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjozMDtpOjAuMQ==");
  14. STL(ajout,"c:#174110;s:7;sn:true;f:24;p:4;i:0.1;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjozMDtpOjAuMQ==");
  15. STL(E1,"c:#01505b;h:1;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MzA=");
  16. STL(List1,"c:#0000b2;s:3;f:30;p:0;sg:0");
  17. SetCoordsStyle("isAxis:true;isGrid:true;isOx:true;isOy:true;isLockOx:false;isLockOy:false;centerZoom:false;color:#111111;fontSize:18;axisWidth:1;gridWidth:0.1");
  18. SetGeneralStyle("background-color:#FAFAFA");

Télécharger

Et voici la version « toile d’araignée », un peu atypique puisqu’en général ce genre de figure permet de modifier le terme initial de la suite, alors qu’ici celui-ci est fixé (par l’énoncé) à 10, et c’est la fonction qui change. Là encore, manipuler les curseurs sans vergogne, en se rappelant que si la toile d’araignée ressemble à un escalier c’est que la suite est monotone, alors que si la toile d’araignée ressemble à un escargot c’est que la suite est convergente :

source de la figure

  1. // Coordinates System :
  2. SetCoords(60.63505550539696,245.5018492980986,20.53621910112779);
  3.  
  4.  
  5. // Geometry :
  6. id=Expression("id","","","","x","25.29019299692225","5.624299620554572");
  7. seuil=Expression("seuil","","0","10","5","1.4299099727169544","-3.1407023067045166");
  8. ajout=Expression("ajout","","0","5","4","12.629634657548012","-3.1407023067045166");
  9. f1=Curvus("f1","","","id(x)");
  10. f=Expression("f","","","","0.8*x+ajout*(0.8*x<seuil)","25.29019299692225","3.676521414496997");
  11. f2=Curvus("f2","","","f(x)");
  12. E1=Expression("E1","","","","nuage=[[10,10]];for(n=1;n<=30;n++){a=nuage[nuage.length-1][0];b=f(a);nuage.push([a,b]);nuage.push([b,b])};nuage","28.211860306008614","1.2417986569250277");
  13. List1=List("List1",E1);
  14.  
  15.  
  16. // Styles :
  17. STL(id,"c:#73642e;h:1;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MzA=");
  18. STL(seuil,"c:#63211e;s:7;sn:true;f:24;p:4;i:0.1;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjozMDtpOjAuMQ==");
  19. STL(ajout,"c:#174110;s:7;sn:true;f:24;p:4;i:0.1;cL:200;cPT:YzojNzgwMDEzO3M6MTA7ZjozMDtpOjAuMQ==");
  20. STL(f1,"c:#006633;s:1;f:30;p:0;dh:true");
  21. STL(f,"c:#440726;h:1;s:7;sn:true;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MzA=");
  22. STL(f2,"c:#760012;s:2;f:30;p:0");
  23. STL(E1,"c:#483827;h:1;s:7;f:24;p:4;cL:200;cPT:YzojNzgwMDEzO2g6MTtzOjEwO2Y6MzA=");
  24. STL(List1,"c:#0000b2;s:1;f:30;p:0;sg:1");
  25. SetCoordsStyle("isAxis:true;isGrid:true;isOx:true;isOy:true;isLockOx:false;isLockOy:false;centerZoom:false;color:#111111;fontSize:18;axisWidth:1;gridWidth:0.1");
  26. SetGeneralStyle("background-color:#FAFAFA");

Télécharger