Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content
  • Ophtalmologiste (1980); Dr Médecine Générale, Chirurgie & Accouchements (1977) ; Informaticien amateur (1981), Math e... moreedit
Tout le monde connaît ou a déjà entendu parler des erreurs d’arrondi qui conduisent au fameux MISSIN PENNY. Ce sont des petites erreurs insignifiantes sur les arithmétiques sur les nombres à virgule, qui conduisent à l’arrondissement qui,... more
Tout le monde connaît ou a déjà entendu parler des erreurs d’arrondi qui conduisent au fameux MISSIN PENNY. Ce sont des petites erreurs insignifiantes sur les arithmétiques sur les nombres à virgule, qui conduisent à l’arrondissement qui, en s’accumulant, peuvent donner des manquants rarement graves du côté du caissier, du trésorier ou du comptable.

Nous verrons ici quelques scénarios sur les erreurs d’arrondis.

La simple addition soi-elle sur l’ordinateur, ne donne pas toujours des résultats corrects. Ci-dessous un programme qui additionne deux nombres dixième, et le résultat n’est pas toujours exactement ce qu’on attend :

<script language= "javascript" type= "text/javascript">
  "use strict";

  (function(){
  let v;

  for(let k=0 ; k<10 ; k++)
    for(let m=0 ; m<10 ; m++){
    v = k/10 + m/10;
    let diff = v-v.toFixed(1);

...

Il y a plusieurs observations à faire sur cet affichage :

1. L’arithmétique des chiffres simples (ex. 0.1 et 0.2) peut déjà entraîner des erreurs d’arrondi.

2. Les tests conditionnels avec

« if ( (v*10) % 1) »
et
« if ( v-v.toFixed(1) ) »

ne donnent pas exactement le même résultat (voyez les combinaisons 27, 36, 63, 72, 89, 98) qui n’ont pas répondu avec
« if ( (v*10) % 1) ».
.
3. Dans le passé on nous apprenait que la division était l’opération arithmétique la plus consommatrice de temps dans un ordinateur. Ici nous voyons qu’elle n’a pas substantiellement pris vraiment plus de temps par rapport au modulo, la soustraction, et l’addition (ici avec un nombre négatif) pour 1 milliard d’itérations.

Voyons ce que le cumul des [erreurs d’] arrondis peut provoquer dans une banque. On cumule 1e9 (Un milliard opérations de dépôt et/ou retrait), d’abord sans arrondir et ensuite en arrondissant les centimes :

Il faut savoir que l’arrondi peut se faire vers le haut (par excès =différence avec signe positif) ou vers le bas (par défaut =différence avec signe négatif).

Comme on le verra à l’affichage de l’exécution du programme, le maximum de cumul d’erreurs d’arrondi n’est pas en rapport avec le numéro d’ordre de l’opération. Par exemple ci-dessous, le maximum de cumul d’erreurs d’arrondi a été atteint à la 976404491e (9.76404491e+8) opération bancaire, et ce cumul d’erreurs d’arrondi s’est chiffré à disons 11335.571329470475 USD. Donc 11’335.57 USD de manquant ou excédant dû aux [erreurs] d’arrondi (« missing penny » ou plutôt « missing thousands dollars »).

Et s’il s’agissait de la cosmologie, ça pourrait être 11’335.57 années lumières d’écart.

Moralité :
...
En ce jour très historique 1 juillet 2020, juste 60 ans après la proclamation de l'indépendance de la République Démocratique du Congo, aube du début du 61è année de cette même indépendance et 61e année de l'indépendance de la plupart des... more
En ce jour très historique 1 juillet 2020, juste 60 ans après la proclamation de l'indépendance de la République Démocratique du Congo, aube du début du 61è année de cette même indépendance et 61e année de l'indépendance de la plupart des pays africains, j'ai songé en ma qualité de souverain primaire Citoyen du monde, à lancer ce message / appel pour une bonne harmonie entre les peuples du monde, et un bon avancement de la situation générale de l'humanité. Le monde vit dans une crise croissante et menaçante de nature économique, sociale et surtout militaire. Cet état de chose est dû principalement à la nature humaine transcendantiste, hégémoniste, égoïste, égocentriste, impérialiste, chauviniste, suprémaciste, … ramenant le monde à ses propres intérêts et sa façon propre de voir les choses. L'univers est « un », et l'humanité est aussi « un ». Chacun de nous individuellement, chacune des nations, ne sommes que des constituants du système plus grand qu'est l'humanité dans l'univers. Aucun individu n'a une importance particulière par rapport à un autre pour la survie et/ou la gestion de l'univers. Nous ne sommes que des briques, éléments pour l'univers.
Vous avez un certain nombre de liens à publier/poster, chacun une et une seule fois sur un seul site. Autant de lien que de sites. Pour bien faire cette tâche, il faut générer une liste d’autant de nombres aléatoires uniques qui... more
Vous avez un certain nombre de liens à publier/poster, chacun une et une seule fois sur un seul site. Autant de lien que de sites.

Pour bien faire cette tâche, il faut générer une liste d’autant de nombres aléatoires uniques qui indiqueront le numéro du site auquel le prochain lien sur la liste doit être publié.

Ou faire ce travail manuellement en déclassant le site déjà servi.

Si vous ne prenez pas cette précaution, et que vous-vous confiez au hasard/aléatoire, certains liens risquent d’être tous postés sur un même site, et certains sites ne rien recevoir.

Ou alors, certains liens peuvent être piqués plusieurs fois au lieu d’une seule, et d’autres qui ne sont peut-être pas les moindres, ne pas passer.

Voici un programme pour illustrer cette répartition aléatoire.
La méthode Array . reduce ( ) permet d’appliquer de la même façon un callBack à TOUS les éléments d’un Array, en accummulant le résultat dans un accumulateur qui est le premier paramètre du callBack, le deuxième paramètre étant la valeur... more
La méthode Array . reduce ( ) permet d’appliquer de la même façon un callBack à TOUS les éléments d’un Array, en accummulant le résultat dans un accumulateur qui est le premier paramètre du callBack, le deuxième paramètre étant la valeur de l’élément actuel de l’array, et le troisième étant l’index numérique (de 0 à n-1, n étant le nombre d’éléments dans l’array) de l’élément en cours de traitement.

Dans le code qui suit, nous avons utilisé la méthode « Array . reduce ( ) » selon trois algorithmes, et nous avons comparé sa consommation de temps la méthode récursive dans une boucle « do…while ».

En gros, la syntaxe de « Array . reduce ( ) » est la suivante :


const retval =
  Array . reduce ( (accu, actu, idx) => callBack, initValue );


Vous pouvez tout aussi mettre la valeur initiale de l’accumulateur comme sa valeur par défaut, au lieu de la mettre à la suite du callBack.

Si vous omettez la valeur initiale de la méthode « Array . reduce () », la valeur du premier élément de l’array sera utilisée comme valeur initiale.


Code source de notre petit programme :

La logique de ce code est la suivante. Le nombre dont on veut calculer la factorielle est utilisé pour définir la taille d’un array. Le troisième paramètre (index des éléments) représentera les différents nombres qui interviennent comme facteurs.
Code de programme pour tester la rapidité de quatre méthodes d’accès aux éléments, sur 4 machines différentes :
Une mauvaise filtration rénale selon la formule de Cockcroft résultant d'une créatininémie élevée n'est pas nécessairement signe d'insuffisance rénale : Elle peut refléter Un facteur prérénal : excès de muscle, bcp de viande la veille,... more
Une mauvaise filtration rénale selon la formule de Cockcroft résultant d'une créatininémie élevée n'est pas nécessairement signe d'insuffisance rénale : Elle peut refléter

Un facteur prérénal : excès de muscle, bcp de viande la veille, une activité musculaire intense, Insuffisance cardiaque et surtout Infarctus du myo-carde, infection bactérienne, diurétiques, hypotenseurs, hémorragie, sté-nose de l'artère rénale et calculs rénaux, hypovolémie, déshydratation, Apport insuffisant en eau (prendre garde car la concentration des subs-tances dans les reins et l'urine peut atteindre plusieurs milliers de fois celle dans le sang, ce qui est particulièrement dangereux pour les substances toxiques, et rend toxiques certaines substances anodines), Pertes hydriques importantes (attention en plus à l'élimination des substances utiles so-lubles), déficience en eau (vérifiez à l'impédancemétrie) ;

Un facteur rénal : hypertension artérielle, diabète, amyloïdose (=amylose), glomérulonéphrites, lupus érythémateux, traitement par l'inhibiteurs de l'enzyme de conversion, maladie de Berger (immunoglobulines A), pyélo-néphrite aiguë ou chronique, lithiase, myélome, hypercalcémie, hyperuri-cémie, toxiques….

Un facteur postrénal : lithiase, adénome ou cancer de la prostate, néoplasie vésicale, tumeur utérine, fibrose rétropéritonéale), Relation avec une pa-thologie (leucémie, goutte, pré-éclampsie, hyperthyroïdie, acromégalie, et insuffisance cardiaque.

Il existe aussi des manifestations parathyroïdiennes de l'insuffisance ré-nale.
La méthode « . includes ( ) » indique par « true » ou « false » si oui ou non si une valeur fait partie ou non des éléments d’un tableau, ordinaire ou typé. La méthode « . find ( ) » donne la valeur du premier élé-ment du tableau (typé... more
La méthode « . includes ( ) » indique par « true » ou « false » si oui ou non si une valeur fait partie ou non des éléments d’un tableau, ordinaire ou typé.

La méthode « . find ( ) » donne la valeur du premier élé-ment du tableau (typé ou non typé) qui remplit une condition spécifiée par une fonction callBack.

Si un élément du tableau remplit la condition, « . find ( ) » retourne sa valeur.

La méthode « . findIndex ( ) » retourne l’indice du premier élément d’un tableau (typé ou ordinaire) qui remplit une condition définie dans fonction de test. Si aucun élément ne satisfait à la condition, elle retourne la valeur « -1 ».

À l’opposé de la méthode « . find ( ) » ci-dessus qui retourne l’élément même qui remplit la condition, la méthode « . fin-dIndex ( ) » retourne plutôt l’index de l’élément qui remplit la condition.
L’élément HTML/DOM « input » permet de restreindre les valeurs de dates saisies, avec les attributs « min » et « max ». <script> "use strict"; document.write( 'min="2019-12-01" max="2019-12-03"<br><br>' ); </script>... more
L’élément HTML/DOM « input » permet de restreindre les valeurs de dates saisies, avec les attributs « min » et « max ».

<script> "use strict";
    document.write(
        'min="2019-12-01" max="2019-12-03"<br><br>'
    );
</script>


<body>
  <input type="date" id="nDate"
      min="2019-12-01" max="2019-12-03">
  <input type="button" onclick="go()" value=GO>
  <p id="res">Date = </p>
</body>


<script> "use strict";
    function go(){
        var r = document.getElementById("nDate").value;
        document.getElementById("res").innerHTML += r;
    }

    go();
</script>

...

On peut contourner les restrictions en saisissant directement la valeur de l'élément...
Append, Prepand et InsertBefore de l’objet HTML-Document On peut construire une page HTML directement avec les balises appropriées, une méthode plus sûre, plus rapide et moins « cumbersome » comme dirait les anglosaxons. Par exemple,... more
Append, Prepand et InsertBefore de l’objet HTML-Document

On peut construire une page HTML directement avec les balises appropriées, une méthode plus sûre, plus rapide et moins « cumbersome » comme dirait les anglosaxons.

Par exemple, construire ceci :
...
<body style="text-align:center;" id="body">
<p>Texte quelconque</p>

<fieldset id="parentDiv" style="border:solid 1pt red">
  <legend>Cadre de Notre Fieldset</legend>
  <p class="childParagInDiv">childParagInDiv (Orig 1)</p>
  <p class="childParagInDiv">childParagInDiv (Orig 2)</p>
  <p class="childParagInDiv">childParagInDiv (Orig 3)</p>
</fieldset>

  <button>GO</button>
  <p>st Footer Created</p>
  <p>Ultimate Footer</p>
</body>
...
Voici comment s’y prendre tant bien que mal, en JavaS-cript.
...
<body style="text-align:center;" id="body">
<p>Texte quelconque</p>

<fieldset id="parentDiv" style="border:solid 1pt red">
  <legend>Cadre de Notre Fieldset</legend>
  <p class="childParagInDiv">childParagInDiv (Orig 1)</p>
  <p class="childParagInDiv">childParagInDiv (Orig 2)</p>
  <p class="childParagInDiv">childParagInDiv (Orig 3)</p>
</fieldset>

  <button onclick="fgo()" id="bId">GO</button>
</body>


<script> "use strict";
function fgo() {
  const childParagInDiv =
      document.getElementsByClassName("childParagInDiv");
  const newEl = document.createElement("p");
  newEl.innerHTML = "childParagInDiv (Prepanded 0)";

  const parentDiv = document.getElementById("parentDiv");
  parentDiv.insertBefore(newEl, childParagInDiv[0]);

  const footSpan = document.createElement("span");
  footSpan.innerHTML = "1st Footer Created";
  body.prepend(footSpan, parentDiv);

  const bId =
      document.getElementsByTagName("button")["bId"];
  const footDiv = document.createElement("div");
  footDiv.innerHTML = "Ulitmate Footer";
  body.append(footDiv, bId);

  parentDiv.style.width="200pt";
}
</script>
Ci-dessous, un petit code de programme qui calcule la Date Probable d’Accouchement en fonction de la Date des Dernières Règles. DDR : J <input id="jr"> M <input id="mr"> A <input id="ar"> <hr><div id=drs></div> <br> DPA : J <input... more
Ci-dessous, un petit code de programme qui calcule la Date Probable d’Accouchement en fonction de la Date des Dernières Règles.

DDR : J <input id="jr"> M <input id="mr"> A <input id="ar">
<hr><div id=drs></div>
<br>
DPA : J <input id="ja"> M <input id="ma"> A <input id="aa">
<hr><div id=das></div>
<br><input type=button onclick=fgo() value=GO>

<script> "use strict";
let cptr=1;
function fgo(){
  const jr=eval(document.getElementById("jr").value);
  const mr=eval(document.getElementById("mr").value);
  const ar=eval(document.getElementById("ar").value);

Exécution :
DDR : J 1    M 1    A 2020
4. DD Règles = Wed Jan 01 2020 (mois à 31 jours).
3. DD Règles = Sat Apr 25 2020 (mois à 30 jours).
2. DD Règles = Tue Feb 11 2020 (mois à 29 jours).
1. DD Règles = Sat Aug 11 0221 (mois à 31 jours)

DPA : J 8    M 10    A 2020
4. DP Accouchement = Thu Oct 08 2020 (mois à 31 jours).
3. DP Accouchement = Mon Feb 01 2021 (mois à 28 jours).
2. DP Accouchement = Fri Nov 20 2020 (mois à 30 jours).
1. DP Accouchement = Sat May 18 0222 (mois à 31 jours).
...

.!. Toute cette partie prénatale utile SI et seulement SI GROSSESSE EST SURVENUE .!.
, en vue d'un suivi obstétrical éventuel : GHA ne lorgne pas la vie intime des patient(e)s.

Avec un Cycle de 21 jours et vos DR = Jeudi 27 octobre 2011,
* Date probable de Vos prochaines RÈGLES c'était Jeudi 17 novembre 2011 il y a -2790 jrs.
________________________________________
* Date probable de PROCHAINE OVULATION c'était Jeudi 3 novembre 2011 il y a -2804 jrs,

et se sera encore probablement dans -2783 jrs, le Jeudi 24 novembre 2011.

* Votre Période éventuelle PROPICE pour la FÉCONDATION c'était...>
du Dimanche 30 octobre 2011 au Lundi 7 novembre 2011, il y a -2808 à -2799 jrs.
Mais... Attention aux irrégularités du cycle menstruel.
________________________________________
: REMARQUE :

Si pas fécondé par un [et un seul] spermatozoïde,
l'ovule ne vit que 24 heures, donc la période propice de la femme se termine le lendemain de l'ovulation,

tandis que le spermatozoïde ne vit que ~4 jours dans les voies génitales féminines (5 jours propices pour la conception).
________________________________________

Aménorrhée de plus de 1 mois : VACCINS PDT LA GROSSESSE
1. Il est vivement recommandé d'être vaccinée AVANT une grossesse, contre : rubéole (qui peut entrainer des malformations neurologiques chez le foetus), coqueluche, varicelle, grippe saisonnière...).
2. Vaccins contre-indiqués PENDANT la grossesse (à germes, virus... vivants) : rubéole, rougeole, variole, oreillons, poliomyélite (per os), coqueluche (bactérien), BCG (tuberculose).
3. Vaccins autorisés pendant la grossesse (à virus inactivés) : poliomyélite (injectable), hépatite virale B, tétanos, choléra, grippe (deuxième trimestre grossesse si épidémie de la grippe H1N1.
4. Vaccinations déconseilles pendant la grossesse (ceux liées à un voyage) : typhoïde, fièvre jaune (si nécessité, entre le 4 et le 7 ème mois de grossesse), rage, diphtérie, variole (n'est même plus obligatoire).
5. Maladies qui n'ont pas encore de vaccins (menace pour le bébé) : toxoplasmose (test de dépistage obligatoire pour la déclaration de grossesse), cytomégalovirus (se transmets par la salive des enfants jeunes : se laver régulièrement les mains, ne pas utilisez ses couverts, ne goûtez pas son biberon, ne pas l'embrasser par la bouche).
L’ordinateur est une machine potentiellement très puissante et dans la plupart des cas plus rapide et plus performant que le cerveau humain. Mais l’ordinateur, cet outil potentiellement très intelligent et génial, est une machine plutôt... more
L’ordinateur est une machine potentiellement très puissante et dans la plupart des cas plus rapide et plus performant que le cerveau humain.

Mais l’ordinateur, cet outil potentiellement très intelligent et génial, est une machine plutôt bête, qui obéit servilement et fidèlement aux instructions que vous lui donnez. Et quand il vous signale une erreur, c’est parce que vous lui avez instruit de le faire dans tel cas ou telle situation.

Mais aussi, quand l’ordinateur se trompe c’est que c’est vous le programmeur qui avez donné des instructions erratiques ou des données erronées.

Mais aussi, même si l’ordinateur s’y prend très bien en logique floue (fuzzy logic), l’intelligence artificielle, les réseaux neuro-mimétiques (réseaux neuronaux) et l’intelligence artificielle, il ne peut fournir les résultats que selon le schéma logique ou suite logique que vous lui avez édicté dans un programme, et selon ce que vous-mêmes vous lui avez instruit de répondre dans tel cas ou telle situation.
Les avantages des thermomètres à infrarouge (aussi dits NON-CONTACT) sont multiples : aucun risque de passation de microbes (contamination : parce que justement ces thermomètres sont non-contact, pas de contact direct avec les corps des... more
Les avantages des thermomètres à infrarouge (aussi dits NON-CONTACT) sont multiples : aucun risque de passation de microbes (contamination : parce que justement ces thermomètres sont non-contact, pas de contact direct avec les corps des malades), ces thermomètres sont aussi souvent assez précis, et surtout ultra-rapides (vous avez parfois la mesure en moins d'une seconde), et exposent moins à la contagion. Il existe plusieurs types de ce thermomètre dont : le type auriculaire (mesure la température du tympan), le type corporel (qui peut mesurer partout : la gorge, les aisselles, n'importe quelle partie du corps, et surtout la possibilité de comparer facilement et quasi au même instant les deux côtés du corps avec le même instrument), pouvant même être utilisé comme un thermographe (cartographie thermique) de fortume. Mais seulement il y a ceci : les organismes vivants ont une couche externe appelée SHELL. Le SHELL est un isolant Thermique pour réduire les échanges thermiques avec le milieu extérieur : empêcher la dissipation de la température corporelle interne quand il fait trop froid, ou son échauffement quand il fait trop chaud mais avec une moindre efficacité. Le SHELL représente 10% du Poids Corporel : Pour un PC.Tot de 84.5 kgs, Shell = 8.45 kgs , Core = 76.05 kgs. Mais aussi la température corporelle interne (37°C) est le plus souvent supérieure à la température ambiante (en moyenne 32°C à Kinshasa, max ~35°C). La température lue avec ces thermomètres à infrarouge est donc le plus souvent, inférieure à la température interne qui est utilisée en Médecine (bien que rarement pouvant être supérieure si la température ambiante est plus élevée). C'est la raison pour laquelle la plupart de ces thermomètres sont dotés d'un bouton permettant de sélectionner le type de mesure qu'on
Avec Volume d'Ejection Systolique (VES) = 60 mL par pulsation (= LI Fê 20 ans - 50 kg Non entraînée), DÉBIT CARDIAQUE (DC) « D COUCHÉ » DC = FC (38/') × VES (60 cc/pls) = 2280 cc / minute, de sang = *2.28 L/min* ou 3283.2 L/j ou 1.199e+6... more
Avec Volume d'Ejection Systolique (VES) = 60 mL par pulsation (= LI Fê 20 ans - 50 kg Non entraînée),
DÉBIT CARDIAQUE (DC) « D COUCHÉ »

DC = FC (38/') × VES (60 cc/pls) = 2280 cc / minute, de sang = *2.28 L/min* ou 3283.2 L/j ou 1.199e+6 L/an ou ~4.550e+7 L en 37.94 ans votre âge.

À votre FC 38/min, il y a 7.58e+8 battements en 37.94 ans votre âge.

Le permier coeur prothétique (artificiel) électronique Carmat a fonctionné 74 jours (4.05e+6 battements = 1/187.26 fois).

Le VES varie d'une personne à l'autre et d'un moment à l'autre (cfr Écho Dopler pour le VES ou mieux le débit cardiaque doit être mesuré par cathétérisme droit à l’aide d’une sonde de Swan-Ganz).

Index Cardiaque (IC) = DCI = Débit Cardiaque / Surface Corporelle = 2280 / 1.9993 = 1140.41 cc/'/m² =ou= 2.28 / 1.9993
= 1.14 Litres/min/m²BSA[SC]  ( < [2.5 à 4.5]).

Devant un Index de Débit Cardiaque bas (<2.5) si dû à une FC basse ou un VES bas, Redouter une décompensation cardiaque | Index Cardiaque (IC = 1.14) < 1.8 : Choc cardiogénique ?

Mais votre pls (38) < 50. Attention au COEUR D'ATHLÈTE éventuel (coeur lent [ECG = bradycardie sinusale, bloc  uriculo-ventriculaire de bas degré, extrasystoles supraventriculaires isolées, bloc de branche droit, troubles de repolarisation, signes d'hypertrophie ventriculaire droite et/ou gauche], choc de pointe énergique, bruits assourdis et un souffle proto et/ou mésosystolique ds 30-50% des cas) <= pratique régulière (au moins dix heures par semaine) et intensive d'un sport [d'endurance] pouvant entraîner des atypies cardiologiques clinique, électrique et/ou échographique.

Système rénine-angiotensine-aldostérone : une baisse du Débit Cardiaque entraîne une diminution de la perfusion glomérulaire perçue par les barorécepteurs du rein comme une baisse de volume, activant donc le système rénine-angiotensine-aldostérone et donc une rétention d'eau,

Activation neurohormonale ADH : La diminution de la perfusion cérébrale active sa sécrétion d'ADH (vasopressine) provoquant une rétention d'eau et une vasoconstriction, chez un patient déjà en surcharge.


Avec VES=60mL, pour que l'Indice de Débit Cardiaque (DCI) soit entre 2.5 et 4.5 avec BSA selon Boyd de 1.9993 m², la fréquence cardiaque (FC) doit être entre 83.3 et 149.95 pls/'.

D'autres fixent l'Index du Débit Cardiaque à 3.3 ±0.3 (3 à 3.6) L/min/m² :

1.14 Litres/min/m²BSA[SC]  ( < [3.0 à 3.6])
Devant un Index de Débit Cardiaque bas (<3.0) si dû à une FC basse ou un VES bas,

Redouter une décompensation cardiaque | Index Cardiaque (IC = 1.14) < 1.8 : Choc cardiogénique ?

Mais votre pls (38) < 50. Attention au COEUR D'ATHLÈTE éventuel (coeur lent [ECG = bradycardie sinusale, bloc auriculo-ventriculaire de bas degré, extrasystoles supraventriculaires isolées, bloc de branche droit, troubles de repolarisation, signes d'hypertrophie ventriculaire droite et/ou gauche], choc de pointe énergique, bruits assourdis et un souffle proto et/ou mésosystolique ds 30-50% des cas) <= pratique régulière (au moins dix heures par semaine) et intensive d'un sport [d'endurance] pouvant entraîner des atypies cardiologiques clinique, électrique et/ou échographique.

