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

Regards croisés sur l’algorithmique et la programmation (7)
sujet bac S septembre 2014
Moteur de recherche
Mis en ligne le 14 novembre 2014, 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
PDF - 160.4 ko
OpenDocument Text - 164.8 ko
Zip - 390.7 ko
alcoffeethmique
logiciel d’algorithmique en CoffeeScript
l’article en pdf son source en odt
PDF - 262.2 ko
OpenDocument Text - 299.8 ko
  • 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
PDF - 678.9 ko
Zip - 1.8 ko

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


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