Démonstration

     Nos anciens, qui passaient le certificat d'études primaires, devaient résoudre les problèmes par l'arithmétique. S'ils avaient connu la programmation informatique, l'usage des boucles, ils auraient résolu plus simplement ces problèmes de fausse position.

     Dans le problème suivant:
A la piscine, il existe le tarif enfant à 4 € et le tarif adulte à 6 € .
Il est entré en une heure 20 personnes et la recette s'élève à 104 € .
Quel est le nombre d'entrées de chaque sorte ?

Une boucle informatique donnera toutes les solutions possibles.(démarche itérative)


     On remarquera que la liste des sommes possibles (80,82, 84, 86, 88,.... 118,120) est une suite de nombres, à intervalles réguliers où l'espace est 2.

     La résolution du problème se résumera donc à un problème d'intervalles bien connu.
     Pour nos formules , on créera une variable n , la différence entre les 2 propositions de l'énoncé, les places à 6 € et les places à 4 €. (6-4=2)   n=2
     La variable a, c'est le nombre que l'on doit rechercher dans cette liste de sommes.
     Dans l'exemple : a=104
     La variable b, c'est la somme obtenue à la première ligne.
     Soit le produit de la plus petite valeur par le nombre maximum de personnes.
      Dans l'exemple : b=80 résultat de (4 x 20).
     La variable c c'est la somme obtenue à la dernière ligne.
     Soit le produit de la plus grande valeur par le nombre maximum de personnes.
     Dans l'exemple : c=120 résultat de (6 x 20).

     Dans l'exemple, le nombre de places à 6 € correspondant à 104 € se trouve à la ligne numérotée 12.
     Dans un problème d'intervalles commençant par un piquet et se terminant par un piquet, il y a 1 piquet de plus que d'intervalles. Mais comme on commence à compter seulement à partir du piquet numéroté 1, il y a donc autant de piquets que d'intervalles
     On trouve le nombre d'intervalles ou de piquets en divisant (a-b) par n, ici (104-80) / 2
     Le nombre d'entrées à 6 € répondra à la formule

(a-b)/n
(104-80)/2
24 : 2 = 12
Il y a donc 12 adultes.

     On peut procéder autrement.
     Si on cherche le nombre d'entrées à 4 €, on partira du bas.
     Alors, a est plus petit que c. (104 < 120)
     Le nombre d'entrées à 4 € répondra à la formule

(c-a)/n
(120-104)/2
16 : 2 = 8
Il y a donc 8 enfants

     Remarque:
     On n'a donc besoin de calculer que deux lignes de l'algorithme informatique, la première et la dernière.

(6 € x0) + (4 € x20 ) =0 € +80 € = 80 € (toutes les places sont à 4 €)
(6 € x20) + (4 € x0 ) =120 € +0 € = 120 € (toutes les places sont à 6 €)

     Conclusion:
     Pour les candidats au certificat d'études primaires, les problèmes résolus par l'absurde auraient trouvé une solution aussi simple que le calcul de l'aire du triangle ou du volume du parallélépipède rectangle, où on se contentait d'appliquer une formule démontrée, mais apprise par cœur.
     On remarquera qu'on exécute exactement les mêmes opérations que pour la résolution par l'absurde. (voir plus bas) Mais le raisonnement n'est pas le même.
     Quel est le raisonnement le plus simple ?


Code source de l'algorithme informatique

<table cellspacing=0 cellspadding=0>
<script language="JavaScript">
<!--
//-----------Début de l'algorithme-------------
i=0;
while(i<=20)
{
j=20-i;
p1=6*i;
p2=4*j;
s=p1+p2;
color="white";
if (i==0) {
color="yellow";
}
if (i==20) {
color="yellow";
}
if (s==104) {
color="lightblue";
}
document.write("<tr bgcolor="+color+"><td>");
document.write("(6 € x </td><td align=right>");
document.write(i+"</td><td>) + ( 4 € x </td>");
document.write("<td align=right>"+j+"</td>");
document.write("<td>) = </td>");
document.write("<td align=right>"+p1+" €");
document.write(" + </td><td align=right>");
document.write(p2+" € = </td>");
document.write("<td align=right>"+s+" €");
document.write(" </td></tr>");
document.write("</td></tr>");
i++;
}
//---------------Fin de l'algorithme---------------
// end hide -->
</script>
</table>


Pour mémoire :


     Méthode de fausse position dite par l'absurde car on émet une hypothèse fausse au départ.
Si toutes les personnes avaient été des adultes, la recette aurait été de : 20x6=120 €
Or la recette est de 104€, soit une différence de 16 €.
Chaque fois que l'on remplace une entrée à 6€ par une entrée à 4€, on perd 2€.
Le nombre de place à 4€ est donc égal au nombre de fois que 2€ est contenu dans 16€, soit : 8 fois. Il est donc entré 8 enfants et 20-8=12 adultes.

     Ma méthode par la boucle "while {...}"


Code source de la solution informatique
JavaScript

<script language="JavaScript">
<!-- ;
//------------Début de l'algorithme--------------
i=0;
while(i<=20)
{
j=20-i;
// i c'est le nom de la variable nombre de places à 6 €
// j c'est le nom de la variable nombre de places à 4 €
p1=6*i;
p2=4*j;
s=p1+p2;
if (s==104)
{
document.write("(6 € x "+i+") + ( 4 € x "+j+") = "+p1+" € + "+p2+" € = "+s+" € <BR>Il est donc entré "+i+" adultes (places à 6 €) et "+j+" enfants (places à 4 €). <BR> <BR>");
}
i++;
}
//-------------Fin de l'algorithme-------------
// end hide -->
</script>

     Je dédie ces formules à mes frères et à mon maître, Monsieur Berthélémé, qui me faisait étudier les problèmes des "grands" qui préparaient le certif, alors que j'étais son élève en CM2, en 1953.

  Quelques exercices réalisés par mon frère Joseph à l'âge de 10 ans