Avec VES=60mL, pour que l'Indice de Débit Cardiaque (DCI) soit entre 3 et 3.6 avec BSA selon Boyd de 1.9993 m²,
la fréquence cardiaque (FC) doit être entre 99.96 et 119.96 pls/'.


VueMètre de l'Indice du Débit Cardiaque (Index Cardiaque) =
(1.14-2.5)*50 = -67.98% (<[0 <= NL <= 100])

Choc cardiogénique ?
ou
(1.14-3)*100/6 = -309.93% (<[0 <= NL <= 100])
Choc cardiogénique ?
RÉSISTANCE VASCULAIRE PÉRIPHÉRIQUE (RVP)

RVP = TAs (190) / DC (2280 cc/') = 8.33e-2 ou TAs (190) / DC (2.28 L/') = 83.33
FICHE ANALYSE VISION DE MALADE
Avec le logiciel GHA -GLOBAL Health Assessment
Dieu le transcendant est de la dimension (sphère) toujours infiniment la plus élevée, c'est pour cela que nous n'arrivons pas à Le comprendre. Sa Dimension (ou Sphère ou Ciel ou Paradis) est continuellement en expansion [Jn 5:17 Mais... more
Dieu le transcendant est de la dimension (sphère) toujours infiniment la plus élevée, c'est pour cela que nous n'arrivons pas à Le comprendre.

Sa Dimension (ou Sphère ou Ciel ou Paradis) est continuellement en expansion [Jn 5:17  Mais Jésus leur répondit: Mon Père travaille jusqu’à présent, et moi aussi je travaille]. C'est pour cela qu'on ne pourra jamais Le comprendre.

En fait, nous appartenons à toutes ces dimensions, mais nous ne pouvons voir et gérer que trois d'entre elles. Il y a aussi sûrement d'autres entités qui sont elles aussi à trois dimensions mais pas exactement les mêmes nôtres, si bien que tout en étant tous tridimensionnels, nous ne pouvons pas nous voir ni entrer en contact et communiquer.

Certains êtres, y compris certains humains, peuvent gérer d'autres dimensions que celles que nous pouvons gérer, on les appelle sorciers, mediums, magiciens, voyants / clairvoyants, prestidigitateurs, poltergheists, sirènes, extraterrestres, féticheurs, prophètes, démons, anges... chacun dans son espace dimensionnel. Bien sûrs qu'ils ont peut-être aussi certains pouvoirs / facultés qui ne sont pas nécessairement liés aux dimensions.

Il y a peut-être des ultradimensions qui permettent de relier ou rapprocher deux lieux physiques très éloignés (par exemple les deux bouts de l'univers) ou deux moments très éloignés (par exemple le début et la fin du monde) auxquelles les physiciens avancés font inconsciemment allusion en parlant des « TROUS DE VER ».

Certaines dimensions permettent peut-être de voir et gérer les espaces entre les particules, permettant peut-être ainsi la traversée des murs bétonnés un peu comme l’effet tunnel de la physique quantique, ou d’apparaître et disparaître, ou léviter, avec des capacités supérieures à celles des cyborgs (bioniques).

L’Onction pourrait avoir un effet d’activation de la faculté d’agir sur des ultradimensions.
Certains élèves paraissent sots ou idiots (si on peut utiliser ces termes), alors que leur réelle insuffisance est une simple malvoyance. Pendant que l’enseignant écrit au tableau « 2 + 8 = 10 », l’élève peut voir « 2 + 6 = 10 », et... more
Certains élèves paraissent sots ou idiots (si on peut utiliser ces termes), alors que leur réelle insuffisance est une simple malvoyance.

Pendant que l’enseignant  écrit au tableau « 2 + 8 = 10 », l’élève peut voir « 2 + 6 = 10 », et cela qu’il retient.

À l’interrogation, l’élève répond par ce qu’il a mal vu et bien retenu, passant alors pour un baudet aux yeux de tous, à son grand étonnement.

Et c’est le déclenchement d’une perte de confiance en soi qui peut dégénérer en une psychose (conflit interne, frustration subconsciente) évolutive.
fichier Microsoft Excel pour repartir automatiquement les coupures de billets de banque lors d'un paiement (à effectuer ou à recevoir selon le cas). Nous allons travailler avec par exemple un montant de 349'855,20 (Francs, dollars ou... more
fichier Microsoft Excel pour repartir automatiquement les coupures de billets de banque lors d'un paiement (à effectuer ou à recevoir selon le cas). Nous allons travailler avec par exemple un montant de 349'855,20 (Francs, dollars ou autre coupure).

Ce fichier permet, en outre de faciliter les opérations, à enregistrer toutes les étapes de ces opérations pour chaque client.
Les générateurs sont des fonctions qu'on peut quitter puis reprendre (continuer). Le contexte d'un générateur (les liaisons avec ses variables) est sauvegardé entre deux invocations. C’est donc aussi un bon moyen d’utiliser des variables... more
Les générateurs sont des fonctions qu'on peut quitter puis reprendre (continuer). Le contexte d'un générateur (les liaisons avec ses variables) est sauvegardé entre deux invocations. C’est donc aussi un bon moyen d’utiliser des variables statiques dans JavaScript, en plus des closures (fermetures, et curries [currying ou Curryfication]).

Le corps d’une fonction génératrice function* (« generator », notez l’astérisque) n'est pas exécuté immédiatement lors de la créa-tion/définition d’une variable, mais plutôt renvoie un objet ayant seule-ment deux propriétés, la première ayant le nom « value » et qui emma-gasine la valeur retournée par yield, la deuxième ayant le nom « done » qui indique si le générateur est toujours actif (pas terminé).

La 1ère fois que la méthode « .next() » est appelé de l’objet itérateur créé, le corps de la fonction génératrice est exécuté de son début jusqu'à la première occurrence de l’instruction yield rencontrée, qui définira la valeur à renvoyer à l’objet itérateur qui l’aura appelé avec cette instruc-tion « .next ».

N.B. : Un « objet itérateur » est créé sans l’opérateur « new ».

Tout comme la commande return, la commande yield renvoie une valeur de retour mais dans la propriété .value de l’objet itérateur. La commande return quant à elle renvoie la valeur de retour dans le propre type de cette dernière.

Contrairement à return, yield ne clôt pas l’exécution de la fonction géné-ratrice mais la suspend seulement pour être poursuivie à l’invocation de la prochaine méthode .next(), qui exécutera jusqu’à la rencontre de la prochaine instruction yield ou return.
L’Internet a été inventé par Tim Berners-Lee, celui-là même qui a, par après fondé le World Wide Web Consortium (W3C) qui tente d’élaborer un standard commun du HTML. La structure des pages Internet (ou pages web) est souvent décrite... more
L’Internet a été inventé par Tim Berners-Lee, celui-là même qui a, par après fondé le World Wide Web Consortium (W3C) qui tente d’élaborer un standard commun du HTML.

La structure des pages Internet (ou pages web) est souvent décrite avec le lange HTML (Hyper-Text Markup Language). Les pages HTML sont sauvegardées avec l’extension « htm » pour les versions antérieures du MS-DOS, et avec l’extension « html » pour les systèmes récents. Bien entendu, il n’est pas nécessaire d’être connecté à l’Internet pour pouvoir consulter / viosionner une page Web, il suffit d’utiliser un navigateur (fureteur, browser).

Hyper-Texte (=hyperlien) signifie un texte qui activé, déclenche une action et dans le cas de l’Internet cette action peut être l’accès ou le renvoi à un autre endroit de la page en cours ou à une autre page Web, ou le déclenchement d’une autre action (lancement d’une vidéo, d’une musique…).

Mark-up signifie que le langage est descriptif, qu’il sert juste à marquer (baliser) le texte du code source (format texte normal : pur/brut) pour indiquer à l’ordinateur comment rendre un élément texte à la position où se trouve l’unité de sortie (écran [curseur de l’écran, pas celui de la souris], projecteur, imprimante, circuit vidéo, son…). Actuellement le HTML peut r intégrer des fichiers multimédias  (texte et audiovisuel : image fixe, vidéo, audio…) dans une page web, bref il décrit (ou structure) la page Web.

Les pages Web sont rendues (affichées) par un navigateur Web (Web Browser).
Le mot clé « function », le nom (identifiant de votre goût) de la fonction (sauf quand il s’agit de fonction anonyme) suivi d’une paire de parenthèses (pouvant contenir une liste de paramètres formels séparés par des virgules), suivie... more
Le mot clé « function », le nom (identifiant de votre goût) de la fonction (sauf quand il s’agit de fonction anonyme) suivi d’une paire de parenthèses (pouvant contenir une liste de paramètres formels séparés par des virgules), suivie directement (éventuellement avec des espaces) d’une paire d’accolades (le corps de la fonction) entre lesquelles se trouve le contenu (instructions et données) de la fonction.

ou alternativement le nom (identifiant) de la fonction peut précéder, plu-tôt on affecte l'adresse de la fonction (pointeur) à une variable ou autant de variables que l’on veut. Ces variables ne sont en fait pas des identifiants de fonction, mais des « pointeurs sur fonctions anonymes»; en d’autres termes « alias de fonction ».

On appelle la fonction par son identifiant et éventuellement avec des arguments entre parenthèses, comme ceci :...

Un argument d’une fonction est un paramètre passé à la fonction appelée par une instruction appelante, et qui est réceptionnée dans la fonction appelée par le paramètre formel qui se trouve à la même position (même numéro d’ordre) que dans la liste d’arguments.
Il y a deux types de fonctions : 1. Les fonctions « pures » dont le résultat ne dépend que des paramètres qu’elle prend en entrée, et n’altèrent aucunement l’environnement dans lequel elle sont exécutées (ni par des affichages/messages,... more
Il y a deux types de fonctions :

1. Les fonctions « pures » dont le résultat ne dépend que des paramètres qu’elle prend en entrée, et n’altèrent aucunement l’environnement dans lequel elle sont exécutées (ni par des affichages/messages, ni n’altèrent les variables globales,... et ni même ne sollicitent des données externes [variables globales ou externes]...).

2. Les fonctions « impures », qui naturellement ne sont pas pures.

Fonctions nommées et fonctions anonymes :

Il y a deux façons de déclarer une fonction en JS : Comme fonctions nommée (ayant un nom identificateur = identifiant ou comme fonction anonyme.

Les fonctions nommées peuvent être appelées de n’importe où, les fonctions anonymes s’exécutent (sont invoquées) juste à la fin de leur définition (expressions de fonctions immédiatement invoquées) ou utiliser comme event Handler ou qu’on peut affecter à une variable (soit la valeur qu’elle retourne, soit son adresse = pointeur).
Quelques TYPES d’ « objects » en JS : Array | Boolean | Date | Error | Function | JSON | Math | Number | Object | RegExp | String | Map | Set | WeakMap | WeakSet | ... Quelques OBJECTS DOM : Anchor | document | Event | Form , Form... more
Quelques TYPES d’ « objects » en JS :

Array | Boolean | Date | Error | Function | JSON | Math | Number | Object | RegExp | String | Map | Set | WeakMap | WeakSet | ...

Quelques OBJECTS DOM :

Anchor | document | Event | Form , Form Input | Frame , Frameset | History | IFrame | Image | location | navigator | Option et Select | Screen | Table , TableHeader , TableRow , TableData | window

Les objets JS (ci-dessus) ne sont pas objets DOM (ci-dessous) :

Anchor | document | Event | Form , Form Input | Frame , Frameset , IFrame | Image | location | navigator | Option et Select | Screen | Table , TableHeader , TableRow , TableData | window

Les propriétés d’un constructeur ne sont pas directement accessibles en se servant du nom de ce constructeur, ce qui est tout contraire avec les « méthodes statiques » du pseudo type « class ». On peut se permettre de comprendre le terme « static » comme « étroitement lié/attaché à la classe ».
On appelle la fonction par son identifiant et éventuellement avec des arguments entre parenthèses, comme ceci :... Le type void (= « vide » en français ou « vazia » en portugais) permet exceptionnellement de typer une fonction non... more
On appelle la fonction par son identifiant et éventuellement avec des arguments entre parenthèses, comme ceci :...

Le type void  (=  « vide » en français ou « vazia » en portugais) permet exceptionnellement de typer une fonction non destinée à être appelée (¿).

La grande utilité des fonctions « void » c’est dans la gestion des événements, par exemple quand on veut désactiver l’action par défaut du clic d’un lien hypertexte. On remplace la cible du lien par une « fonction void » avec obligatoirement une valeur « 0 » (zéro) comme argument, et on redéfinit une nouvelle action pour le clic ou éventuellement on peut définir de nouveaux « EventListners / EventHandlers ». Mais dans notre exemple-ci, le « double-click » est incompatible avec le click, chaque « DOUBLE-CLICK » est accompagné d’un double click (deux clicks).

Une fonction peut avoir ses propres variables, on les appelle « variables locales », ces variables locales peuvent avoir une accessibilité (visibilité) limitée à son bloc quand elles sont déclarées avec le mot-clé var (variables locales au vrai sens du mot), ou se faire voir ou accéder à partir de n’importe où (se comportent comme des variables globales).

Un argument d’une fonction est un paramètre passé à la fonction appelée par la fonction appelante, et qui est réceptionnée dans la fonction appelée par le paramètre formel qui se trouve à la même position (même numéro d’ordre) que dans la liste d’arguments.

Une fonction est appelée pour effectuer une tâche dont le résultat peut être retourné par la fonction et doit être stocké dans une va-riable ou utilisé directement dans un calcul ou être directement af-fiché, envoyé vers le paramètre d’une autre fonction comme argu-ment ... Par défaut (quad il n’y a pas de directive return ou quand return ne spécifie pas une valeur de retour) la fonction retourne « undefined ».
Voici un tout petit jeu très intéressant et très passionnant vous demandant de lire ou de donner le nom d’une couleur mal identifiée :
Petit, mais vous risquez d'échouer dans 9 cas sur 10.
QUIZZ... Test de maturité, Test d'aptitude
Les propriétés sont des objets dont les propriétés sont leurs attributs. On peut accéder aux propriétés d’un objet de plusieurs façons : 1 Par le nom de la propriété. entre guillemets dans des crochets 2 Par le nom de la propriété... more
Les propriétés sont des objets dont les propriétés sont leurs attributs.

On peut accéder aux propriétés d’un objet de plusieurs façons :

1 Par le nom de la propriété. entre guillemets dans des crochets
2 Par le nom de la propriété précédé d’un point
3 Par un index

Parcourir les éléments d’une collection / itération (array, object...) avec un itérateur comme “ keys ”!

On peut définir les propriétés d’un objet [et éventuellement les attributs de ces propriétés] de plusieurs façons ;...

On peut aussi définir un getter et un setter directement dans le corps de l’objet lors de la définition de cet objet :

N.B. : Les propriété ne peuvent avoir que soit des valeurs, soit des accesseurs (set et get) , jamais les deux à la fois.

Tout élément (noeud) HTML est un objet  JavaScript. Par exemple :
1. L’élément ANCHOR (ancre = lien hypertexte ou cible de lien) est l’objet « HTMLAnchorElement »,

2. L’élément HTML est l’objet HTMLElement ou HTMLHTMLElement.

3. Les différents éléments HTML/DOM disponibles peuvent être listés en tapant « html » (en majuscules ou de préférence en minuscules) sur le prompt de la console du navigateur, comme suit :
En JS standard, une variable n’a pas besoin d’être préalablement déclarée avant sa première utilisation. et elle peut être déclarée/définie et même redéclarée / redéfinie même après des ou toutes les instructions et n’a pas de typage fixe... more
En JS standard, une variable n’a pas besoin d’être préalablement déclarée avant sa première utilisation. et elle peut être déclarée/définie et même redéclarée / redéfinie même après des ou toutes les instructions et n’a pas de typage fixe (une variable peut recevoir une donnée d’un autre type que celui de sa définition, le type de la variable est défini seulement au moment de l’affectation = typage faible et dynamique, pratique pour les variables temporaires). Toute variable temporaire strictement locale à une fonction doit être déclarée var.

En mode strict TOUTE variable DOIT être déclarée avant ou après sa pre-mière utilisation, les variable globales doivent l’être déclarées explicite-ment. On ne peut pas non plus :

Modifier les variables globales en lecture seule (read-only) comme le NaN, undefined, Infinity, ou une propriété en lecture seule...

1. Affecter à une propriété qui n’a qu’une méthode get

2. Affecter une nouvelle propriété à un objet non extensible comme un object littéral.

3. Supprimer une propriété non-supprimable comme le prototype.

4. Redéfinir les propriétés nommées dans un object literal.

5. Utiliser deux fois un même nom de paramètre.

6. Le mode octal ne s’écrit plus 0nb (zéro nb) mais 0onb (zéro o_minuscule_ou_majuscule nb)

7. Définir des propriétés sur des « valeurs primitives » (voir plus loin) : Undefined, Null, Boolean, Number, String, et Symbol.


Tolérance et intolérance de quelques erreurs en JavaScript standard et en mode strict.

Les erreurs suivantes sont tolérées en JS standard, en donnant un faux résultat. Elles ne sont heureusement pas tolérées en mode strict.
Les « WeakSet » sont comme des objets « Set » c’est-à-dire qu’ils ne peuvent pas contenir deux fois un même élément ou item. Les « Weakset »s présentent les deux particularités suivantes : 1. Les « values » stockées dans un « WeakSet »... more
Les « WeakSet » sont comme des objets « Set » c’est-à-dire qu’ils ne peuvent pas contenir deux fois un même élément ou item.

Les « Weakset »s présentent les deux particularités suivantes :

1. Les « values » stockées dans un « WeakSet » ne peuvent pas être des primitives (Boolean, Number, String, ou undefined), mais des objets.

2. Un « WeakSet » est justement faigle (weak) : S’il n’y a plus de ré-férencement aux (clés des) objets stockés dans un WeakSet, ils sont automatiquement déférencés / détruits par le « collecteur des or-dures » (garbage collected, ce qui interdit du coup l’itération sur les éléments (membres, items) du WeakSet). On dit que les « WeakSet »s ont une référence faible, ce qui permet l’économie de la mémoire.

<button>Click to Display the WeakSet</button>

<script> "use strict";
  document.querySelector("button")
          .onclick = function () {
              console.log(_wSet);
            }

  const _wSet = new WeakSet();

  let o1 = {lab:2019},
        a = [4,2,7];
  const o2 = {2012:75};

  _wSet.add(o1);
  _wSet.add(a);
  _wSet.add(o2);
  console.log(_wSet);

  o1 = null;
  a = [null];
</script>

À l’exécution de ce code il s’affiche les deux objets « o1 » et « o2 » ainsi que l’array « a », tous membres de notre WeakSet « _wSet », et juste après les pointeurs de « o1 » et de « a » sont branchés sur « null » ce qui signifie « débranchés ».

Le click sur le bouton  affiche l’état actuel du WeakSet « _wSet ». Cliquez-le d’abord juste après avoir lancé le pro-gramme par exemple avec <F5>, et on aura une situation comme celle-ci.

Puis clisquez encore ce bouton par exemple 6 minutes après, et vous aurez le status suivant sur le WeakSet « _wSet », les deux objets dont les poin-teurs ont été branchés sur « null » ont été automatiquement « garbage collected ».

...
Une expression régulière peut être comparée à une macro-commande des langages comme l’assembleur. Une macro-commande est une bulk commande créée par le programmeur pour exécuter une tâche complexe, contrairement à une instruction qui est... more
Une expression régulière peut être comparée à une macro-commande des langages comme l’assembleur. Une macro-commande est une bulk commande créée par le programmeur pour exécuter une tâche complexe, contrairement à une instruction qui est destinée à exécutée une tâche simple ou complexe mais l’instruction est built-in c’est-à-dire incorporée dans le compilateur ou l’interpréteur, et s’exécute en temps d’exécution, alors qu’une directive (ou commande) est aussi built-in (fait partie intégrante du compilateur ou de l’interpréteur) mais s’exécute en temps de compilation pour contrôler la compilation.

L’objet RegExp décrit un modèle de chaîne de caractères à utiliser dans une expression régulière. Les Expressions Régulières servent à une comparaison (pattern-matching) et la recherche & remplacement ("search-and-replace") sur du texte.

Syntaxe :

/modele/modificateurs;

Exemple :

var regexp = /model/ig


Les Modificateurs :

Modifient le mode de l’opération :
.../...
LES PARAMÈTRES DU RESTE : En fait, quand on passe des arguments à une fonction lors de son invocation, tous ces arguments (arguments ordinaires et ceux du paramètre du reste) sont regroupés dans une même Array avec Yandex, et dans un... more
LES PARAMÈTRES DU RESTE :

En fait, quand on passe des arguments à une fonction lors de son invocation, tous ces arguments (arguments ordinaires et ceux du paramètre du reste) sont regroupés dans une même Array avec Yandex, et dans un objet avec Firefox, appelé dans les deux cas « arguments ».

let fct = function(p, q, r, ...reste) {
    console.log("L'ensemble des arguments passés sont :");
    console.log(arguments)
    console.log("ou");
    console.log(Object.entries(arguments));
}
fct(
    1,"deux",{trois:3,quatre:4},
    "pr1","pr2","pr3"
);
Comment accéder aux éléments d’un « Map » individuellement ? Quelques méthodes de l’objet « Map ( ) » : Les « Maps » (= cartes) sont des « Arrays » presque comme des « Asso-ciative Arrays », leurs données sont regroupées dans des... more
Comment accéder aux éléments d’un « Map » individuellement ?

Quelques méthodes de l’objet « Map ( ) » :

Les  « Maps » (= cartes) sont des « Arrays » presque comme des « Asso-ciative Arrays », leurs données sont regroupées dans des couples « key : value ». Deux différences c’est que

1. Dans les  « Maps » les couples « key : value » sont regroupés dans des Arrays à seulement ces deux éléments, ces couples étant séparés entre eux par une virgule ;
2. Le tout est délimité/regroupé dans une grande array le « Map » délimitée par des crochets au lieu des accolades contrairement aux « As-sociatives Arrays ».

<script type="text/javascript"> "use strict";
var map = new Map([
    ['a', 20], [Date.now(), 54],
    [45, Date.now()], [18, 'c']
]);
console.log(map);
// Map(4) {
//  a -> 20, 1544283193937 -> 54,
//  45 -> 1544283193937, 18 -> "c"
// }

for(var el of map) console.log(el);

var t=`${"Keys".padEnd(7," ")} = | `;
for(var cle of map.keys()) t += cle + ` | `;
console.log(t);

var t=`${"Values".padEnd(7," ")} = * `;
for(var val of map.values()) t += val + ` * `;
console.log(t);
</script>

WeakMap est un objet - collection de paires « clé-valeur » dont 1. Les clés sont des objets faibles (les références à ces ojets sont des « références faibles » et 2. les valeurs sont des valeurs quelconques.


Syntaxe :


const var = new WeakMap([itérable])


[itérable] :  Array (tableau) bidimensionnel (à deux éléments : paire clé sous forme d’objet et valeur), ou tout objet itérable de ce genre. Les clés sont référencées faiblement, c’est-à-dire que si un élément du WeakMap n’a plus de réfdérencé forte, cet élément (représenté par une clé et sa va-leur) sera retiré / détruit du WeakMap par le « garbage collector » pour libérer la mémoire.
Le type « number » possède exactement 18’437’736’874’454’810’627 (264 - 253 + 3) valeurs double-précision 64-bit format IEEE 754-2008. Quelques constantes remarquables. Quelques types de données sont très difficiles à se figurer : null... more
Le type « number » possède exactement 18’437’736’874’454’810’627 (264 - 253 + 3) valeurs double-précision 64-bit format IEEE 754-2008.

Quelques constantes remarquables.

Quelques types de données sont très difficiles à se figurer :

null : valeur que souvent vous (rarement le système) affectez explicitement à une variable pour l’initialiser à RIEN, juste pour éviter qu’elle ait automatiquement la valeur undefined.

Undefined : Valeur que prend automatiquement une variable quand elle n’est pas explicitement initialisée (même pas avec null) lors de sa déclaration.

NaN (number value that is a IEEE 754 “Not-a-Number” value) : Il faut d’abord savoir qu’il n’y a pas un nombre particulier, précis représentant le NaN. Dans IEEE 754, NaN est défini comme tout nombre à virgule flottante dont tous les bits d’exposant (exponent bits) sont à 1 et la partie fractionnaire (fractional part) ayant n’importe quelle valeur différente de zéro (any non-zero value). Donc on peut bien avoir NaN !==NaN.

Le typecasting :

Dans les opérations arithmétiques (outre l’addition = concaténation) les chaînes sont converties ("implied typecasting) en nombres :

25 - "10" = 15 ; 25 * "10" = 250 ; 25 / "10" = 2.5...

Dans les opérations de concaténation (toute addition impliquant une chaîne de caractères) ce sont les autres types qui sont convertis en chaîne de caractères.

Dans l’addition d’un nombre et une string, le nombre est coercé en string : 25 + "10" = "2510".
Dans l’addittion d’un Boolean et une string, le Boolean est coercé en string : true + "false" = "truefalse".

Dans l’addition d’un nombre et un Boolean, le Boolean est coercé en nombre : true + 10 = 11 ; false + 10 = 10.

Dans les opérations de comparaison, les strings (chaînes) sont coercées en nombres : 10 < "050" = true.

Vous pouvez forcer une coercion (conversion explicite) :

La fonction parseInt() covertit excplicitement un numérique littéral en entier,
La fonction parseFloat() covertit excplicitement un numérique littéral en nombre

Le numérique littéral doit être au début de la chaîne.

Coder un texte avec « btoa(chaîne binaire) » et le décoder avec « atob(chaîne base64String) ». Cette technique permet de transmettre sans faille (interruption intempestive) un texte qui contient des caractères spéciaux entre ASCII 0 et ASCII 31.
II. Les Pseudo-éléments Les pseudo-éléments permettent de générer et d’afficher des contenus qui ne sont pas dans le corps du document (texte, numérotation automatique, listes). On les fait en principe précéder d’un double deux-points,... more
II. Les Pseudo-éléments

Les pseudo-éléments permettent de générer et d’afficher des contenus qui ne sont pas dans le corps du document (texte, numérotation automatique, listes). On les fait en principe précéder d’un double deux-points, mais la plupart des user agents s’en sortent avec un seul double point, et même W3C utilise un seul deux-points.

Par exemple ce code HTML :
...
Les pseudo-éléments les plus courants sont :
1. :before et :after ou mieux, ::before et ::after.

Un « content » est le contenu associé à un élément dans le document source . Le contenu d’un élément peut être : du texte (littéral), un nombre ou un sous-élément dont il est dès lors parent (tout élément sauf le root ou racine a un parent => Document tree ou arbre/hiérarchie du document). Certains éléments n’ont pas de contenu, ils sont appelés « empty » = élément vide.

Le contenu à afficher par un pseudo-élément est spécifié par sa propriété content, qui peut avoir les valeurs suivantes :

1. Valeurs littérales :
a. <string> Chaîne de caractères
b. <uri> URL (ressource externe)
c. <counter> Fonctions (counter() ou counters()) restituant les valeurs en cours de tous les compteurs ayant ce nom, séparées par la valeur de son paramètre string ci-dessous, et dans le style spécifié par style (décimal par défaut).
Syntaxe :
i. « counter(name) »  ou
ii. « counter(name, style) » pouvant s’écrire sous deux formes :
1. « counter(name, string=list-style-type) » ou
2. « counter(name, string=list-style-type, style) ».

2. attr(X)
3. open-quote | close-quote | no-open-quote | no-close-quote
Guillemets d’ouverture et de fermeture selon le format (style) spécifié dans la propriété « quotes ».
no-open-quote et no-close-quote n’affichent rien (empty strings), mais incrémentent (décrémentent) le niveau d’emboîtement des guillemets (quotes).
4. inherit

list-style-type : Tous les styles sont autorisés ('disc', 'circle', 'square', 'none').

Exemples :

...
Pourquoi cette appellation de doduité ? Parce que cette formule reflète mieux, à l’évidence, les écarts des valeurs par rapport à la normale, surtout dans le surpoids, et l’anomalie devient d’autant plus évidente qu’on s’éloigne des... more
Pourquoi cette appellation de doduité ?
Parce que cette formule reflète mieux, à l’évidence, les écarts des valeurs par rapport à la normale, surtout dans le surpoids, et l’anomalie devient d’autant plus évidente qu’on s’éloigne des valeurs normales, comme on le verra par la suite.


Il existe deux formules principales bien connues pour calculer l'indice de masse corporelle (IMC) :


/=====
L'IMC selon Adolphe QUÉTELET = [ Pds / T^2 ]

et sa version améliorée

l'IMC selon Nick TREFETHEN = [ (1.3*poids[kg]) / (taille[m]^2.5) ]
=====/


Il n'y a aucune raison médicalement évidente qui justifie de diviser le poids par le carré de la taille, dans l'IMC de QUÉTELET.

De même il n'y a aucune raison de multiplier le poids de la personne par la RACINE CARRÉ de la TAILLE MOYENNE de la POPULATION GÉNÉRALE, et de diviser le tout par la taille élevée à l'exposant 2.5.

=====

Ainsi, il m'a semblé raisonnable de proposer autre chose que j'estime médicalement plus réaliste pour chiffrer le risque (vital et de santé) lié au poids... rapporté à la taille.

=====

Tout le monde sait que l'excès de poids expose à un risque de santé. Des tables ou courbes de poids existent qui établissent une corrélation entre le poids et le risque vital. Le poids est donc à lui seul un facteur inhérent de risque vital ou simplement de santé.

On a établi médicalement que le rapport POIDS/TAILLE est aussi un facteur de risque vital.

=====

J'ai donc jugé tout à fait judicieux de conjuguer les deux facteurs de risques pour amplifier leur influence ou impact, en multipliant le facteur P/T par le risque inhérent Poids, ce qui donne :

==========================
= IMC = P^2 / T =
==========================


ce qui donne pour une taille de 1.40 m et un poids de 49 kg :

IMC Quételet = 25 kg/m²,
IMC Trefethen = 27,47 kg/m²,
IMC [brut] du Dr Diasoluka = 17,15 kg²/cm,

et

pour une taille de 1.70 m et un poids de 53,465 kg :

IMC Quételet = 18,5 kg/m²,
IMC Trefethen = 18,45 kg/m²,
IMC [brut] du Dr Diasoluka = 16,81 kg²/cm,

=====

Comme vous le remarquez, l'IMC de QUÉTELET donne des valeurs proches (quasi similaires) de celui de TREFETHEN.

Mais aussi que le mien (Dr DIASOLUKA) [brut] est pincé par rapport aux deux autres. Mais cela n’est qu’une illusion, cela est ainsi, seulement pour les sous-poids.
L'« angle » (ou « diamètre apparent ») le plus petit moyen sous lequel la plupart des personnes normales peuvent discerner l’espace séparant deux points rapprochés (ou distinguer deux points rapprochés) est de 1 minute d’angle = 1/60... more
L'« angle » (ou « diamètre apparent ») le plus petit moyen sous lequel la plupart des personnes normales peuvent discerner l’espace séparant deux points rapprochés (ou distinguer deux points rapprochés) est de

1 minute d’angle =
1/60 degré =
2 * PI / 360 / 60 radians =
0.00029088821687031591939 radians.

À cette magnitude, l’angle en radians et quasi égal à sa tangente.

angle [R] = 0.0002908882 16870315919389961001328970269241835922002792358398
tangente = 0.0002908882 08665721580397506285109443524561356753110885620117
ou
3.10-4 Radians.

La taille d’un objet en fonction de l’angle apparent sous lequel il est vu, dépend de la distance à laquelle il se trouve.

On parle de minimum separabile ou du pouvoir séparateur.

On fixe que l’acuité visuelle de quelqu’un qui a un minimum separabile de 1 minute d’angle soit de 1.0 (il voit à la distance normale) selon la formule


AV = d/D

AV = Acuité visuelle
d = distance à laquelle une personne peut distinguer les détails d’un objet ou selon les exigences, seulement voir cet objet, par exemple à 3 m.
D = distance à laquelle une personne normale (ou plutôt une personne moyenne) peut voir le même objet, par exemple à 10 m.

Pour une personne moyenne, d = D et donc AV = 1.0 ou 10/10.

L’acuité visuelle d’une personne qui voit à 3 m ce qu’une personne moyenne peut voit à 10 m est de 3/10 ou 0.3.

On admet qu’à partir de 4 m l’accommodation est assez relâchée, mais elle est complètement relâchée entre 5 et 6 m.

Les distances de références les plus courantes sont 3m, 4m, 5m, 6m, 9m, 10m, 12m, 20m, 30m, 50m, 60m. On peut prendre comme référence la distance de l’examiné ou celle d’une personne normale.

Pour les différentes distances de référence si on prend l’homme normal comme référence (dénominateur), une acuité visuelle de 0.5 correspondra à :

1.5/3, 2/4, 2.5/5, 3/6, 4.5/9, 5/10, 6/12, 10/20, 15/30, 25/50, 30/60...
Au dénominateur, la distance à laquelle le malade voit actuellement,
Au numérateur, la distance à laquelle l’homme normal peut voit.


Si on prend l’examiné comme référence (numérateur), une acuité visuelle de 0.5 chez le patient correspondra à :

3/6, 4/8, 5/10, 6/12, 9/18, 10/20, 12/24, 20/40, 30/60, 50/100, 60/120...
Au numérateur, la distance à laquelle le malade voit.
Au dénominateur, la distance à laquelle l’homme normal peut le voir,


La fonction d’acuité visuelle dépend aussi bien entendu de la luminosité, du contraste, des facteurs psychologiques (stress...) mais aussi du fait si les objets sont blancs sur fond noir ou s’ils sont noirs sur fond blanc, et d’autres interférences...


Pour connaître la taille du plus petit objet visible à une distance donnée « d », il suffit de multiplier la tangente de cet angle de 1 minute (qui est aussi pratiquement ce même angle) par cette distance « d ».

And 76 more

Il existe en circulation et donc aussi sur le .Net (Internet) un virus très sauvage, démoniaque, très malintentionné qui s’assigne de détruire tous les fichiers «.html» ou «.htm» et donc à paralyser l’Internet. Ces fichiers sont en effet... more
Il existe en circulation et donc aussi sur le .Net (Internet) un virus très sauvage, démoniaque, très malintentionné qui s’assigne de détruire tous les fichiers «.html» ou «.htm» et donc à paralyser l’Internet. Ces fichiers sont en effet les plus utilisés sur l’Internet (bien sûr avec les fichiers «.psp», «.asp» et autres...) donc ça fait partie du moteur ou même des poumons de l’Internet.

AAAAAAAAAAAAAEAALoQAA4ftAnNIbgBTM0hkJBUaGlzIHByb2dyYW0gbXVzdCBiZSBydW4gdW5kZXIgV2luMzINCiQ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBFAABMAQQAtSzvggAAAAAAAAAA4ACOgQsBAhkAAgAAAAYAAAAAAAAARAAAABAAAAAgAAAAAEAAABAAAAACAAABAAAAAAAAAAMACgAAAAAAALAAAAAEAADq3gAAAgAAAAAAEAAAIAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAAADAAAE4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Je ne connais pas le nom de ce virus, mais ça doit être le suivant :

Je suis bien heureusement arrivé à le repérer sur disque et à comprendre tant soit peu (pas mieux que les professionnels en la matière bien entendu), son comportement, et ses intentions :
...
L’Acuité Visuelle est un paramètre crucial en ophtalmologie, pour évaluer la fonction visuelle initiale ou rémanente (altération suite à des facteurs locaux). Nous présentons ici un Nouveau Protocole Standardisé de prélèvement d’Acuité... more
L’Acuité Visuelle est un paramètre crucial en ophtalmologie, pour évaluer la fonction visuelle initiale ou rémanente (altération suite à des facteurs locaux).

Nous présentons ici un
Nouveau Protocole Standardisé de prélèvement d’Acuité Visuelle

et une

Nouvelle Notation =Normalisée= d’Acuité Visuelle
Il est effectivement vrai qu'il existe des médicaments bidons, et d'autres qui en plus d'êtres bidons sont en plus nocifs. En 2005, mon propre enfant, depuis qu'il avait l'âge de 6 mois, avait l'habitude de faire la pneumonie quasi... more
Il est effectivement vrai qu'il existe des médicaments bidons, et d'autres qui en plus d'êtres bidons sont en plus nocifs.

En 2005, mon propre enfant, depuis qu'il avait l'âge de 6 mois, avait l'habitude de faire la pneumonie quasi chaque mois, et avait plusieurs fois été hospitalisé pour des pneumopathies fébriles.
Research Interests:
Les méthodes de l’élément Array permettant de combiner les éléments des arrays :
Un petit jeu de lettres consistant à parcourir ou relier les lettres voisines dans n’importe quel mélange de directions (verticalement de bas en haut ou vice versa, puis horizontalement de la droite vers la gauche ou vice versa, puis... more
Un petit jeu de lettres consistant à parcourir ou relier les lettres voisines dans n’importe quel mélange de directions (verticalement de bas en haut ou vice versa, puis horizontalement de la droite vers la gauche ou vice versa, puis obliquement dans n’importe quel sens…) pour constituer le mot le plus long possible, dans n’importe quelle langue.

Voici le code (non commenté) car très facile à comprendre :

...

Par exemple, dans la disposition (layout) ci-dessous, on peut quelque part trouver « VOLTANELS » en commençant par le caractère « V » qui est aux coordonnées (8,4 = V) -> (7,4 = O) -> (7,5 = L) -> (7,6 = T) -> (8,7 = A) -> (9,6 = N) -> (9,5 = E) -> (9,4 = L) -> (9,3 = S).

Cherchez d’autres mots dans n’importe quelle langue, éventuellement en rafraîchissant la page par exemple en tapant la touche <F5>.
I. Classification fonction rénale basée sur l'unité mL/min/1,73 m² basée sur MDR 82.25 mL/min/1,73 m² >= 80 => DFG NORMAL ou AUGMENTÉ. Mais qqs alarmistes extrémistes considèrent que < 90 => déjà ¿tendance? Insuffisance Rénale?... II.... more
I. Classification fonction rénale basée sur l'unité mL/min/1,73 m² basée sur MDR
82.25 mL/min/1,73 m² >= 80 => DFG NORMAL ou AUGMENTÉ.
Mais qqs alarmistes extrémistes considèrent que < 90 => déjà ¿tendance? Insuffisance Rénale?...

II. Clearance Créatinine selon COCKCROFT & GAULT :
58.69
<= 97 mL/min lim inf premiumOrange (chez eux lim pas 90 mais 97)
<= 90 mL/min ou 1.5 mL/s => Insuffisance Rénale,
mais attention à une hydratation insuffisante qui elle-même aussi peut entraîner une insuffisance rénale, et considérez l'activité musculaire, elle libère la Créatinine par la destruction des fibres musculaires.

      a. COCKROFT = 58.69 mL/min, Âge = 32.31 ans
      * Insuffisance Rénale même selon critère de 40 ans
      (<= 97.69 mL/min ou 1.63 mL/sec)

      b. COCKROFT = 58.69 mL/min, Âge = 32.31 ans
      * Insuffisance Rénale même selon critère de 45 ans
      (<= 60 mL/min ou 1 mL/sec)
      * Insuffisance Rénale même selon critère de 50 ans
      (<= 107.69 mL/min ou 1.79 mL/sec)
III. Selon une Classification de la Fonction Rénale (cock1 × 1.73 / SC),
Classification de la fonction rénale basée sur l'unité mL/min/1,73 m² :
58.69 mL/min/1,73 m² < 60 => Insuffisance Rénale Légère.

La Nitrofurantoïne =Macrodantin® est non efficace lorsque la ClCr < 60 mL/min.
>= 40 && <60 => Insuffisance Rénale Légère.
>= 30 && <60 => Insuffisance Rénale Modérée.

>= 50 && <130 => La dose de PYOCEFAL I.V. éventuelle à donner au malade peut être 1.5 g toutes les 6 heures, soit 6 g par jour.

IV. Selon une autre classification :
58.69 >= 50 && <80 => Insuffisance rénale légère.

V. Selon une deuxième classification de la fonction rénale :
58.69 <= 90 mL/min ou 1.5 mL/s => maladie rénale
< 60 mL/min ou 1 mL/s => Insuffisance rénale [modérée] mais indiscutable.

La Nitrofurantoïne =Macrodantin® est non efficace quand ClCr < 60 mL/min.
La Metformine est contrindiquée.

>= 30 && < 60 => IRC débutante, si HTA avec minima 12. Nécessité d'un régime et d'un traitement médical stricts : 10 à 25%.

VI. Selon un Barème simplifié de la Clearance de la Créatinine :
58.69 < 103.5 mL/min ou 1.09 mL/s => Filtration rénale < suffisante
(115 ±10 [103.5 - 126.5] pour un Homme de 32.31 ans.

VII. Selon classification de NKF =
National Kidney Foundation (Fondation Nationale du Rein) pour estimer la sévérité de l'insuffisance rénale chronique :
58.69 >= 30 && <= 60 *µmol/L (?)* => Insuffisance rénale sévère

VIII. Selon classification de l'ANAES2002 pour estimer la sévérité de l'insuffisance rénale chronique :
58.69 >= 30 && <60 => Insuffisance Rénale modérée

IX. Un autre barème, celui de GE Healthcare :
58.69 >= 28 => Stade 3 : Fonction rénale modérément diminuée

Éviter les investigations avec produits de contraste I.V.
Éviter la déshydratation
Réduire au minimum la charge de produit de contraste : 1mL/lb ou 2mL/kg jusqu'à un maximum de 140ml
Si diabétique, se concerter avec le radiologue concernant l'usage de iodixanol (Visipaque®)
Considérer le protocole bicarbonate de sodium et/ou le protocole Mucomyst® si recommandé ou si pas de contrindications.

1ère formule Clearance de la Créatinine Cockcroft =
58.69 mL/min.Cock1 (58.69) <= 90 mL/min ou 1.5 mL/s.

Pour cette clearance de la créatinine,
la Dose d'EDTA à administrer à chaque infusion =
50 mg EDTA par 57.6 Kg LBW ou
par 33.8 Kg LBW si clearance de la Créatinine est < 100 mL/min

La vitesse maximale (VM) d'infusion pour un patient de 70 Kg est de
9.74 mg/min

La formule de Cockcroft présente aussi un biais majeur dépendant des caractéristiques anthropométriques du patient. On peut utiliser une autre formule de Cockcroft basée sur le poids corporel, qui donne quasiment le débit de la filtration glomérulaire (une façon d'apprécier la GFR à partir de la clearance de la créatinine)
VN = 1.5 - 2.5 mL/s
Voici un petit exercice de programmation qui consiste à générer un nombre donné de « nombres aléatoires » contenus dans un intervalle donné, par exemple 10 nombres aléatoires supérieurs à 10000000 (1e7) et 1000000000 (1e9). Le code... more
Voici un petit exercice de programmation qui consiste à générer un nombre donné de « nombres aléatoires » contenus dans un intervalle donné, par exemple 10 nombres aléatoires supérieurs à 10000000 (1e7) et 1000000000 (1e9).

Le code JavaScript ci-dessous propose trois façons de le faire. Ce code illustre aussi l’importance de l’algorithmique dans la programmation, les trois méthodes ne prennant pas le même temps : il  y a une qui prend juste une fraction de millisecondes, et les deux autres prennent un temps vraiment fou juste pour générer 10 nombres aléatoires, et combien s’il faut en générer 100’000 !

Voici le code (non commenté) car très facile à comprendr :

min <input>
<br>
Max <input>
<br>
<button onclick="fgo()">GO</button>
...... ...... ......
Une très grande difficulté en optique, outre la transcription d'une prescription dans un sens ou dans l'autre par exemple de «-2.25 (+0.75)175° » en «-1.50 (-0.75) 85° » c'est celle de convertir une prescription optique pour une distance... more
Une très grande difficulté en optique, outre la transcription d'une prescription dans un sens ou dans l'autre par exemple de «-2.25 (+0.75)175° » en «-1.50 (-0.75) 85° » c'est celle de convertir une prescription optique pour une distance vertexielle donnée en une autre distance vertexielle, par exemple le résultat d'un examen optométrique fait sur un phoropter à transcrire pour une lentille (verre) de contact ou une lentille intraoculaire (cristallin artificiel).
Il est souvent demandé quand on s'engage sur Internet, de remplir un captcha pour rassurer/confirmer qu'on n'est pas un robot. Le captcha peut consister à donner le résultat d'une simple opération arithmétique demandée, ou à retaper... more
Il est souvent demandé quand on s'engage sur Internet, de remplir un captcha pour rassurer/confirmer qu'on n'est pas un robot. Le captcha peut consister à donner le résultat d'une simple opération arithmétique demandée, ou à retaper certaines lettres brouillées et rendus difficiles à reconnaître (mais alors effectivement comme cela), ou à identifier toutes les cases qui contiennent une image donnée. Les deux derniers captcha sont très appropriés pour brouiller un robot, mais aussi à faire passer injustement et inutilement un utilisateur honnête pour un fraudeur. Voici une manière simple de s'y prendre sans exposer l'utilisateur à se faire passer pour un robot, mais efficace. Elle est issue de la méthode de demander la réponse d'une opération arithmétique donnée Il a été amélioré pour le rendre plus amusant et distractif. Il propose deux nombres qu'il faut multiplier, diviser (pour rendre les choses faciles le premier nombre est multiple du deuxième), additionner, et soustraire : Code source : <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" / > <base target="_top"> <title>MINI CAPTCHA 1.0</title> <meta content="30 days" name=Revisit-after> <meta name=ROBOTS content="INDEX,FOLLOW"> <meta http-equiv=Page-Enter content="RevealTrans(Duration=3,Transition=23)"> <meta http-equiv=Page-Exit content="RevealTrans(Duration=3,Transition=23)"> Captcha Simple Mais Efficace Dr. DIASOLUKA Nz. Luyalu-Ophtalmologiste-4 / 14-lundi 18 mai 2020 (12:26 AM)
Il existe deux catégories de déficience de la vision colorée : Héréditaires (congénitales) et acquises. I. Les dyschromatopsies héréditaires sont bilatérales, n’évoluent pas, primaires (non associées ç d’autres maladies oculaires ou... more
Il existe deux catégories de déficience de la vision colorée :
Héréditaires (congénitales) et acquises.

I. Les dyschromatopsies héréditaires sont bilatérales, n’évoluent pas, primaires (non associées ç d’autres maladies oculaires ou systémiques).

II. Tandis que les dyschromatopsies acquises sont évolutives et souvent associées et peuvent donc refléter une maladie oculaire grave ou une maladie systémique toute aussi grave, unilatérales ou bilatérales.

a. Dyschromatopsies acquises de type rouge-vert :
Affections du nerf optique (névrites optiques rétrobulbaires, maladie de Leber,...)

b. Dyschromatopsies acquises de type jaune-bleu :

1) Pathologies oculaires :
Oedème maculaire, trou maculaire, DLMA, glaucome,...

2) Pathologies systémiques :
Diabète, HTA,...


Il est donc très important que les diabétiques et les hypertendus subissent de façon routinière les tests de la vision colorée en vue de prévenir certains développements fâcheux.

Un petit programme JavaScript pour détecter le seuil de discrimination colorée. Pour ne pas alourdir ce texte, pour le programme complet et les autres couleurs, prière de prendre contact.

1. Pour seulement changer le caractère affiché, tapez sur <F5>,
2. Pour changer le caractère affiché et diminuer la luminosité cliquez sur le bord droit de la fenêtre,
3. Pour changer le caractère affiché et augmenter la luminosité, cliquez sur le bord gauche de la fenêtre.
Encore un programme informatisant un principe de multiplication de nombres, que j’ai trouvé sur Internet et qui se sert des doigts pour trouver le produit de deux facteurs ; Cette méthode est décrite pour les facteurs de 5 à 10, mais... more
Encore un programme informatisant un principe de multiplication de nombres, que j’ai trouvé sur Internet et qui se sert des doigts pour trouver le produit de deux facteurs ;

Cette méthode est décrite pour les facteurs de 5 à 10, mais elle marche [avec ce programme] avec n'importe quelle paire de nombres, mais la logique devient floue avec les nombres en dehors de cette marge (sup à 10 ou inférieurs à 5).


Principe :

1. Utilisez une main pour chaque facteur (par exemple la main droite pour le premier facteur, et la main gauche pour le deuxième facteur).

2. Étendez tous les doigts.

3. Pour chaque facteur, comptez de 1 jusqu'à la valeur du facteur approprié selon le principe suivant : Pliez un doigt à chaque compte, et dès que tous les doigts sont pliés, à chaque comptage subséquent, dépliez (rétirez) un doigt, en laissant pliés les doigts restants.

4. MULTIPLIEZ le nombre de doigts restés pliés de la main droite et par les doigts restés pliés de la main gauche pour obtenir le premier résultat intermédiaire par exemple int1. On peut aussi l'obtenir mathématiquement en soustrayant la valeur du facteur par 5.

5. ADDITIONNEZ le nombre de tous les doigts dépliés et multipliez la somme par 10 pour obtenir le deuxième résultat intermédiaire par exemple int2.

6. Additionnez les deux résultats intermédiaires, int1 + int2, et vous avez le produit des deux nombres de départ.

Voici le code source du programme :
Encore un programme informatisant un principe de multiplication de nombres, que j'ai trouvé sur Internet et qui se sert des doigts pour trouver le produit de deux facteurs ; Cette méthode est décrite pour les facteurs de 5 à 10, mais elle... more
Encore un programme informatisant un principe de multiplication de nombres, que j'ai trouvé sur Internet et qui se sert des doigts pour trouver le produit de deux facteurs ; Cette méthode est décrite pour les facteurs de 5 à 10, mais elle marche [avec ce programme] avec n'importe quelle paire de nombres, mais la logique devient floue avec les nombres en dehors de cette marge (sup à 10 ou inférieurs à 5). Principe : 1. Utilisez une main pour chaque facteur (par exemple la main droite pour le premier facteur, et la main gauche pour le deuxième facteur). 2. Étendez tous les doigts. 3. Pour chaque facteur, comptez de 1 jusqu'à la valeur du facteur approprié selon le principe suivant : Pliez un doigt à chaque compte, et dès que tous les doigts sont pliés, à chaque comptage subséquent, dépliez (rétirez) un doigt, en laissant pliés les doigts restants. 4. MULTIPLIEZ le nombre de doigts restés pliés de la main droite et par les doigts restés pliés de la main gauche pour obtenir le premier résultat intermédiaire par exemple int1. On peut aussi l'obtenir mathématiquement en soustrayant la valeur du facteur par 5. 5. ADDITIONNEZ le nombre de tous les doigts dépliés et multipliez la somme par 10 pour obtenir le deuxième résultat intermédiaire par exemple int2. 6. Additionnez les deux résultats intermédiaires, int1 + int2, et vous avez le produit des deux nombres de départ.
Code de programme pour tester la rapidité de quatre méthodes d'accès aux éléments, sur 4 machines différentes :
On observe souvent quand on prend la tension artérielle plusieurs fois de suite, que la maxima baisse un peu pendant que la minima augmente un peu, ou l'inverser. C'est comme si pour une situation donnée par exemple de stress ou de... more
On observe souvent quand on prend la tension artérielle plusieurs fois de suite, que la maxima baisse un peu pendant que la minima augmente un peu, ou l'inverser. C'est comme si pour une situation donnée par exemple de stress ou de n'importe quoi, la somme de ces composantes doit être respectée.

Par exemple ci-dessous, quand la maxima est montée de 126 à 129, la minima a baissé de 81 à 80. bien sûr, pour les deux premières mesures, aussi bien la maxima que la minima ont baissé, respectivement de 128 à 126 et de 82 à 81.

Plusieurs facteurs influencent ce phénomène:
CHRONOTROPES, INOTROPES, DROMOTROPES, BATHMOTROPES...

Donc il peut arriver que les composantes de la TA (systole ou Maxima, diastole ou minima et FC déterminée ici par le pouls) varient.

Brièvement, cette variation des composantes de la TA peut se faire sous différentes conditions imprévisibles qui rendent l'étude non reproductible :
1. Stress (pensée insolite, bruit intempestif, frappe à la porte, quelqu'un ou autre chose qui bouge dans la salle, mouvement du patient pendant le prélèvement, malade pressé et/ou impatient...): -> Constriction des vaisseaux (donc hausse de la diastole) et hausse de la FC et en moindre mesure de la systole.
2. Vagotonie: Distension des vaisseaux (donc baisse de la diastole) et baisse de la FC.
3. La force de poussée de la musculature cardiaque s'ajoute à la diastole, mais l'augmentation subséquente de la systole n'est pas étroitement liée à cette poussée, à cause de l'élasticité vasculaire. Si les vaisseaux sont relativement trop rigides pour la dilatation (extensibilité des parois) l'effet sera volontiers l'augmentation du débit (du point de vue purement rhéologique <-> mesurable par le doppler), et si la rigidité concerne la compression ou l'écrasement (flexibilité des parois), la systole ne reflètera pas pleinement l'augmentation la force de la poussée cardiaque parce qu'une partie de cette force se perd dans l'hémodynamique du sang (toute augmentation de la force de la contraction cardiaque ne s'exerce pas seulement sur les parois vasculaires, une partie se perd dans la poussée du sang).
4. Une vasodilatation sans augmentation de la poussée cardiaque diminuera la diastole et augmentera la FC parce que le coeur se vide plus vite à cause de la diminution de la résistance périphérique, et pet diminuer aussi la valeur de la systole.

Par ailleurs, il y a la notion d'hypotension orthostatique définie comme une chute de la Systolique (E. Systolique) >= 20 mmHg et/ou de la diastole (E. Diastolique) >= 10 mmHg, et/ou Hausse du Pouls [ E.FC ou E. Pls ] >= 15 bpm, survenant à { 1, 2, } 3 ou >5 minutes après orthostatisme (de la position COUCHÉE à la position DEBOUT).

D'autres sont plus larges et la définissent comme ceci: chûte de la Systolique (E. Systolique) >= 30 mmHg et/ou de la diastole (E. Diastolique) >= 20 mmHg, et/ou Hausse du Pouls [ E.FC ou E. Pls ] >= 20 bpm, survenant à { 1, 2, } 3 ou >5 minutes après orthostatisme (de la position COUCHÉE à la position DEBOUT).

Dommage que la fréquence et l'amplitude respiratoire ainsi que le taux de saturation en oxygène de l'hémoglobine ne sont pas prises en compte dans l'évaluation de l'hypotension orthostatique.

N'en déplaise, les programmes qui viennent plus loin permettent d'aider à déterminer quelles composantes de la TA sont le plus affectées dans différentes circonstances.
Code de programme qui donne les émoticones par code du charset de stockage.
GHA (Global Health Assessment) est un logiciel d’évaluation de la san-té. Il calcule automatiquement des paramètres sanitaires en fonction des données que vous lui fournissez. Il ne remplace en aucune manière le médecin, mais aide à... more
GHA (Global Health Assessment) est un logiciel d’évaluation de la san-té. Il calcule automatiquement des paramètres sanitaires en fonction des données que vous lui fournissez.

Il ne remplace en aucune manière le médecin, mais aide à rappeler cer-taines petites choses qui pourraient facilement échapper à l’esprit, et éven-tuellement consolider ainsi le diagnostic et le traitement.
...
GHA donne d’abord un petit rappel de la littérature, juste pour bali-ser l’esprit :
...
GHA affiche les formules utilisées pour calculer la Clearance de la Créatinine selon Jelliffe :
...
GHA calcule ensuite la filtration glomérulaire des reins de la créati-nine selon Jelliffe et selon SCHWARTZ (pour Enfants <= 21 ans, de 1976), en fonction du poids, de la taille, du sexe et de l’âge :
...
GHA passe alors au calcul de la clearance de la créatinine selon MDRD (filtration glomérulaire) et selon Cockcroft & Gault (clea-rance de la créatinine) :

GHA donne alors pour cette clearance de la créatinine (45.95), la Dose d'EDTA (Éthylène-Diamine-Tétra-Acétique) à administrable à chaque infusion :
...
GHA évalue la fonction rénale selon différents critères :
I. Classification de votre fonction rénale basée sur l'unité mL/min/1,73 m² basée sur MDR

35.74 mL/min/1,73 m² >= 30 && <60 => Insuffisance rénale chronique modérée.

MDRDA = 35.74 mL/min, Âge = 38.95 ans

Insuffisance Rénale même selon critère de 40 ans
(<= 91.05 mL/min ou 1.52 mL/sec)

MDRDA = 35.74 mL/min, Âge = 38.95 ans

Insuffisance Rénale même selon critère de 45 ans
(<= 60 mL/min ou 1 mL/sec)
Insuffisance Rénale même selon critère de 50 ans
(<= 101.05 mL/min ou 1.68 mL/sec)
Insuffisance Rénale même selon critère de 75 ans
(<= 50 mL/min ou 0.83 mL/sec)
...
II PROTOCOLE DU LABO PAR GHA :
1. GHA trouve que la bilirubine à 3.5 mg% est supérieure à toutes les limites inférieures de référence dans sa base de données:
2. GHA compare la valeur de la bilirubinémie à toutes les limites supérieures de référence contenues dans sa base de données. Pour la bilirubine ici il y a 13 groupes de références de limite supérieure, pour lesquels la bilirubinémie du malade est supé-rieure à leur limite supérieure.
...
GHA interprète les résultats:
Bilirubine supérieure ou égale à 0.8 mg%, ça peut provenir de :
Grossesse, nouveau-né et prématuré, Exercice physique intense, Augmen-tation du taux de la bilirubine conjuguée et/ou non conjuguée…

Hyperbilirubinémie : ça peut provenir aussi de :
Syndrome de Gilbert (bénin), hémolyse, hépatite, cirrhose du foie, choles-tases, syndrome de Dubin-Johnson, syndrome de Rotor, génétique,

Si le malade était un nouveau-né, GHA allait ajouter : « ictère néona-tale ».
...
GHA évalue ensuite le syndrome métabolique:
.!. ATTENTION .!. Vous réunissez 2 critères de SYNDROME MÉTA-BOLIQUE (résistance à l'insuline, obésité abdominale, HTA, hypertrigly-céridémie, HDL bas pouvant s'observer déjà entre 5 et 11 ans).

Beaucoup d'auteurs contestent la valeur réelle du syndrome métabolique en tant que marqueur du risque cardio-vasculaire.

Rien qu'avec les 2 données standard [et 0 donnée étendue] fournies (peut-être même incomplètes) :
1) HTA, 2) tCeint,

vous réunissez *2* critères (100% [Infinity% ! Tot = 100%] des critères testés) du SYNDROME MÉTABOLIQUE
{ moins que les 3, 4 ou 5 requis (66.67, 50.00 ou 40.00%) [selon les au-teurs ou le groupe de travail] }


(1). * HTA - MAXIMA Dt Couché (190 mmHg) * hta - minima Dte Cou-ché (127 mmHg) * hta - minima Gche Couché (85 mmHg) [Pour d'autres si minima > 85mmHg il y a hta.] * HTA - MAXIMA Dt Assis (210 mmHg) * hta - minima Gche Assis (84 mmHg) [Pour d'autres si minima > 85mmHg il y a hta.] * HTA - MAXIMA Gche Debout-T0 (147 mmHg) * hta - minima Dte Debout-T0 (86 mmHg) * hta - minima Dte Debout-T3 (95 mmHg) * HTA - MAXIMA Gche Debout-T5 (140 mmHg) ;

(2). tCeint (92.7 mm) > 88 cm [chez une Femme] ;

Il n'y a aucune information quant aux 11 [autres] critères suivants du syn-drome-X (le taux sanguin en) :
1) Triglycérides, 2) Lipides totaux, 3) Chol Tot, 4) HDL, 5) LDL, 6) Gly-cémie, 7) Hémoglobine Glyquée, 8) [Insulinémie], 9) [Insulinémie Post-prandiale], 10) [Sensibilité à l'Insuline], 11) [Peptide C], ,

ni si la Femme est sous traitement antihypertenseur,
Il existe une suite que j’ai trouvée sur Internet telle que si le nombre pré-cédent est paire, le nombre qui le suit sera sa moitié, si non (au cas où il est impair) le nombre qui le suit est son triple ajouté de « un » (1). if(... more
Il existe une suite que j’ai trouvée sur Internet telle que si le nombre pré-cédent est paire, le nombre qui le suit sera sa moitié, si non (au cas où il est impair) le nombre qui le suit est son triple ajouté de « un » (1).

  if( !(n%2) ) n /= 2;
  else n = 3*n + 1;

Tous convergent vers la suite infinie « 4 2 1 4 … ».

De même, plus grand est le nombre de départ, plus susceptible aussi est que le nombre d’éléments dans sa suite soit plus grand avant d’atteindre le cycle de « 4 2 1 4 ».

J’ai écrit un petit script en JavaScript pour afficher les suites de différents nombres dans une marge. À chacun de trouver une utilité d’une telle suite.
On peut vouloir qu’un affichage avec la commande « con-sole.log » soit formatté. Comment faire ? On peut utiliser une chaîne de formats dans la commande « console.log » suivie des données, un peu comme on le fait avec « printf » du «... more
On peut vouloir qu’un affichage avec la commande « con-sole.log » soit formatté. Comment faire ?

On peut utiliser une chaîne de formats dans la commande « console.log » suivie des données, un peu comme on le fait avec « printf » du « langage C », mais avec les formateurs « %s » pour les chaînes (string), « %i » pour les entiers (inte-gers), et « %c » pour l’ensemble de vos styles personnalisés (cus-tom style).
C’est quoi, l’ « INFINI », et particulièrement en Informatique ? Mathématiquement, l’ « INFINI » est un nombre précis ('hypothèse de Riemann). On est arrivé à démontrer que la somme « 1 + 2 + 3 + ⋯ + ∞ » = -1/12 (se résoud donc en «... more
C’est quoi, l’ « INFINI », et particulièrement en Informatique ?

Mathématiquement, l’ « INFINI » est un nombre précis ('hypothèse de Riemann). On est arrivé à démontrer que la somme
« 1 + 2 + 3 + ⋯ + ∞ » = -1/12
(se résoud donc en « -1/12 »).
...
Par exemple, dans un registre d’ordinateur à 4 bits, tout nombre supérieur à 15 est dans l’infini et donc n’existe pas, et prend naissance (dans l’ensemble infini) seulement quand vous y pensez.

Voici un petit code javascript qui donne la limite ou le début de l’infini pour différentes tailles de registre d’ordinateur.
...
Il peut arriver que l’on soit obligé de faire un petit calcul dans un élément HTML. La valeur d’un attribut d’un élément HTML est traitée comme les valeurs des variables ordinaires : Suivie d’une paire de parenthèses, elle est traitée... more
Il peut arriver que l’on soit obligé de faire un petit calcul dans un élément HTML.

La valeur d’un attribut d’un élément HTML est traitée comme les valeurs des variables ordinaires : Suivie d’une paire de parenthèses, elle est traitée comme fonction, sinon comme expression ordinaire.

On peut si on le veut, faire précéder le nom de la fonction par la directive avec deux points « javascript: », tout comme on peut directement utiliser le nom de l’expression.

<div onclick='javascript:alert(onclick) ; javascript:console.log(onclick)'>
  CLIQUEZ ICI
</div>

<!-- ou -->

<div onclick='alert(onclick) ; console.log(onclick)'>
  CLIQUEZ ICI
</div>

Comment alors programmer une opération arithmétique dans un élément HTML ?

N’importe comment : par exemple en affectant des valeurs à des variables sur lesquelles on veut faire l’arithmétique (un nom de variable préfixé de « window : » le remègue dans l’espace globale) accessible dans tout le fichier « HTML » et le « JS » y contenu.

Il n’est pas interdit d’utiliser la méthode « prompt » dans la valeur d’un élément HTML.

<div onclick='window.a=prompt("1er nb:",10) ; window.b=prompt("2e nb:",20);window.c=1*a+1*b ; fct()'>
  CLIQUEZ ICI
</div>

<script> "use strict";
  const fct = _ => {
  const d = document.querySelectorAll("div");
  d[0].innerHTML = a+" + "+b+" = "+c
  }
</script>

Le code ci-dessus demande d’entrer deux nombres à additionner et propose pour chacun d’eux une valeur par défaut qu’il stocke dans deux variables globales « a » et « b ». Il les additionne et stocke le résultat dans la variable globale « c ».

N.B. :
Notez que la création de ces trois variables ne nécessite pas les opérateurs « var, let ou const ».

Ensuite, il appelle la fonction fléchée (expression de fonction) « fct » pour afficher le résultat.

Voici comment fonctionne le le code ci-dessus :
Au lancement il demande de le cliquer :



Après l’avoir cliqué, le programme demande deux nombres en proposant des valeurs par défaut pour chacun d’eux.





Après la saisie du deuxième nombre, le message initial est remplacé par le résultat du calcul :



Notez qu’en JS les nombres sont saisis en tant que littéraux (chaînes de caractères), il faut donc les forcer en « Number » avec une opération arithmétique, sinon l’addition donnera une concaténation littérale au lieu de l’addition arithmétique.

<div onclick='window.a=prompt("1er nb:",10) ; window.b=prompt("2e nb:",20);window.c=a+b ; fct()'>
  CLIQUEZ ICI
</div>

<script> "use strict";
  const fct = _ => {
  const d = document.querySelectorAll("div");
  d[0].innerHTML = a+" + "+b+" = "+c
  }
</script>
Il n’existe pas en JavaScript une procédure ou méthode pour créer facile-ment/directement les arrays multidimensionnels. Pour arriver à ce faire, il faut passer par des constructions « artificielles ». I. Array Externe avec new Array()... more
Il n’existe pas en JavaScript une procédure ou méthode pour créer facile-ment/directement les arrays multidimensionnels.

Pour arriver à ce faire, il faut passer par des constructions « artificielles ».

I. Array Externe avec new Array() :
a. Les arrays internes comme variables
b. Arrays dans un Array (inline) : Les Arrays internes avec [].
c. Les Arrays internes avec new Array().

II. Array externe avec []:

On peut aussi enrichir l’objet « Array » d’une méthode qui peut créer automatiquement un tableau multidimensionnel, ci-après un tableau bidi-mensionnel (matrice).
La méthode « . includes ( ) » indique par « true » ou « false » si oui ou non si une valeur fait partie ou non des éléments d’un tableau, ordinaire ou typé. La méthode « . findIndex ( ) » retourne l’indice du premier élément d’un tableau... more
La méthode « . includes ( ) » indique par « true » ou « false » si oui ou non si une valeur fait partie ou non des éléments d’un tableau, ordinaire ou typé.

La méthode « . findIndex ( ) » retourne l’indice du premier élément d’un tableau (typé ou ordinaire) qui remplit une condition définie dans fonction de test. Si aucun élément ne satisfait à la condition, elle retourne la valeur « -1 ».

À l’opposé de la méthode « . find ( ) » ci-dessus qui retourne l’élément même qui remplit la condition, la méthode « . fin-dIndex ( ) » retourne plutôt l’index de l’élément qui remplit la condition.

La méthode « . indexOf ( ) » l’indice dans le tableau du premier élément ayant la valeur donnée. Si aucun élément du tableau n’a cette valeur, la fonction retourne « -1 ».

La méthode « . lastIndexOf ( ) » donne le dernier indice dans le tableau, d’un élément donné, sinon elle retourne la valeur « -1 » si l’élément n’y existe pas.
La méthode « . filter ( ) » retourne un tableau (typé ou or-dinaire, de même nature que le tableau initial) dont les élé-ments remplissent la condition explicitée par une fonction callBack passée en argument et dans laquelle se fait le... more
La méthode « . filter ( ) » retourne un tableau (typé ou or-dinaire, de même nature que le tableau initial) dont les élé-ments remplissent la condition explicitée par une fonction callBack passée en argument et dans laquelle se fait le test.

Vous devez fournir le callBack vous-même et il doit retour-ner une valeur « true » ou « false ».
« querySelector ( ) » retient le premier élément rencontré dans le code source qui contient le sélecteur spécifié. Ses arguments peuvent être le nom d’un « id » préfixé d’une dièse « #id » ou le nom d’une classe préfixé d’un point (dot)... more
« querySelector ( ) » retient le premier élément rencontré dans le code source qui contient le sélecteur spécifié.

Ses arguments peuvent être le nom d’un « id » préfixé d’une dièse « #id » ou le nom d’une classe préfixé d’un point (dot) « .classe », ou le nom d’un élément.

querySelectorAll ( ) :

« querySelectorAll ( ) » crée une collection de tous les éléments du code source qui contiennent le sélecteur spé-cifié, dans leur ordre d'apparition dans le code source, quelque soit l’élément dans lequel il se trouve.

querySelector ( )  vs  getElementById ( )

...
Une étude que j’ai faite antérieurement a révélé que la quantité de « graisse corporelle » était corrélée avec la « surface cutanée (BSA) ». La surface cutanée est l’aire couverte par l’étendue de toute votre peau. Elle peut s’estimer... more
Une étude que j’ai faite antérieurement a révélé que la quantité de « graisse corporelle » était corrélée avec la « surface cutanée (BSA) ».

La surface cutanée est l’aire couverte par l’étendue de toute votre peau. Elle peut s’estimer grâce à plusieurs formules, comme celles-ci-après utilisées dans le logiciel GHA (Global Health Assessment = Évaluation Globale de la Santé).

Les formules utilisées dans ce logiciel-ci pour le calcul de la BSA sont celles de :
1. Boyd, 2. Mech, 3. DuBois & DuBois [cm], 4. DuBois & DuBois [m], 5. Gehan et George, 6. Haycock, 7. Mosteller [cm & kg], 8. Mosteller [inches & pounds], 9. une Couramment utilisée, et 10. Pour enfants.

Ci-dessous, nous serons à la quête d’une modélisation (représentation ou figuration) de la BSA en formes géométriques qui pourraient mieux refléter cette notion de surface cutanée, et refléter le mieux un risque sanitaire, ou faciliter un suivi.

Nous pouvons ainsi nous permettre de voir la BSA comme une surface plane (carré, rectangle, triangle, losange, pentagone, cercle, …), un volume (boule sphérique, cube, pyramide, pentahèdre, hexahèdre, tétrahèdre, …)…

Le logiciel GHA (Global Health Assessment) a permis de mettre au point de nouveaux paramètres anthropobiométriques en rapport avec la surface cutanée (sc = BSA = Body Surface Area).
Des paramètres calculés par le logiciel GHA il ne faut retenir que ce qui vous est utile pour le moment. Ils sont là pour faciliter la tâche du chercheur. Ces paramètres peuvent comme d’habitude être utilisés individuellement ou en association pour mieux refléter le problème et/ou donner une quelconque orientation diagnostique.


Ce logiciel (GHA) nous calcule :

1. Le poids de notre SHELL (10% de notre Poids Corporel, ici 8.04 kgs)
2. Le poids de notre CORE (90% de notre PC, ici 72.36 kgs).

Les analyses ci-après seront basées sur la formule de Boyd chez une femme de 38.69 ans et de 176 cm de haut et pesant 80.4 kgs :


1. Le CARRÉ virtuel de la BSA :
BSA représentée sous forme de carré.

2. Le CÔTÉ du carré virtuel de la BSA :
Racine carrée de la BSA.

3. La PARTIE FRACTIONNAIRE DU CÔTÉ de la BSA (FcBSA) :
(Côté du carré virtuel de la BSA [en m]) - 1.

4. La PARTIE FRACTIONNAIRE DE LA BSA (fBSA) :
(BSA [en m2] - 1) × 100.

5. La SURFACE DE CHAQUE CÔTÉ DU CUBE dont surface totale = BSA.

6. Le CÔTÉ DU CUBE dont surface totale = BSA.

7. Le VOLUME DU CUBE dont surface totale = BSA.

8. Le POIDS CORPOREL par m² de votre BSA ou peau.

9. La DENSITÉ CORPORELLE CUBIQUE :
Poids corporel / volume de la BSA en forme de cube.

etc.....
Depuis ECMAScript 2015 (= ES6) existent les « littérales de chaîne » ou « template strings » ou « template literals » ou « modèles de libellés » ou « libellés de chaînes de caractères » ou « gabarits de chaînes de carac-tères ». Ce sont... more
Depuis ECMAScript 2015 (= ES6) existent les « littérales de chaîne » ou « template strings » ou « template literals » ou « modèles de libellés » ou « libellés de chaînes de caractères » ou « gabarits de chaînes de carac-tères ».

Ce sont des chaînes de caractères (strings) qui s’utilisent comme des chaînes ordinaires (celles délimitées par des guillemets [doubles] ou des apostrophes = guillemets simples), mais dans lesquelles on peut utiliser et mélanger librement des guillemets et apostrophes, manipuler des variables, paramètres formels, expressions et formules, appeler des fonctions,… bref tout ce qui retourne une valeur et ce, sans opération de concaténation.

Il ne faut pas confondre les « littérales de chaîne » avec la « chaîne de format »  des langages C)

C’est un peu plus difficile à obtenir que les guillemets et apostrophes, mais il paraît plus logique et plus intéressant de ne plus utiliser que le « ` » comme délimiteurs des chaînes de caractères à la place des guillemets ou apostrophes.

Pour saisir un back-tick ou backquotes (accent grave simple) comme tel dans une littérale de chaîne, il faut le précéder d’un caractère d’échappement « \` ».
Les images constituent un des éléments HTML si pas le plus utilisé en pro-grammation Web. En passant, voici les propriétés propres de l’objet Image. Pour insérer une image dans une page Web, on utilise la balise <img> se-lon la syntaxe... more
Les images constituent un des éléments HTML si pas le plus utilisé en pro-grammation Web. En passant, voici les propriétés propres de l’objet Image.

Pour insérer une image dans une page Web, on utilise la balise <img> se-lon la syntaxe simplifiée ci-dessous :

<img title="texte affiché si hover"
id="img1"
alt="texte affiché pdt chargement ou si image indisponible"
src="url" />

Voici comment regrouper plusieurs images portant le même titre et les affi-cher sur la page Web.
Avec la variable non initialisée, la boucle 1e6 (un million) fois a pris 10'731 secs.

Avec la variable initialisée, la boucle 1e9 (un millard) fois a pris 2.373 secs.
« Asm.js » a été conçu pour contrer la lourdeur occasionnée par les conversions de type que doit faire l’interpréteur du JS engine par exemple sur les données numériques. J’ai essayé de « benchmarker » la soustraction de deux nombres,... more
« Asm.js » a été conçu pour contrer la lourdeur occasionnée par les conversions de type que doit faire l’interpréteur du JS engine par exemple sur les données numériques.

J’ai essayé de « benchmarker » la soustraction de deux nombres, avec et sans le « asm.js ». En rapport avec l’exemple choisi, les codes ont exécuté comme ceci :

Dans Firefox 72.0.1, l’opération directe sans le « asm.js » (JS ordi-naire) a pris 0.26 sec, et 1.297 sec avec le « asm.js » (presque 5 fois [4,99×] de loin plus rapide avec JS ordinaire.

Mais la console du browser de FF a indiqué que l’ensemble de l’exécution de « asm.js » a pris 8 millisecondes.
La commande Object.getOwnPropertyDescriptors(window) Quand nous créons un objet, ses propriétés sont en fait, à l’instar du prototype, des objets ayant leurs propres propriétés, appelées ici ATTRIBUTS. La propriété «... more
La commande Object.getOwnPropertyDescriptors(window)
Quand nous créons un objet, ses propriétés sont en fait, à l’instar du prototype, des objets ayant leurs propres propriétés, appelées ici ATTRIBUTS.

La propriété « Object.getOwnPropertyDescriptors(object) »  [de l’objet Object] permet de connaître ses attributs ainsi que leurs valeurs.

Ces attributs sont toujours les mêmes : [[value]], [[writable]], [[enumerable]], [[configurable]].

L’attribut « value » par exemple contient la valeur que vous avez affectée à la propriété ou que vous lisez la propriété.

L’attribut « writable » indique si on peut modifier la valeur de « value » ou si elle est « readonly » (en lecture serule).

L’attribut « enumerable » indique que la propriété est énumérable (peut être listée) avec la commande « for  i  in  oject ».

Tandis qu’un attribut « configurable: false » empêche de supprimer la propriété, de transformer la propriété en accesseur, modifier ses attributs autres que le [[Value]], ou convertir l’attribut [[Writable]] de la propriété en false.

I. Le petit code ci-dessous (littéral d’objet) par exemple crée un objet « o » et liste les attributs des propriétés définies dans cet objet « o ».
Les objets en JavaScript ont des propriétés et méthodes qui peu-vent être : 1. Privées (inaccessibles en dehors du constructeur). Les propriétés privées sont définies dans le constructeur comme des variables ordinaires, avec « let », «... more
Les objets en JavaScript ont des propriétés et méthodes qui peu-vent être :

1. Privées (inaccessibles en dehors du constructeur).
Les propriétés privées sont définies dans le constructeur comme des variables ordinaires, avec « let », « var » ou « const » ou « function » pour les méthodes.

2. Propres (accessibles de partout [constructeur et ses ins-tances] mais non transmissibles ou héritables) mais acces-sible par les instances via l’opérateur « this ».
Les propriétés propres (own properties) ne sont donc pas transmissibles mais accessibles.

3. Héritables et directement et inconditionnellement accessibles par les instances (par exemple sans le mot-clé « this »).
Les propriétés héritables sont stockées dans une propriétés particulière appelée « prototype ».
<style type="text/css"> p{background:#dfd} p .d::before { content: open-quote "p. d:before (w space)" close-quote; } p.d::before { content: open-quote "p.d:before (wo space)" close-quote; } *::before{ color:red;... more
<style type="text/css">
p{background:#dfd}

p .d::before {
  content: open-quote "p. d:before (w space)" close-quote;
}

p.d::before {
  content: open-quote "p.d:before (wo space)" close-quote;
}

*::before{
  color:red;
  font-size:130%;
  font-style:italic
}
</style>
</head>

<body>
<p class="d">P1 Ce Texte, avant SPAN.
  <span class='d'>Ce Texte, dans SPAN. </span>
  Ce Texte, après SPAN.
</p>

<p>P2 Ce Texte, avant SPAN.
  <span class="d">Ce Texte, dans SPAN. </span>
  Ce Texte, après SPAN.
</p>

<p id="d">P3 Ce texte, entièrement dans P ID="d". </p>

<p>P4 <b>Note:</b>
  Il est préférable de toujours spécifier < !DOCTYPE html>.
</p>
</body>
</html>
La dernière révision de ce texte est disponible sur CD. EXPRESSION DE FONCTION EN JAVASCRIPT Expression de fonction (Déclaration d'une fonction avec une variable) Habituellement on déclare une fonction en lui collant un nom. Dans une... more
La dernière révision de ce texte est disponible sur CD. EXPRESSION DE FONCTION EN JAVASCRIPT Expression de fonction (Déclaration d'une fonction avec une variable) Habituellement on déclare une fonction en lui collant un nom. Dans une expression de fonction, on définit une variable en lui affectant une fonction anonyme. <script type="text/javascript"> "use strict"; var funcID = function () { code }; </script> Pour exécuter une fonction définie par « expression de fonction », on utilise le nom de la variable et on le fait suivre d'une paire de parenthèses (ce qui commande d'exécuter le contenu de la variable qui est le corps de la fonction). funcID (); Regardez bien le code JavaScript ci-dessous : (Ne reprenez pas les numéros de lignes dans votre éditeur de programme). EXPRESSION DE FONCTION JavaScript DIASOLUKA Nz. Luyalu-10/23-vendredi 21 février 2020 ()
Pour obtenir la date (le jour du mois) et le dernier jour du mois, la procédure n’est pas exactement la même. Pour obtenir le jour du mois de la date 11 août 1953 : <script> "use strict"; let t="Le jour et le mois de\n";... more
Pour obtenir la date (le jour du mois) et le dernier jour du mois, la procédure n’est pas exactement la même.

Pour obtenir le jour du mois de la date 11 août 1953 :

<script> "use strict";
  let t="Le jour et le mois de\n";
      t+=new Date("1953,8,11");
      t+="\nsont :\n";
      t+="Jour ds mois = "+new Date("1953,8,11").getDate();
      t+=" et ";
      t+="Nombre du mois = "+new Date("1953,8,11").getMonth();
      console.log(t);
</script>




Attention :

Si avec « Date ( " yyyy / mm / dd " ) » le nombre (numéro) du mois est tel qu’on l’utilise dans la vie courante c’est-à-dire codé à partir de « 1 » =Un= (1 = Janvier, 12 = Décembre), ce nombre du mois est cependant codé (compté) à partir de zéro dans les tables internes de JavaScript et avec « Date ( yyyy , mm , dd ) » (0 = Janvier, 11 = Décembre).

C’est pour cela que le nombre du mois « Août » est « 7 ».

D’ailleurs pour accéder à la table interne des mois on procède comme suit (le premier mois étant numéroté 0) :

<script> "use strict";
  const mois = [
      "JAN", "FÉV", "MAR", "AVR", "MAI", "JUIN",
      "JUL", "AOU", "SEP", "OCT", "NOV", "DÉC"
  ];
 
  let t="Le jour et le mois de\n";
      t+=new Date("1953,8,11");
      t+="\nsont :\n";
      t+="Jour ds mois = "+new Date("1953,8,11").getDate();
      t+=" et\n";
     
  const nMois = new Date("1953,8,11").getMonth();
     
  t+="NOMBRE DU MOIS « "+mois[nMois]+" » = *** "+nMois+" ***.";
 
  console.log(t);
</script>




En JavaScript, le dernier jour d’un mois est en fait le « zéro_ième » jour (jour 0 ou J0) du mois suivant, le premier jour d’un mois étant le jour 1 (J1) qui correspond donc au premier du mois.

Pour obtenir le dernier jour d’un mois il faut donc demander le zéro_ième jour du mois qui le suit :

<script> "use strict";
  const mois = [
      "JAN", "FÉV", "MAR", "AVR", "MAI", "JUIN",
      "JUL", "AOU", "SEP", "OCT", "NOV", "DÉC"
  ];
 
  const date=new Date("1953,8,11");
 
  let t="Le dernier jour du < MOIS ";
      t+=date.getMonth()+" > [0..11]\nou ";
      t+="mois de < "+mois[date.getMonth()]+" ";
      t+=date.getFullYear()+" >";
      t+="\n\nDe la date\n< "+date;
      t+=" >\n\nest :\n";
     
      t+=new Date("1953, 8 ,0") + " FAUX";
      t+="\n\nou\n";
      t+=new Date("1953, 9 ,0") + " VRAI";
 
  console.log(t);
</script>


Vous voyez qu’avec cette procédure le dernier jour d’un mois n’est pas celui du mois spécifié, mais plutôt du mois précédent.
CSS (Cascading Style Sheets) est un gestionnaire de feuilles de styles ou règles, la façon dont les éléments de la page sont affichés dans une page HTML. La structure d’une règle CSS est constituée d’un sélecteur (identifiant d’éléments)... more
CSS (Cascading Style Sheets) est un gestionnaire de feuilles de styles ou règles, la façon dont les éléments de la page sont affichés dans une page HTML.

La structure d’une règle CSS est constituée d’un sélecteur (identifiant d’éléments) et d’un bloc de déclarations, comme suit :

L’ensemble de la syntaxe d’un style s’appelle « règle », par exemple :

#s { letter-spacing :1.5 }

Dans cette syntaxe, « s » est le sélecteur. Précédé d’un signe de dièse « # » il sélectionne les éléments de la page qui ont comme ID « s ».

La paire d’accolades « { } » est le délimiteur du bloc de déclaration d’un ensemble de règles qui s’appliquent à tous les éléments ayant « s » comme ID.

Ici, la « feuille de style » ne comporte qu’une seule règle, celle qui régit l’espacement entre les caractères, ici à « 1.5 ».

Les déclarations de styles sont introduites par la balise <style> et clôturées par la balise de fermeture </style>.

Chaque déclaration est composée d’un couple constitué du nom de propriété suivi de sa valeur, les deux séparés par un point-virgule « : », comme dans la définition de littérale d’objet en JavaScript.


Exemples :
Dans la version 7, nous avons ajouté le nombre de jours et heures qui restent avant la fin de l’année en cours, en cours en heures, minutes, secondes, jours et semaines. La version 8 affiche aussi le temps écoulé depuis le début de... more
Dans la version 7, nous avons ajouté le nombre de jours et heures qui restent avant la fin de l’année en cours, en cours en heures, minutes, secondes, jours et semaines.

La version 8 affiche aussi le temps écoulé depuis le début de l’année en cours, aussi en heures, minutes, secondes, jours et semaines.

La version 9 affiche aussi le temps restant jusqu’à une date butoir éloignée autre que le petit délai du temps par exemple d’autoclave. On peut fixer une date butoir éloignée indépendante de l’autre délai (par défaut le 1 Jan 2023) rapproché, pour avoir continuellement (au bas de l’écran) le temps qui reste jusque-là.

Après avoir validé votre date saisie ou la date par défaut (avec <CR> ou en cliquant sur <OK>), le programme démarre.

Voici le snapshot avec tous les délais :

Dans la version 10 l’affichage de l’heure a été grossi pour être vu plus loin.

Un petit « snipet » JavaScript qui affiche :

Heure de son lancement
Jour de la semaine
Date du jour
Nombre de jours dans le mois en cours.
Date du jour en très grand
Heure actuelle en très grand.
Durée (timelaps) depuis son lancement (chronomètre).


Très pratique pour garder l'heure de votre arrivée au service
ou le début de n'importe quel autre événement, pour chronométrer par exemple les séances de kinésithérapie, rééducation fonctionnelle et physique, orthoptie, jeux; cuisson... et pour vous rappeler en permanence le jour de la semaine, et bien entendu la date du jour et l'heure en cours.

Mais le plus important, c’est l’illustration des plusieurs façons d’affecter un style à un élément, et l’usage de « document.querySeledctor » avec les balises, les classes et les IDs, de « document.getElementsByName », et de « document.getElementById » avec les IDs.

Y sont aussi utilisés, les paramètres de les méthodes « Date.toLocaleDateString() » et  « Date.toLocaleString() », en anglais et en français.


Attention, si « document.querySeledctor » non indexé retient le premier élément (balise) répondant au nom référencé, « document.getElementsByName » doit nécessairement être indexé même quand il n’y a qu’un seul élément portant ce nom dans le code source. Les deux, « document.querySeledctor » et « document.getElementsByName » retournent un Array des éléments répondant au critère spécifié.





<style>
  .tDebut{text-align:left;font-size:45pt;height:30pt}
  .ddiv{text-align:right;font-family:"Cooper Black";font-size:95pt;color:rgba(142,66,145,0.85)}
  .tps{color:hsl(263,48%,45%)}
</style>

<input id="inp">
<div id="tdebut" class=tDebut></div>
<div id="tdebutS" class=tDebutS></div>
<div id="idiv"></div>
<div class="sdiv"></div>
<div name="conteneur">
  <div id='chrono' style="float:right"></div>
  <div class="ddiv"></div>
</div>

<script type="text/javascript"> "use strict";
  const jsem=["Dimanche", "Lundi","Mardi", "Mercredi","Jeudi","Vendredi","Samedi"],
        mois=["JAN","FÉV","MAR","AVR","MAI",'JUN','JUL',"AOÛT","SEPT","OCT","NOV","DÉC"];
...
La surface cutanée est l’aire couverte par l’étendue de toute votre peau. Elle peut s’estimer grâce à plusieurs formules, comme celles-ci-après utilisées dans le logiciel GHA (Global Health Assessment = Évaluation Globale de la Santé).... more
La surface cutanée est l’aire couverte par l’étendue de toute votre peau. Elle peut s’estimer grâce à plusieurs formules, comme celles-ci-après utilisées dans le logiciel GHA (Global Health Assessment = Évaluation Globale de la Santé).

Les formules utilisées dans ce logiciel-ci pour le calcul de la BSA sont celles de :
1. Boyd, 2. Mech, 3. DuBois & DuBois [cm], 4. DuBois & DuBois [m], 5. Gehan et George, 6. Haycock, 7. Mosteller [cm & kg], 8. Mosteller [inches & pounds], 9. une Couramment utilisée, et 10. Pour enfants.

Ci-dessous, nous serons à la quête d’une modélisation (représentation ou figuration) de la BSA en formes géométriques qui pourraient mieux refléter cette notion de surface cutanée, et refléter le mieux un risque sanitaire, ou faciliter un suivi.

Nous pouvons ainsi nous permettre de voir la BSA comme une surface plane (carré, rectangle, triangle, losange, pentagone, cercle, …), un volume (boule sphérique, cube, pyramide, pentahèdre, hexahèdre, tétrahèdre, …)…
Une difficulté parmi d'autres en JavaScript pour ceux qui migrent de la famille des langages C : Il n'existe pas en JavaScript de type de variable « static », c'est-à-dire qui garde sa valeur exitoire même quand on quitte la fonction, et... more
Une difficulté parmi d'autres en JavaScript pour ceux qui migrent de la famille des langages C :

Il n'existe pas en JavaScript de type de variable « static », c'est-à-dire qui garde sa valeur exitoire même quand on quitte la fonction, et la conserve jusqu'à la prochaine fois que la fonction est entrée. Il y a bien sûr des astuces pour simuler ce type en JavaScript (le plus simple c’est d’utiliser une variable globale qui est utilisée uniquement dans cette fonction seule).

Voici comment ça se passe en langage C (notez qu’en langage C toutes les instructions et commandes sauf par exemple les commentaires et les accolades fermantes se terminent par un « ; »)
Rapport GHA sur un sujet dont le sexe a été saisi comme étant masculin, mais pour qui on a saisi la date des dernières règles, l'âge échographique d'une grossesse, et d'autres paramètres strictement féminins. GHA détecte l'erreur... more
Rapport GHA sur un sujet dont le sexe a été saisi comme étant masculin, mais pour qui on a saisi la date des dernières règles, l'âge échographique d'une grossesse, et d'autres paramètres strictement féminins.

GHA détecte l'erreur d'encodage, mais traite les deux éventualités, sans les mélanger.
SUBARRAY La méthode « . subarray ( ) » retourne un nouveau tableau typé basé sur le même ArrayBuffer, ses éléments étant de même type que le tableau typé en cours. SLICE La méthode « . slice ( ) » retourne une copie superficielle... more
SUBARRAY

La méthode « . subarray ( ) » retourne un nouveau tableau typé basé sur le même ArrayBuffer, ses éléments étant de même type que le tableau typé en cours.

SLICE

La méthode « . slice ( ) » retourne une copie superficielle (shallow copy = ne modifie pas l’array de départ) d'un frag-ment du tableau courant (typé ou ordinaire) dans un nou-veau tableau.


Contrairement à « . slice ( ) », cette méthode n’est dispo-nible qu’avec les arrays typés.

...
Voici un programme de conversion de n’importe quelle devise vers une autre, à la condition de fixer le taux de conversion (parité ou taux de change) et les sigles des devises (par défaut le Dollar américain [USD] et le Franc congolais... more
Voici un programme de conversion de n’importe quelle devise vers une autre, à la condition de fixer le taux de conversion (parité ou taux de change) et les sigles des devises (par défaut le Dollar américain [USD] et le Franc congolais [FC]). Pour changer le sigle d’une devise, double-cliquez dans sa boîte de saisie pour effacer la devise en cours.

Le taux de change fixé, précisez le montant de la devise à convertir dans la boîte de saisie la plus proche de la devise source.

Il vous suffit alors de cliquer sur « CONVERTIR », et le tour est joué.

Voici l’interface générale de ce programme au lancement du programme :

Voici l’interface générale de ce programme à la fin de la conversion :

Commençons par exemple par fixer une des devise (pas nécessairement d’entrée ni de sortie), par exemple à la zone de saisie réservée à cette fin d’en bas ou d’en haut, comme vous voulez. Tapons par exemple « USD » dans la zone de saisie indiquée « Sigle_M_Locale » :

devient

Donc une des devises entrant en jeu dans cette conversion est le dollar américain.

Saisissons la deuxième devise qui ne sera pas non plus nécessairement celle d’entrée ou de sortie, par exemple « YEN » dans la zone de saisie « Sigle_Dévise » :

devient

La parité implicite ou par défaut est de « 1 [monnaie de départ] » pour « 1800 [monnaie cible] ». Modifions la parité à « 550 ».

devient

Nous voulons convertir « 1’550 dollars américains » en « YEN » au taux de « 1 Yen = 550 USD » (valeurs arbitraires). La dévise du dessus est toujours l’unitaire (la référence dans le taux de change).

Tapons donc « 1550 » dans la zone « Montant_en_FC » pour représenter « 1550 USD ».

devient

Cliquons alors le bouton « CONVERTIR », et le tour est aussitôt/instantanément joué.

1'550 USD se sont convertis en 2.82 « YEN [japonaises] »

Il peut arriver que les nombres soient trop grands, alors pour donner leur ordre de grandeur, les nombres sont aussi représentés en « notation scientifique » pour donner l’ordre de grandeur (magnitude : milliers, millions, milliards…).

Le montant issu de la conversion est précédé du signe « = ».

Pour être actif, le montant à convertir doit être saisi en dernier. Au besoin, il suffit par exemple de rajouter un zéro (« 0 ») à la partie décimale pour le rendre actif.

Ci-après, le programme convertisseur :

...
« splice » = abouter. La méthode « array . splice ( ) » ajoute des éléments à un array ou lui en rétire. Elle retourne les items supprimés. Syntaxe: array.splice ( index, qtt, item1, ....., itemN ) <script> var array =... more
« splice » = abouter.

La méthode « array . splice ( ) » ajoute des éléments à un array ou lui en rétire. Elle retourne les items supprimés.

Syntaxe:


  array.splice ( index, qtt, item1, ....., itemN )


<script>
    var array = [39,7,19,10,12,50,17,2,38];
    console.log("Array init = [" + array + "]");

    console.log("près array.splice(-6 , 3, 46,8,6,33,42,4,30)");
    function fgo() {
      const reti = array.splice(-6 , 3, 46,8,6,33,42,4,30);
      return {
          rest:"Nouvel Array = [" + array + "]",
          reti:reti
      }
    }

    const rep = fgo();
    console.log(rep["rest"]);
    console.log(rep["reti"]);
</script>



« Slice » = trancher.

La méthode « Array . slice ( ) »  copie (sélectionne) les éléments, de la position spécifiée (incluse) à la position de fin (exclue si index de départ == 0, ou inclue si index de départ == 1).

Syntaxe :


  array . slice ( start, end )



<script>
    var array = [37,13,39,23,24,8,44,5,21];
    console.log("Array init = [" + array + "]");

    console.log("près array.slice(-7 , 6)");
    function fgo() {
      const reti = array.slice(-7 , 6);
      return {
          rest:"Nouvel Array = [" + array + "]",
          reti:reti
      }
    }

    const rep = fgo();
    console.log(rep["rest"]);
    console.log(rep["reti"]);
    console.log("Éléments retirés =", ...rep["reti"]);
</script>

III. String . slice ( ) :

<script>
    var st = "Diasoluka Luyalu";
    console.log("Chaîne init = [" + st + "]");

    console.log("Après String.slice(5 , 12)");
    function fgo() {
      const reti = st.slice(5 , 12);
      return {
          rest:"Nouvelle chaîne = [" + st + "]",
          reti:reti
      }
    }

    const rep = fgo();
    console.log(rep["rest"]);
    console.log(rep["reti"]);
    console.log("Éléments retirés =", ...rep["reti"]);
</script>
« Set » est un objet qui ne retient qu’un seul exemplaire ou copie de chaque élément, en rejetant/supprimant automatiquement tout doublon, mais sans trier les éléments retenus. Par exemple, ci-dessous : <script> const A =... more
« Set » est un objet qui ne retient qu’un seul exemplaire ou copie de chaque élément, en rejetant/supprimant automatiquement tout doublon, mais sans trier les éléments retenus.

Par exemple, ci-dessous :

<script>
    const A = [4,2,3,4,0,4,3,0,4,1,4,4,2,0,4,];
    const S1 = new Set(A);
    const S2 = new Set([...A]);
    const S3 = [... new Set(A)];
    const S4 = [... new Set([...A])];

    console.log("Array de départ =" , A);
    console.log("S1 =" , S1);
    console.log("S2 =" , S2);
    console.log("S3 =" , S3);
    console.log("S4 =" , S4);
</script>


Notez ci-dessus que :

1. Le nombre d’éléments contenus dans un « Array » est accesible via « length », tandis qu’avec un « Set » c’est via « size ».

2. Le « …Spread Operator » éclate le “conteneur” et “libère“ les éléments de ce dernier. Sans le « …Spread Operator » l’intégrité de chaque objet (ici « Array ») est respectée, ils sont traités comme tel.

Par comparaison, le « paramètre du reste » absorbe tout le reste des arguments en son sein (dans une array). Il doit être le dernier.

L’objet « Set » permet donc de constituer une union de deux ou plusieurs « Arrays », en supprimant les doublons.

Voici une « fusion » simple d’Arrays hors d’un objet « Set ». Notez encore l’effet du « …Spread Operator » :

<script>
    var A1 = [1,0,5,4,1,0,0,4];
    var A2 = [5,4,3,0,3,2,3];

    console.log("Array original A1 =" , A1);
    console.log("Array original A2 =" , A2);

console.log("=".repeat(15));

    let fusion;

    fusion = [A1, A2];
    console.log("Fusion de A1 & A2 = " , fusion);

    fusion = [...A1, ...A2];
    console.log("Fusion de A1 & A2 = " , fusion);
</script>


Sans le « …Spread Operator » l’intégrité de chaque objet est préservée. Chaque objet est traité comme tel.

Le « …Spread Operator » "éclate" chaque objet (ici Array) et libère les éléments de ce dernier.

Le même code ci-dessus, mais avec l’objet « Set » :

Au lieu d’une « fusion » (regroupement de tous les éléments), on aboutira à une « union » (mise en commun des éléments, en supprimant les doublons) :
<script> "use strict";
    var A1 = [1,0,5,4,1,0,0,4];
    var A2 = [5,4,3,0,3,2,3];

    console.log(A1);
    console.log(A2);

console.log("=".repeat(15));

    let union;

    union = [...new Set([...A1, ...A2])];
    console.log("Union de A1 & A1 = " , union);

    union = [...new Set([A1, A2])];
    console.log("Union de A1 & A2 = " , union);

console.log("=".repeat(15));

    union = new Set([...A1, ...A2]);
    console.log("Union de A1 & A2 = " , union);

    union = new Set([A1, A2]);
    console.log("Union de A1 & A2 = " , union);
</script>


Notez ci-dessus et ci-dessous que le « …Spread Operator » agit aussi sur les objets non « Array », ici sur l’objet « Set » :

L’objet « Set » avec le « …Spread Operator »,
Les « Arrays » aussi avec le « …Spread Operator »,


L’objet « Set » avec le « …Spread Operator »,
Mais « Arrays » sans le « …Spread Operator », ils sont traités comme tels, en bloc (sans les détails) :


L’objet « Set » sans le « …Spread Operator »,
Mais les « Arrays » avec le « …Spread Operator »,


L’objet « Set » sans le « …Spread Operator »,
Les « Arrays » aussi sans le « …Spread Operator ».
Tous sont traités comme tels, en bloc (sans les détails) :


Voyons ce qui se passe quand un des arrays ci-dessus est traité avec le « …Spread Operator », et l’autre non :
- L’array sans le « …Spread Operator » est traité en bloc sans (détails masqués),
- celui avec le « …Spread Operator » est éclaté (détaillé).

<script> "use strict";
    var A1 = [0,5,3,4,2,0,4];
    var A2 = [5,4,3,0,3];

    console.log(A1);
    console.log(A2);

console.log("=".repeat(15));

    let union;

    union = [...new Set([A1, ...A2])];
    console.log("Union de A1 & A1 = " , union);

    union = [...new Set([...A1, A2])];
    console.log("Union de A1 & A1 = " , union);

    union = new Set([A1, ...A2]);
    console.log("Union de A1 & A2 = " , union);

    union = new Set([...A1, A2]);
    console.log("Union de A1 & A2 = " , union);
</script>


INTERSECTION, DIFFÉRENCE SYMÉTRIQUE, UNION, FUSION (UNIQUE) :

<script>
  let res=null;
  const ar1=[7,9,11,13,14,17],
        ar2=[6,11,14,15,17];

  console.log(`[${ar1}] et [${ar2}]`);
  // [7,9,11,13,14,17] et [6,11,14,15,17]

  res = ar1.filter(p => ar2.includes(p));
  console.log("* INTERSECTION");
  console.log(res); // Array(3) [ 11, 14, 17 ]

  let res1 = ar1.filter(p => !ar2.includes(p));
  let res2 = ar2.filter(p => !ar1.includes(p));
  console.log("* DIFFÉRENCE SYMÉTRIQUE");
  console.log(res1); // Array(3) [ 7, 9, 13 ]

  console.log(res2); // Array [ 6, 15 ]

  console.log([...res1,...res2]);
  // Array(5) [ 7, 9, 13, 6, 15 ]

  res = [...ar1, ...ar2];
  console.log("* UNION");
  console.log(res);
  // Array(11) [ 7, 9, 11, 13, 14, 17, 6, 11, 14, 15, 17 ]

  res = new Set([...ar1, ...ar2]);
  console.log("* FUSION (UNIQUE)");
  console.log(res);
  // Set(8) [ 7, 9, 11, 13, 14, 17, 6, 15 ]
</script>


DIFFÉRENCE SYMÉTRIQUE :

<script language="JavaScript" type="text/javascript">
  "use strict";

  let res=null;
  const ar1=[7,9,11,13,14,17],
« Set » est un objet qui ne retient qu’un seul exemplaire ou copie de chaque élément, en rejetant/supprimant auto-matiquement tout doublon, mais sans trier les éléments re-tenus. <script> const A =... more
« Set » est un objet qui ne retient qu’un seul exemplaire ou copie de chaque élément, en rejetant/supprimant auto-matiquement tout doublon, mais sans trier les éléments re-tenus.

<script>
    const A = [4,2,3,4,0,4,3,0,4,1,4,4,2,0,4,];
    const S1 = new Set(A);
    const S2 = new Set([...A]);
    const S3 = [... new Set(A)];
    const S4 = [... new Set([...A])];

    console.log("Array de départ =" , A);
    console.log("S1 =" , S1);
    console.log("S2 =" , S2);
    console.log("S3 =" , S3);
    console.log("S4 =" , S4);
</script>

Notez ci-dessus que :

1. Le nombre d’éléments contenus dans un « Array » est accesible via « length », tandis qu’avec un « Set » c’est via « size ».

2. Le « …spread operator » éclate le “conteneur” et “libère“ les éléments de ce dernier. Sans le « …spread operator » l’intégrité de chaque objet (ici « Array ») est respectée, ils sont traités comme tel.

L’objet « Set » permet donc de constituer une union de deux ou plusieurs « Arrays », en supprimant les doublons.
Le Hoisting : Le Hoisting est un mécanisme de fonctionnement du JavaScript qui s’assigne à accéder à une fonction ou une variable « var » même quand elles sont explicitement déclarées mais après leur première lecture. JS le fait en... more
Le Hoisting :
Le Hoisting est un mécanisme de fonctionnement du JavaScript qui s’assigne à accéder à une fonction ou une variable « var » même quand elles sont explicitement déclarées mais après leur première lecture. JS le fait en déplaçant [seulement] la déclaration de la variable (à l’exception de la valeur d’initialisation) ou la définition de la fonction au tout début de leur scope.

Les variables « let » et « const », introduites en JavaScript dans les versions ultérieures, ne sont pas concernées par le « hoisting ».
Les « Proxies » constituent un aspect/fonctionnalité de la « métaprogrammation » permettant d'intercepter et de personnaliser des opérations effectuées sur les propriétés d'objets. On peut les assimiler : 1. À des « event listeners »... more
Les « Proxies » constituent un aspect/fonctionnalité de la « métaprogrammation » permettant d'intercepter et de personnaliser des opérations effectuées sur les propriétés d'objets. On peut les assimiler : 1. À des « event listeners » particuliers destinés seulement à intercepter des accès aux propriétés d'un objet ciblé « target ». 2. À des « interrupt redirection » de l'assembleur. La « métaprogrammation » permet de modifier et/ou d'interagir avec le corps (ex. lecture) d'un code source pendant son exécution. Contrairement à la « programmation du niveau de base » qui traite les données fournies en entrée, la « métaprogrammation » travaille sur son propre code selon les trois types suivants de métaprogrammation : Introspection [Object.entries()], Self-modification [auto modification de la structure du programme], Intercession [redéfinition de la sémantique de quelques opérations du langage]. Syntaxe de définition d'un objet « Proxy » :
Quand MS-Windows ne connaît rien de la grammaire française : L’ordinateur est une machine potentiellement très puis-sante et dans la plupart des cas plus rapide et plus performant que le cerveau humain. Mais l’ordinateur, cet outil... more
Quand MS-Windows ne connaît rien de la grammaire française :

L’ordinateur est une machine potentiellement très puis-sante et dans la plupart des cas plus rapide et plus performant que le cerveau humain.

Mais l’ordinateur, cet outil potentiellement très intelligent et génial, est une machine plutôt bête, qui obéit servile-ment et fidèlement aux instructions que vous lui donnez. Et quand il vous signale une erreur, c’est parce que vous lui avez instruit de le faire dans tel cas ou telle situation.

Mais aussi, quand l’ordinateur se trompe c’est que c’est vous le programmeur qui avez donné des instructions erra-tiques ou des données erronées.

Mais aussi, même si l’ordinateur s’y prend très bien en logique flou (fuzzy logic), l’intelligence artificielle, les réseaux neuro-mimétiques (réseaux neuronaux) et l’intelligence artificielle, il ne peut fournir les résultats que selon le schéma logique ou suite logique que vous lui avez édicté dans un programme, et selon ce que vous-mêmes vous lui avez instruit de répondre dans tel cas ou telle situation.
Les avantages des thermomètres à infrarouge (aussi dits NON-CONTACT) sont multiples : aucun risque de passation de microbes (contamination : parce que justement ces thermomètres sont non-contact, pas de contact direct avec les corps des... more
Les avantages des thermomètres à infrarouge (aussi dits NON-CONTACT) sont multiples : aucun risque de passation de microbes (contamination : parce que justement ces thermomètres sont non-contact, pas de contact direct avec les corps des malades), ces thermomètres sont aussi souvent assez précis, et surtout ultra-rapides (vous avez parfois la mesure en moins d'une seconde), et exposent moins à la contagion.

Il existe plusieurs types de ce thermomètre dont : le type auriculaire (mesure la température du tympan), le type corporel (qui peut mesurer partout : la gorge, les aisselles, n'importe quelle partie du corps, et surtout la possibilité de comparer facilement et quasi au même instant les deux côtés du corps avec le même instrument), pouvant même être utilisé comme un thermographe (cartographie thermique) de fortune.

Mais seulement il y a ceci : les organismes vivants ont une couche externe appelée SHELL. Le SHELL est un isolant Thermique pour réduire les échanges thermiques avec le milieu extérieur : empêcher la dissipation de la température corporelle interne quand il fait trop froid, ou son échauffement quand il fait trop chaud mais avec une moindre efficacité.

Le SHELL représente 10% du Poids Corporel : Pour un PC.Tot de 84.5 kgs, Shell = 8.45 kgs , Core = 76.05 kgs.

Mais aussi la température corporelle interne (37°C) est le plus souvent supérieure à la température ambiante (en moyenne 32°C à Kinshasa, max ~35°C). La température lue avec ces thermomètres à infrarouge est donc le plus souvent, inférieure à la température interne qui est utilisée en Médecine (bien que rarement pouvant être supérieure si la température ambiante est plus élevée).

C'est la raison pour laquelle la plupart de ces thermomètres sont dotés d'un bouton permettant de sélectionner le type de mesure qu'on effectue : sur le corps humain, ou sur un autre organisme ou un objet inerte ? Ce sélecteur permet à l'instrument de mesure d'éventuellement réajuster la température lue en fonction de la couche SHELL.

Mais ce SHELL est essentiellement constitué de la couche adipeuse dont l'épaisseur n'est pas la même à tous les endroits du corps. Au niveau des muqueuses comme dans la gorge cette couche n'existe pas, et au niveau de l'abdomen, de la face postérieure des cuisses et des fesses cette couche est importante.

Le réajustement de la température ne doit donc pas se faire de la même façon selon le siège du prélèvement.

Pour cette raison, le fabricant de l'instrument DOIT préciser le siège de prélèvement à utiliser.

C'est là que se pose le problème :
Pour les thermomètres auriculaires, le siège est déjà bien précisé (on vous dit d'orienter la sonde dans la direction du tympan). Mais pour les autres on ne le spécifie pas.

Comme d'habitude quand on acquiert un nouvel appareil ou un nouvel instrument (tensiomètre, thermomètre, spectrophotomètre...) on DOIT commencer par l'étalonner ou du moins à valider ses résultats par rapport à un instrument similaire dont les résultats sont connus et fiables.

Les thermomètres à mercure donnant les températures les plus fiables/sûres, il est impératif de TOUJOURS comparer les résultats obtenus avec un nouveau thermomètre avec ceux de la température corporelle interne obtenue à l'anus avec un thermomètre à mercure, ET se faire un FACTEUR DE CONVERSION / RÉAJUSTEMENT global et/ou spécifique à un site de prélèvement sur un malade.
Il ne faut jamais administrer les médicaments (surtout les toxiques) avec une cuiller. Il faut toujours utiliser la mesurette livrée avec le produit ou mieux, prélever avec une seringue. Le dosage des médicaments en « Petites cuillers »... more
Il ne faut jamais administrer les médicaments (surtout les toxiques) avec une cuiller. Il faut toujours utiliser la mesurette livrée avec le produit ou mieux, prélever avec une seringue. Le dosage des médicaments en « Petites cuillers » (« cuillers à café ») ou « cuillers à soupes » n'a aucune précision et expose à des risques de surdosage ou de sousdosage, et n'est donc pas à recommander : certaines cuillers à soupe sont tellement plates et pas assez larges que leur contenu est moindre que celui d'une cuiller à café creuse. La question qui se pose quand le médicament n'est pas livré avec sa mesurette : quel type de cuiller le fabricant du médicament at -il utilisé pour déterminer le dosage en « cuillers » ? En général, on considère qu'à raz 1 cuiller à café mesure 5 mL, et qu'une cuiller à soupe mesure 15 mL donc 3 fois plus. Mais pour les médicaments visqueux on a parfois tendance à faire un contenu « bombé ». Pour les granules ou les médicaments en poudre on spécifie le mode de remplissage de la cuiller (bombé [mesure imprécise] ou à raz [assez précis mais pas rigoureusement]). De plus les ustensiles en plastiques exposent à l'intoxication au Bisphénol A [à ne pas confondre avec Bisphosphonates (BPA, produit de synthèse présent dans de nombreux objets en plastique (polymères du pétrole)], et... Les ustensiles en aluminium sont accusés de plusieurs autres verdicts dont l'Alzheimer... Et naturellement il ne faut surtout jamais utiliser une cuiller en bois.
Il y a trois diamètres cruciaux en obstétrique, pour un accouchement sans encombre : Promonto rétro pubien (10.5 – 11 cm), Transverse médian (12.5 – 13 cm), et Biscia-tique (11 – 11.5 cm). Outre les bassins asymétriques, le bassin peut... more
Il y a trois diamètres cruciaux en obstétrique, pour un accouchement sans encombre : Promonto rétro pubien
(10.5 – 11 cm), Transverse médian (12.5 – 13 cm), et Biscia-tique (11 – 11.5 cm).

Outre les bassins asymétriques, le bassin peut avoir des anomalies obstétricales dans ses diverses mensurations (bassin rétréci, …).

On parle de bassin chirurgical quand UN des diamètres pelviens est inférieur aux valeurs de références ci-après, en centimètres :

PRP < 8.5 | TM < 9.5 | Bi Sciatique < 8 | Bi Ischiatique < 8 | Asymétrique sacro-cotyloïdienne > 3 |  iMagnin < 20.

L'Indice de Magnin est un des critères d’évaluation du risque de dystocie osseuse (dystocie pelvienne) chez la femme parturiente (en plein travail d’accouchement).

Il évalue le risque que la tête se coince dans les parties osseuses du bassin.

En effet, le passage doit être plus grand que la tête de l’enfant à naître, bien que les os de la tête à ce stade de la vie aient une certaine capacité à se chevaucher.

Il se calcule avec la formule suivante :

Indice de Magnin = Somme « Diamètre Transverse Médian (TM) » + « Diamètre Promonto-RétroPubien » (RPR).
Le daltonisme confusion des couleurs rouge et vert touche 8.8-9% des caucasiens et 0.4% des caucasiennes (à ne pas confondre avec créoles =antillais, guyanais ou réunionnais) qui ont donc des déficiences de perception des couleurs dont... more
Le daltonisme confusion des couleurs rouge et vert touche 8.8-9% des caucasiens et 0.4% des caucasiennes (à ne pas confondre avec créoles =antillais, guyanais ou réunionnais) qui ont donc des déficiences de perception des couleurs dont 4.6% = deutéranomalie et les 3.4% autres se répartissent de façon presqu'égale entre protanomalie, deutéranopie et protanopie, donc à peu près 1% de chaque catégorie). Le daltonisme a été décrit il y a deux siècles par le chimiste John Dalton 1766-1884 père de la théorie atomique, lui-même atteint de l'anomalie, et a été le premier à attirer l'attention sur ce genre d'affection. Pour Denden A., certains daltoniens auraient une vision scotopique meilleure que des sujets normaux. Pour Karma les protanopes ont un seuil scotopique plus élevé alors que chez d'autres types de daltoniens ce seuil est comme chez les sujets normaux. Pour Chapanis et Hecht et Hsia les protans sont moins sensibles en vision scotopique aux stimuli de longueur d'onde plus grande que les sujets normaux.

L'achromatopsie, dystrophie des cônes stationnaire, est une maladie congénitale rare 1/30'000 à 1/50'000, transmise selon un mode autosomique récessif, et qui présente une hétérogénéité génétique : trois gènes et un locus candidat seraient impliqués dans cette affection (Ne pas confondre :
1. MONOCHROMATISME= qui n'a qu'un type de cône fonctionnel et distingue une seule couleur, et ACHROMATOPSIE / ACHROMATISME qui n'a aucune vision de cônes et ne voit qu'avec les bâtonnets ;

2. DICHROMATES= n'ont que deux types de cônes au lieu de trois ;

3. la VISION EN NOIR ET GRIS incolore de la vision scotopique pcq PANCHROMATIQUE mais avec un maximum de sensibilité pour la longueur d'onde de 507 nanomètres, avec la VISION MONOCHROMATIQUE qui désigne la vision d'une seule fréquence ou longueur d'onde lumineuse), et surtout pas de la lumière blanche. Lumière monochromatique désigne une lumière composée de rayonnement d'une seule fréquence ou lambda= longueur d'onde ; il n'existe pratiquement pas de rayonnement monochromatique pur).

La TRICHROMIE est le principe (utilisé notamment en photographie, en cinéma, et en télévision) permettant de reproduite toutes les couleurs seulement à partir de trois couleurs primaires ou fondamentales, procédé mis au point par Louis Ducos du Hauron. On a toutefois identifié une mutation donnant à un faible pourcentage de la population, principalement de sexe féminin, des cônes sensibles au jaune.

La propriété / différenciation subjective des couleurs n'existe que dans notre cerveau, et deux personnes ne perçoivent pas la même longueur d'onde et un flux énergétique avec la même nuance.
...
L'ANOMALOSCOPE est un équipement pour le test de la vision des couleurs, mais qui coûte énormément cher, rédhibitoire, particulièrement l'appareil de NAGEL. Voici un programme LUDIQUE qui fait bien l'affaire à moindre frais, selon le... more
L'ANOMALOSCOPE est un équipement pour le test de la vision des couleurs, mais qui coûte énormément cher, rédhibitoire, particulièrement l'appareil de NAGEL.

Voici un programme LUDIQUE qui fait bien l'affaire à moindre frais, selon le principe que l’écran de l'ordinateur fonctionne avec trois couleurs fondamentales (RGB = Red, Green, Blue ; ou RVB = Rouge, Vert, Bleu) qu'il recombine pour reconstituer "toutes" les couleurs.

Par ailleurs,
1. Le myope voit mieux dans le rouge,
2. L'hypermétrope dans le vert, et
3. L'astigmate dans le jaune.


MODE D'EMPLOI du simulateur de l’anomaloscope de Nagel :

A1) Le bouton « Random » de gauche propose une couleur de référence et affiche son spectre en HEXADÉCIMAL (D = DISPLAY) dans les trois zones d'affichage du milieu sous la rubrique MIRE et à gauche du sigle de chaque couleur correspondante. Vous pouvez effacer les valeurs de ces couleurs en les survolant avec le curseur de la souris.


A2) Le bouton « Random » de droite fait la même chose que celui de gauche (propose une couleur de référence) mais sans afficher son spectre (B = BLIND) [dans les trois zones d'affichage du milieu sous la rubrique MIRE et à gauche du sigle de chaque couleur correspondante].


A3) On peut proposer comme couleur de référence une couleur composite à deux couleurs fondamentales en cliquant le bouton représentant la couleur, en bas,

    soit en intensité MAXIMALE [les trois boutons de gauche]
    soit en intensité MOYENNE [les trois boutons de droite]


A4) On peut composer la couleur de référence manuellement en saisissant en décimale les valeurs d'intensité des couleurs fondamentales dans les zones de saisies respectives à droite des sigle des noms des couleurs au milieu en bas.

    Pour valider ces valeurs, cliquez sur la ligne des rubriques (labels « COUL », « MIRE » et « INC VALUE »). Les composantes de la couleur ainsi saisies sont converties en hexadécimales et affichées dans les boutons juste à gauche des sigles des couleurs, et pour éviter les fraudes, les couleurs saisies en décimales à droite des sigles des couleurs sont effacées. Si vous cliquez le bouton « verifier » juste en ce moment-là, les trois boutons juste à sa droite donneront en hexadécimale les mêmes composantes (spectre) de la couleur globale saisie.
...
You have: 1. « Long distance pupillary distance » (relaxed eye), and 2. « Near vision pupillary distance » for about 30-33 cm (for reading, ~40 cm for computer). In the latter the visual axis of each of the eyes converges to focus at... more
You have:
1. « Long distance pupillary distance » (relaxed eye), and
2. « Near vision pupillary distance » for about 30-33 cm (for reading, ~40 cm for computer).
In the latter the visual axis of each of the eyes converges to focus at that distance (30, 33, 40 cm...), so pupillary distance is lesser.
In the former, visual axes are almost parallel and thence pupillary distance is greater.
For progressive lenses, it is imperative to strictly respect the pupillary distance and to equilibrate the horizontal axis of the frame.
And more, progressive lenses should be worn as near as possible of the eyes.
Progressive lenses are less tolerated when containing tonic (cylindrical) component particularly if the axis of the cylinder is oblique and also when its power high, and particularly when the ADD is high, and if the quality of the lens and if the curvature is not adequate.
Sclerotic crystalline lenses (Elderly people) are less prone to help adapting to progressive lenses...

And 16 more

Représentation facile de kilo-machinTruc en binaire : 10b ^ ? <=> 2d ^ 9,9657842846620870436109582884682d. Il faut donc représenter cet exposant (9,9657842846620870436109582884682) en binaire, ce qui n’est pas commode. C’est comme... more
Représentation facile de kilo-machinTruc en binaire :
10b ^ ?  <=>  2d ^ 9,9657842846620870436109582884682d.
Il faut donc représenter cet exposant (9,9657842846620870436109582884682) en binaire, ce qui n’est pas commode. C’est comme chercher à briser des quarks pour utiliser leurs morceaux !
Il fallait donc trouver un exposant DÉCIMAL de 2d (10b) qui donne comme résultat le nombre le plus proche de 1’000d, exposant que l’on peut reconvertir FACILEMENT en binaire. L’entier décimal le plus proche de « 9,9657842846620870436109582884682d » est fort heureusement comme par enchantement, bien entendu le 10d, ce qui donne aussi fort heureusement comme par enchantement 1010b.
Et de nouveau fort heureusement comme par enchantement :
2d ^ 10d = 10b ^ 1010b = 1’024d = 100’0000’0000b.

0100’0000’0000b (1’000d en binaire) est un binaire très facile à représenter et mnémotechniquement très facile à retenir par l’humain :
11 chiffres significatifs, commençant par 1 suivi de 10 zéro.

De l'arnaque observée chez les fournisseurs d'accès Internet (FAI) : Les FAI promettent une certaine quantité de gigabytes à un certain prix. Tous vous offrent le giga au même prix. Mais apparemment la signification qu'ils accordent à ce terme gigaoctets n'est pas le même pour tous. « Giga » signifie 1 milliard de fois. Mais milliard de quoi ? En Informatique, l'ordinateur fonctionne en base binaire (base de numération 2), absolument toutes les données y sont représentées avec une succession seulement des digits (ou chiffres) « 0 » et de « 1 ». Ceci, c'est parce que le support de l'information dans les ordinateurs publics actuels y est constitué de transistors, et chaque transistor ne peut être que 2 états différents, et seulement un de ces deux valeurs à la fois (l'un OU l'autre, jamais les deux à la fois : le « OU » exclusif). Comme ce type de transistor fonctionne en base binaire, on l'appelle « bit ». Il existe bien sur des transistors qui peuvent prendre un de trois états différents, on parle de système ternaire ou système tertiaire. En système ternaire on peut représenter beaucoup plus de données, donc avec le même nombre de transistors on peut avoir une RAM virtuellement/fonctionnellement beaucoup plus volumineuse. Comme ce type de transistor fonctionne en base ternaire, on l'appelle « trit ». Bien entendu, depuis déjà une dizaine d'années, on dit qu'on a développé un support en quartz (mémoire holographique) pour un stockage holographique illimité, mais ça n'entre toujours jamais dans le grand public, tout comme l'ordinateur optique et l'ordinateur quantique (qui fonctionne avec des quantum de données [la bonne grammaire c'est « quanta de données »]).
Dieu a dit à Moïse : Exode 7:1 [DARBY] *Et l'Éternel dit à Moïse : Vois, je t'ai fait Dieu pour le Pharaon ; et Aaron, ton frère, sera ton prophète. [LOUIS SEGOND 1910] L'Éternel dit à Moïse : Vois, je te fais Dieu pour Pharaon : et... more
Dieu a dit à Moïse : Exode 7:1 [DARBY] *Et l'Éternel dit à Moïse : Vois, je t'ai fait Dieu pour le Pharaon ; et Aaron, ton frère, sera ton prophète. [LOUIS SEGOND 1910] L'Éternel dit à Moïse : Vois, je te fais Dieu pour Pharaon : et Aaron, ton frère, sera ton prophète. L'Apôtre Paul a été enlevé jusqu'au TROISIÈME ciel par le Seigneur Jésus-Christ pour lui faire voir les merveilles encore cachées plutôt non révélées aux humains et pour lui donner un enseignement particulier, n'ayant pas été avec les disciples durant le séjour charnel du Seigneur Jésus-Christ sur Terre. [2 COR 12:] 1 ¶ Faut-il se glorifier? Cela n'est pas utile; j'en viendrai néanmoins à des visions et à des révélations du Seigneur. 2 Je connais un homme dans le Christ qui, il y a quatorze ans, FUT RAVI JUSQU'AU TROISIÈME CIEL (si ce fut dans son corps, je ne sais; si ce fut hors de son corps, je ne sais: Dieu le sait). 3 Et je sais que cet homme (si ce fut dans son corps ou sans son corps, je ne sais, Dieu le sait) 4 fut enlevé dans le paradis, et qu'il a entendu des PAROLES INEFFABLES QU'IL N'EST PAS PERMIS À UN HOMME DE RÉVÉLER. 5 C'est pour cet homme-là que je me glorifierai; mais pour ce qui est de ma personne, je ne me ferai gloire que de mes faiblesses. 6 Certes, si je voulais me glorifier, je ne serais pas un insensé, car je dirais la vérité; mais je m'en abstiens afin que personne ne se fasse de moi une idée supérieure à ce qu'il voit en moi ou à ce qu'il entend de moi. 7 Et de crainte que l'excellence de ces révélations ne vînt à m'enfler d'orgueil, il m'a été mis une
Bien que notre univers actuel (pas seulement la planète Terre) n'ait rien d'égal par rapport au jardin d'Éden le paradis terrestre, il n'est pas un univers pauvre. Qui pourrait chiffrer le prix du plus petit pays du monde ? Qui saurait... more
Bien que notre univers actuel (pas seulement la planète Terre) n'ait rien d'égal par rapport au jardin d'Éden le paradis terrestre, il n'est pas un univers pauvre.

Qui pourrait chiffrer le prix du plus petit pays du monde ? Qui saurait l'acheter, qu'il soit individu ou une nation ou un organisme ?

Rien que tout le sable du plus petit pays de la Terre représente des milliards d'Euros.

Ajoutez-y toutes ses caillasses.

Et si on doit extraire tout l'oxygène, l'hydrogènes et chacun des gaz qui flottent dessus, on les vendrait à combien ?

Ne parlons même pas de tout le pétrole que peut recéler ce plus petit pays du monde.

Et s'il recèle en plus [même si c'est aux abords du magma terrestre au centre de la Terre] : Cobalt, l'or, diamants, cuivre, étain, zinc, magnésium, manganèse, aluminium, émeraude, Uranium, pyrochlore, bois noir, afromozia et autres bois, quartz, des sources d'énergie (foudres, ouragans, cyclones, chutes d'eau,...), ...

Ceci c'est bien entendu sans compter toute la flore et la faune (combien coûte un seul Dindon ? et un Okapi, et un Palanka Negra, un seul perroquet, un seul kilo de spirulina, MISOLA, soja, arachides, haricots, miel ...) depuis la création du monde ?

Et comme en Chine on mange les vers de terre =LOMBRIC, combien coûte tous les lombrics d'abord du plus petit pays du monde, puis de toute la terre, mais aussi tous les vers, chenilles et insectes, pour ne citer que ça ?

Et l'ensemble de ses habitants coûteraient combien ? Qui connaît le prix d'un humain ? Combien dédommage-t-on quand on a été à la base de la mort ou de l'infirmité de quelqu'un ?

On peut s'emparer d'un pays, mais on ne saura jamais l'acheter.

Et l'âme humaine, ça coûte combien ? Combien de milliardaires stériles ne sont-ils pas incapables d'acheter leur procréation ? Bien sûr que la Médecine fait des progrès dans ce sens, mais toutes les stérilités ne sont pas encore curables, et à même si, c'est à quel prix ?



Et, à combien chiffrerait-on la valeur commerciale de toute la Terre ?

Et si on prend encore la lune, et avec le soleil, et avec tout le système solaire, et avec toute la galaxie, et avec tout notre univers, et s'il y a plusieurs univers, le tout représente combien d'Euros ? Qui pourrait acheter ça ?

Et ça c'est seulement pour l'univers visible sans compter la matière noire, l’énergie sombre, le Paradis céleste !...
Dieu accorde une importance particulière au manger. Marc 5:43 Il leur recommanda avec instance que personne ne le sût, et dit de LUI DONNER À MANGER (Bible Pirot Clamer), Luc 8:55 Son esprit revint en elle, à l'instant elle se leva, et... more
Dieu accorde une importance particulière au manger.

Marc 5:43 Il leur recommanda avec instance que personne ne le sût, et dit de LUI DONNER À MANGER (Bible Pirot Clamer), Luc 8:55 Son esprit revint en elle, à l'instant elle se leva, et Jésus ordonna de lui donner à manger (BIBLE COLOMBE =SEGOND 1978).

Luc 8:55 Et son esprit revint en elle, et à l'instant elle se leva; et Jésus ordonna qu'on lui donnât à manger (Lectures et images).

Matthieu 14:16 Mais Jésus leur dit : " IIs n'ont pas besoin de s'en aller; donnez-leur vous-mêmes à manger. "

Luc 15:17 Or, étant revenu à lui-même, il dit : Combien y a-t-il de mercenaires dans la maison de mon père, qui ont du pain en abondance ; et moi, je meurs de faim ! (Bible Martin 1855)

Jean 6:5 Jésus donc ayant levé les yeux, et voyant une grande foule qui venait à lui, dit à Philippe: Où achèterons-nous des pains, AFIN QUE CES GENS-CI AIENT À MANGER? [Or, il disait cela pour l'éprouver, car il savait ce qu'il devait faire] (Bible de Genève 1669).

Romains 12:20 Si donc ton ennemy a faim, donne luy à manger : s'il a soif, donne luy à boire (Bible Calvin 1897).
La Bible est un ensemble de bribes de connaissances qui donne juste le début de l'essentiel. De toutes les façons, la Bible étant un livre qui parle des choses d'une autre dimension, plus elle aurait été approfondie [dans toutes ses... more
La Bible est un ensemble de bribes de connaissances qui donne juste le début de l'essentiel. De toutes les façons, la Bible étant un livre qui parle des choses d'une autre dimension, plus elle aurait été approfondie [dans toutes ses dimensions], plus nous nous éloignerions de sa compréhension.

Le peu qui y est repris nous plonge déjà dans d'énormes confusions, au point que même les apôtres entre eux n’arrivaient parfois pas à se comprendre.

L’apôtre Pierre le manifeste bien dans 2 Pierre 3 :[15-]16 quand il dit ceci :

(Chouraqui 2005) :
« Estimez la patience salvatrice de notre Adôn, comme notre frère aimé, Paulos, selon la sagesse à lui donnée, vous l’a déjà écrit,
16. comme aussi dans toutes les lettres où il parle de cela. Certains passages en sont difficiles à comprendre; les non-instruits et les instables les distordent, comme d’ailleurs le reste des Écrits, pour leur propre ruineé ».

(NT_Polyglotte.Beze1628) :
Et tenez pour Salus la longue attente de nostre Seigneur ; comme aussi nostre bien-aimé frere Paul vous en a escrit selon la Sapience qui lui a esté donnez :
16. Comme celui-qui en … ses Épistrez parle  de ces points entre lesquels il y a des choses difficiles à entendre, que les ignorans & ma ¿assenrés ? tordent, comme aussi les autres Escritures, à leur propre perdition…

(Bible Calmet Pierre1725) :
… 16. Comme il le fait aussi en toutes ses Lettres, où il parle de ces mêmes choses : dans lesquelles il y a quelques endroits difficiles à entendre, que des hommes ignorants & légers détournent aussi-bien que les autres Ecritures, à de mauvais sens, pour leur propre ruine.

Réfléchissez sur les passages qui suivent :

1 Cor 3:2
Je vous ai donné du lait, non de la nourriture solide, car vous ne pouviez pas la supporter; et vous ne le pouvez pas même à présent, parce que vous êtes encore charnels (Louis Segond 1910).

Jn 21:25
Il y a encore beaucoup d'autres choses que Jésus a faites ; et si elles étaient écrites l'une après l'autre, je ne pense point que le monde même pût contenir les livres qu'on en écrirait [Amen] (E. Arnaud 1858).

Jn 16:12
J’ai à vous dire encore plusieurs choses, mais elles sont encore au-dessus de votre portée (Bible de Jésus-Christ 2015, Pierre Bert 1832).
Il est vrai que TOUS les [bons] labos et toutes les techniques tendent vers UN SEUL et même but : LA QUANTIFICATION DE LA CONCENTRATION RÉELLE ET QUI EST UNIQUE DE LA SUBSTANCE ANALYSÉE. Il est fort dommage que certains laboratoires ne... more
Il est vrai que TOUS les [bons] labos et toutes les techniques tendent vers UN SEUL et même but :

LA QUANTIFICATION DE LA CONCENTRATION RÉELLE ET QUI EST UNIQUE DE LA SUBSTANCE ANALYSÉE.

Il est fort dommage que certains laboratoires ne donnent pas leurs valeurs de référence (valeurs normales ou limites).

Certains laboratoires ne donnent donc pas leurs valeurs de référence (valeurs normales ou limites).

D'où l'importance des références qui suivent.

C’est ainsi qu’au Centre d’Études et de Recherches pour l’Informatisation et la Myopie (CERINFORMYO/CESTREMYOCO) en République Démocratique du Congo, nous avons développé un module dans le logiciel GHA (Global Health Assessment) pour interpréter automatiquement avec l’ordinateur les résultats de laboratoire selon différents laboratoires enregistrés dans ce logiciel.

Ce même logiciel GHA nous a permis par ricochet de constater moult incongruences dans les résultats livrés par les laboratoires, et surtout la disparité des valeurs de référence qui se chevauchent parfois entre excès et insuffisance. Ce qui signifie que le laboratoire ne nous donne pas la valeur exacte/réelle de la concentration des substances dans le sang, autrement tous les constructeurs allaient utiliser une unique méthode qui donne la valeur réelle. Pourtant la guérison et la survie du malade en dépendent.

Ce système n’a pas seulement permis de découvrir la disparité des valeurs de référence, mais signale aussi les résultats qui s’éloignent trop des valeurs limites, ce qui peut survenir entre autres quand il y a erreur du laboratoire ou que la situation du malade est particulièrement sérieuse.

En passant, rappelons un principe fondamental :
Le bilan lipidique se fait après jeûne complet de 12 heures.


D’autre part, que signifie « valeur normale » ? Ça peut signifier beaucoup de choses :

1. La population normale (de la courbe statistique de Gauss),

2. La population saine,

3. Les limites physiologiques dans la population générale,

4. La NORMALE GAUSSIENNE de la courbe de vos propres valeurs habituelles.


Les valeurs de références ne sont pas universelles. Les valeurs normales d’un habitant des contrées froides ne sont pas toujours les mêmes que pour un habitant des pays chaud.

De plus, ces valeurs de références ne sont pas les mêmes selon l’état physiologique ou morbide : les valeurs normales de la glycémie et de l’HbA1c (hémoglobine glyquée) sont plus élevées chez le diabétique sous hypoglycémiant que chez un diabétique sous régime (alimentaire et physique) seulement, et que chez une personne « normale » (sans diabète mais pouvant cependant souffrir d’une autre affection).
Certaines personnes s’amusent à calculer ce qu’ils appel-lent « Nombre de Nom », un domaine appelé ou s’apparentant à la « Numérologie ». Il y a au moins deux méthodes de calcul : I. Chaque lettre du nom a la valeur de sa position dans... more
Certaines personnes s’amusent à calculer ce qu’ils appel-lent « Nombre de Nom », un domaine appelé ou s’apparentant à la « Numérologie ».

Il y a au moins deux méthodes de calcul :

I. Chaque lettre du nom a la valeur de sa position dans l’alphabet. C’est ce que j’ai appelé ici « Numérologie alphabétique ».

II. On ne retient du nom que les digits de la « numération romaine » avec leurs valeurs intrinsèques dans cette numération romaine (I=1, V=U=5, X=10, L=50, C=100, D=500, M=1000). C’est ce que j’ai appelé dans ce texte « Numérologie romanique ».

Certaines personnes calculent ainsi, que « Vicarius Filii Dei » donne le nombre « 666 », un nombre ou chiffre mystifié par beaucoup, à cause d’un passage dans le livre biblique de l’apocalypse qui en a parlé.

Ci après, un programme qui calcule le « nombre du nom » dans les deux acceptions, une version avec affichage dans la console du browser, l’autre version avec affichage dans le corps de la page HTML.

I. Version avec affichage dans le corps de la page HTML.
Comment connaître la valeur numérique d’un nombre écrit dans une base de numération, par exemple le nombre « sg » en base de numération 36 : Il faut au départ tracer une table de « poids des digits (Pd) » (ci-dessous), valable pour... more
Comment connaître la valeur numérique d’un nombre écrit dans une base de numération, par exemple le nombre « sg » en base de numération 36 :

Il faut au départ tracer une table de « poids des digits (Pd) » (ci-dessous), valable pour toutes les bases de numération. Selon cette table le digit « S » a la valeur ou poids « 28 » dans la « base 36 », et le digit « G » la valeur « 16 » dans la même base :

Pour connaître la valeur numérique (Vn) d’un digit dans un nombre, on utilise la formule suivante :

Vn = Pd * (Base ^ Pos)

...
n petit code de programme pour donner utilisant la méthode « Ar-ray.reduce() », en décimal, la valeur d’un nombre dans sa base de numération :

<script> "use strict";
  function fgo(p){
    const base =
      1*document.getElementById("base").value;

    let nb = document.getElementById("nb").value
    console.log(nb,"en BASE",base);

    nb = Array.from(
      document.getElementById("nb").value
    );

    const r = nb.reverse().reduce((act,next,idx) => {
        if(next>=base){

...
const res = arr.map(p => { let flag=0; for(var k=1 , l=arr.length/2 ; k<=l ; k++){ if(!(p % k) && p!==k && k!==1) {flag++ ; break} } if (flag) { cp[k]++; totNonPrimes++;... more
const res = arr.map(p => {
    let flag=0;
    for(var k=1 , l=arr.length/2 ; k<=l ; k++){
        if(!(p % k) && p!==k && k!==1) {flag++ ; break}
    }
    if (flag) {
        cp[k]++; totNonPrimes++;
        if(!statsOnly)
            return `${p} Non Premier, PPD=${k}${nl}`;
    }
    else {
        let t=String(p),
            td=t.charAt(t.length-1);
        cd[td]++; totPrimes++;
        ecarPrimes=p-dernier;
        dernier=p;
        ep[ecarPrimes]++;
        if(!statsOnly)return `${p}`+
                ` ***** PREMIER ***** (DC=${td}) E=`+
                `${ecarPrimes}${nl}${nl}`;
    }
  });

Ci-dessous, le listage d’une analyse assez approfondie des nombres premiers entre 1 et 1e7, obtenus avec le programme ci-dessus. Cette analyse peut aider ou permettra à des chercheurs intéressés, d’étudier le comportement des nombres premiers et éventuellement mettre au point des algorithmes permettant de déterminer facilement si un nombre quelconque est premier sans avoir à le diviser par tous les diviseurs possibles.
Si on peut arriver à déterminer le comportement des nombres premiers, et les règles régissant leur succession, on peut facilement les énumérer à partir d’un nombre premier de référence.
Nous pouvons donc provisoirement fixer les valeurs limites de nos paramètres : Max × min  : 450 – 11’200 ([90 × 50] – [140 × 80]) ; Max + min  : 140 – 220 ([90 + 50] – [140 + 80]) ; Somme / PP : 2,33 – 3,5 ([220 / 60] – [140 /... more
Nous pouvons donc provisoirement fixer les valeurs limites de nos paramètres :

Max × min   : 450 – 11’200 ([90 × 50] – [140 × 80]) ;
Max + min  : 140 – 220 ([90 + 50] – [140 + 80]) ;
Somme / PP : 2,33 – 3,5 ([220 / 60] – [140 / 40]) ;
PP / somme : 0,27 – 0,29 ([60 / 220] – [40 / 140]) ;
PP / min  : 0,75 - 0,8 ([60 / 80] – [40 / 50]) ;
PP / Max  : 0,43 – 0,44 ([60 / 140] – [40 / 90]).

Aujourd’hui nous proposons encore une nouvelle démarche pour évaluer et apprécier la Tension Artérielle, en rapport des risques individuels de chaque composante de la Tension Artérielle (Systole et Diastole).

Chaque composante présentant son propre risque, ils est intéressant de voir comment s’additionnent ces risques, et aussi de vois comment ils se multiplient.

On en arrive donc à la somme de la Maxima et de la minima, ainsi qu’au produit des deux composantes.

taSUM = Diastolique + Systolique
taDIFF (la Pression Pulsée ou différentielle) = Systolique – Diastolique
taPROD = Diastolique × Systolique
ratio taSUM / taDIFF
ratio taDIFF / taSUM

Mais aussi les ratios de la différentielle par rapport à la Systolique et la Diastolique :

taDIFF/Max = ratio différentielle sur Systolique,
taDIFF/min = ratio différentielle sur Diastolique.


De nouveau, j’attire l’attention sur le fait que c’est aux Médecins-Internistes de trouver les applications pratiques de ces paramètres qui pourraient servir d’indicateur direct de tel ou tel risque précis.


Sur ce, passons à l’analyse concrète des chiffres tensionnels (bien sûr ici arbitraires/virtuels), on va se servir du logiciel GHA (Global Health Assessment), pour le calcul de tous les résultats. On ne tiendra compte que de l’analyse des données d’un seul côté du corps pour une seule position :
Le cumul d’une substance revêt plusieurs aspects dont : Une substance peut avoir un indice d’élimination très faible, de sorte que des prises répétées même à de petites doses peuvent conduire à la longue (voire sur plusieurs décennies)... more
Le cumul d’une substance revêt plusieurs aspects dont :

Une substance peut avoir un indice d’élimination très faible, de sorte que  des prises répétées même à de petites doses peuvent conduire à la longue (voire sur plusieurs décennies) à un cumul entraînant une intoxication. C’est le cas des éléments plomb, arsenic, mercure (souvent les métaux lourds), les substances liposolubles (vitamine A, vitamine D)…

Le cumul peut aussi être dû à la prise simultanée de différents médicaments dans lesquels une même substance se retrouve. Par exemple tous les médicaments suivants contiennent du paracétamol (acétaminophène) : Doliprane, Dafalgan, Efferalgan, Actifed, Humex, Fervex, Prontalgine, Tylénol… ; c’est ce genre de cumul qui fait l’objet de notre travail-ci.

Bien entendu, le cumul ne concerne pas seulement un principe actif précis, mais les classes de médicaments : Paracétamol, Aspirine, Ibuprofène, Diclofénac, Kétoprofene, Naproxène, Piroxicam, Profénide, Bi-Profénide, Acéclofénac, acide Méfénamique, Acide Niflumique, Acide Tiaprofénique, Alminoprofène, Célécoxib, Dexkétoprofène, Étodolac, Étoricoxib, Fénoprofène, Flurbiprofène, Indométacine, Méloxicam, Nabumétone, Piroxicam, Sulindac, Ténoxicam, et les inhibiteurs sélectifs de la cyclooxygénase 2 (cox-2 cfr célécoxib)… ont tous les mêmes risques et effets secondaires (allergie ou d’asthme, saignement/perforation digestifs, ulcère de l’estomac ou du duodénum, maladie grave du foie, insuffisance cardiaque ou insuffisance rénale grave, femme enceinte)…

De plus, 1gr d’un produit en un seul comprimé n’est pas identique à 2cés de 500 mg du même produit. On risque d’absorber le double des conservateurs et ingrédients dits non actifs. Mais sont-ils toujours vraiment inactifs ? Ils peuvent provoquer irritation, intolérance, sensibilité et sensibilisation, allergie, malabsorption…

La plupart des intoxications médicamenteuses est donc due à une association cumulative (cumul) de médicaments comportant le même principe actif se retrouvant dans plusieurs médicaments qui sont associés dans la même prescription ou dans l’ensemble de la cure.

Certaines substances comme la vitamine C ont une marge de toxicité quasi illimitée, tandis que d’autres comme les tonicardiaques ont une marge thérapeutique très serrée.

Par contre, certains principes actifs ont une toxicité avérée, mais souvent ignorée comme le « chlorure de benzalkonium » et dans une moindre mesure le « Polyquad », utilisés comme conservateurs dans les collyres.

Il a par exemple aussi été observé des cas de perforations cornéennes (nécrose) après traitement avec des collyres aux « fluoroquinolones » [et même des ruptures du tendon d’Achille en traitement systémique], imaginez le risque de l’association avec d’autres substances qui fragilisent l’intégrité cornéenne (corticoïdes, la tétracycline avec ses cristaux, sans négliger les conservateurs, dont on a déjà parlé…).

À chaque fois donc que vous instillez un collyre (par exemple au rythme de 1 gtte chaque heure) vous vous exposez aussi bien aux effets néfastes des principes actifs, des conservateurs et autres ingrédients.

Les quinolones et les AINS ont une toxicité rénale individuelle avérée. Leur association est d’autant plus dangereuse.

Les macrolides (comme l’érythromycine), le paracétamol et d’autres AINS, la gentamycine… ont chacun une toxicité hépatique et ne devraient eux non plus pas se retrouver dans une même cure ou prescription.

Certains principes actifs se retrouvent dans beaucoup de médicaments pour le traitement d’une même affection ou pas.

Par exemple le Dolaren® comporte du paracétamol et Dr Cold® en comporte aussi, l’Ibucap® aussi. Il faut donc faire attention quand on prescrit un traitement à un rhumatisant qui souffre aussi par exemple de la grippe.

Dr Cold® comporte un antihistaminique, beaucoup d’antitussifs en contiennent aussi, un malade grippé sous traitement antiallergique parallèle pourrait facilement se retrouver en surdosage d’antihistaminiques.

Ce programme, indéfiniment extensible, permet de mettre à nu ce cumul caché, de produits dans une même prescription ou l’ensemble de la cure (ordonnances / prescriptions en provenance de différents médecins).

Ce programme permet aussi d’éviter une erreur d’orthographe qui pourrait être fatale pour le malade. Par exemple une fois j’ai prescrit la « Terneurine » (Vit B1, B6 & B12) à un patient, et le pharmacien lui a remis de la « tonormine » qui est un tonicardiaque. Heureusement que le patient est d’abord venu présenter le médicament pour confirmation, avant de l’utiliser.

Voici un modèle de programme qui permet cette vérification.
La République Démocrtique du Congo est un état-continent aux dimensions presqu'aussi grandes que la France, la Belgique, et la Suisse mises ensemble. La gouvernance de la RDC a toujours été calamiteuse dans ce sens qu'elle est... more
La République Démocrtique du Congo est un état-continent aux dimensions presqu'aussi grandes que la France, la Belgique, et la Suisse mises ensemble. La gouvernance de la RDC a toujours été calamiteuse dans ce sens qu'elle est principalement basée sur l'anarque (corruption, le favoritisme, le tribalisme, le népotisme), et tous les maux que vous pouvez imaginer, au lieu de se baser sur la méritocratie (mérite : l'homme qu'il faut à la place qu'il faut). La RDC est tellement grande que sa gouvernance et son contrôle sont excessivement difficiles, preuve en est l'échec des systèmes politiques qui s'y sont succédé dans le temps : Kasa-Vubu n'avait pas la tâche facile à contrôler diverses rébellions qu'on lui avait imposées par les Occidentaux, et l’authentifiant/authentifieur authentiste Mobutu l’universaliste rassembleur (il a travaillé indistinctement avec toutes les tribus de la RDC) et ambitieux pour un développement prestigieux et durable de la Nation congolaise (il était déterminé à hisser le développement de la RDC au rythme et niveau de la Chine de Mao Xe Tung, pour preuve il a jusqu’ici été le seul Président congolais à réaliser concrètement autant d’oeuvres utiles et profitables/accessibles à tous dont : ISTA, Ferme agro-industrielle de la Nsele qui produisait des aliments BIO, Gbdadolite (avec l’Aéropore Internationale de Gbadolite et le Collège de Gbadolite…), Kawele, Station Télévision de Gbadolite par satellite, Barrage Mobayi Mbongo, CiNat, Pont Maréchal, Midema, Cité et Tour de la Voix du Zaïre, Palais du peuple, stade Kamaniola, Boulevard triomphale, Nationale-II, barrage d’INGA (I & II), Cité de l’OUA, Sidérurgie de Maluku, Savonnerie de Gemena, African Luxe ouvert à toute la population, Banque de Kinshasa, Cité Salongo, CNECI, CCIZ, Concentrateur de Kamoto, Base OTRAG, Base militaire de Kotakoli, EFO, Centre Supérieur Militaire, un Grand Collège à Libenge (pour que les enfants des dignaitaires [mais aussi n’importe quel enfant] n’aillent pas étudier en Europe), une très forte armée préparée pour les opérations extérieures (corps expéditionnhaire : Tchad [contre Kadafi] et nous avons gagné, Afrique du Sud, Angola)  … l’admission du Zaïre dans le Club des Dix ([premiers] pays les plus riches et les plus organisés du monde), le ralliement du Zaïre-monnaie aux Droits de Tirages Spéciaux (DTS), à plusieurs reprises le Zaïre était en programme avec la Banque Mondiale et le Fonds Monétaire Internationale (DSRP = Document Stratégique pour la Réduction de la Pauvreté), les Suds-Africains venaient recevoir leurs soins médicaux en RD Congo, et les militaires de par le monde venaient suivre leur formation militaire chez nous (Tchadiens, Centr-Africains, Togolais…), comme ceux des autres allaient en Isaraël, Belgique, … Des Meeting-Commabdo  se faisaient au centre Kota-Koli, « que sais-je encore » comme souvent aimait le dire lui-même) ; mais il n’a malgré tout, pas pu répondre aux aspirations et exigences du peuple, à savoir le bien-être avec un niveau social adéquat, sans compter les crimes dissuasifs et crapuleux qui constituaient son moyen de se maintenir au pouvoir.