L'estimation du taux d'alcoolémie est un sujet qui intéresse autant les professionnels de la santé que les spécialistes de la sécurité routière et le grand public. Dans la réalité, déterminer avec exactitude la concentration d'alcool présente dans le sang d'une personne est une opération complexe qui dépend de nombreux facteurs biologiques et environnementaux. L'âge, le poids, le sexe, l'alimentation, la fatigue, la prise de médicaments, certaines maladies, le rythme de consommation ainsi que les particularités du métabolisme individuel peuvent tous influencer l'absorption et l'élimination de l'alcool par l'organisme. Pour cette raison, il est pratiquement impossible de prévoir avec une précision absolue le taux d'alcoolémie réel d'un individu à partir d'une simple formule mathématique. Malgré ces limites, diverses méthodes théoriques ont été développées afin de fournir une estimation approximative du niveau d'alcool dans le sang en fonction de paramètres facilement mesurables. Ces formules sont souvent utilisées à des fins éducatives, statistiques ou préventives afin d'illustrer les effets potentiels de la consommation d'alcool. Elles reposent généralement sur la quantité d'alcool absorbée, le poids corporel et un coefficient de diffusion représentant la répartition de l'alcool dans l'organisme.
Dans l'exemple présenté ci-dessous, le calcul utilise un coefficient différent selon le sexe, soit 0,70 pour les hommes et 0,60 pour les femmes, afin de tenir compte de certaines différences physiologiques moyennes observées dans la distribution de l'alcool. Le programme en langage C met en oeuvre plusieurs fonctions permettant d'effectuer automatiquement ces calculs. Une première fonction convertit le poids exprimé en livres vers son équivalent en kilogrammes, tandis qu'une autre applique la formule théorique servant à estimer la quantité maximale d'alcool associée à un seuil donné. Des fonctions supplémentaires permettent ensuite de convertir ce résultat en volumes approximatifs de différentes boissons alcoolisées, notamment le whisky, le vin et la bière. L'exemple fourni prend comme référence un homme de 150 livres et calcule les quantités théoriques correspondant à un taux d'alcoolémie de 0,5 g/L. Les résultats obtenus illustrent les différences importantes entre les divers types de boissons en raison de leur teneur en alcool. Cet exemple démontre comment des notions de biochimie, de physiologie et de mathématiques peuvent être combinées dans un programme informatique relativement simple. Il convient toutefois de rappeler que ces calculs ne constituent qu'une approximation théorique et ne doivent jamais être utilisés pour déterminer sa capacité réelle à conduire ou à effectuer une activité exigeant une vigilance complète. Seules les méthodes de mesure reconnues et les réglementations officielles permettent d'évaluer avec fiabilité l'alcoolémie réelle d'une personne.
Prenons pour acquis la formule mathématique suivante :
| Formule (F) = (l0 g × Nombre de verres) / Poids en kilogrammes × Coefficient |
Enfin, supposons que le coefficient est le suivant en fonction des sexes :
| Homme | Femme |
|---|---|
| 0,70 | 0,60 |
A l'aide du code source C suivant, vous trouverez la réponse que vous souhaitez :
Essayer maintenant !
- #include <stdio.h>
- #include <stdlib.h>
- #include "math.h"
-
- double round(double value) {
- return floor(value + 0.5);
- }
-
- double Livre2Kilogramme(double livre) {
- return livre * 0.4536;
- }
-
- double FormuleAlcool(double pd,char sexe) {
- double sx;
- switch(sexe) {
- case 'H':sx=0.7;break;
- case 'F':sx=0.6;break;
- default:sx=0.0;break;
- }
- return 100 * (0.5 * pd * sx);
- }
-
- double CalculDecilitresWhisky(double pd,char sexe) {
- return round(FormuleAlcool(pd, sexe)/320) / 10;
- }
-
- double CalculDecilitresVin(double pd,char sexe) {
- return round(FormuleAlcool(pd, sexe)/80) / 10;
- }
-
- double CalculDecilitresBiere(double pd,char sexe) {
- return round(FormuleAlcool(pd, sexe)/35)/ 10;
- }
-
- int main()
- {
- printf("Taux d'alcoolémie pour 0,5g/l théroriquement buvable avant de prendre votre voiture:\n");
- printf("Nombre de verre (décilitres) de Whisky pour un homme de 150 livres: %f\n",CalculDecilitresWhisky(Livre2Kilogramme(150),'H'));
- printf("Nombre de verre (décilitres) de Vin pour un homme de 150 livres: %f\n",CalculDecilitresVin(Livre2Kilogramme(150),'H'));
- printf("Nombre de verre (décilitres) de Bière pour un homme de 150 livres: %f\n",CalculDecilitresBiere(Livre2Kilogramme(150),'H'));
- return 0;
- }
on obtiendra le résultat suivant :
Taux d'alcoolémie pour 0,5g/l théroriquement buvable avant de prendre votre voiture:Nombre de verre (décilitres) de Whisky pour un homme de 150 livres: 0.7
Nombre de verre (décilitres) de Vin pour un homme de 150 livres: 3
Nombre de verre (décilitres) de Bière pour un homme de 150 livres: 6.8