Section courante

A propos

Section administrative du site

Même si, à première vue, il semble impossible de calculer le taux d'alcoolémie réel à cause de tous les facteurs (médication, humeur, fatigue, allergie,...), on peut malgré tout effectuer le calcul théorie de celui-ci selon la formule suivante :

Formule (F) = (l0 g x Nombre de verres) / Poids en kilogrammes x 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 Ada suivant, vous trouverez la réponse que vous souhaitez :

  1. WITH TEXT_IO;
  2.  
  3. PROCEDURE TauxAlcool IS 
  4.    
  5.    USE TEXT_IO;
  6.    
  7.    FUNCTION Livre2Kilogramme(Livre:IN Float) RETURN Float IS BEGIN
  8.       RETURN Livre * 0.4536;      
  9.    END Livre2Kilogramme;
  10.    
  11.    FUNCTION FormuleAlcool(Pd:IN Float;Sexe:IN Character) RETURN Float IS      
  12.       Sx:Float;
  13.    BEGIN      
  14.       CASE Sexe IS         
  15.          WHEN 'H' => Sx := 0.7;                              
  16.          WHEN 'F' => Sx := 0.6;
  17.          WHEN OTHERS =>  Sx := 0.0;
  18.       END CASE;      
  19.       RETURN 100.0 * (0.5 * Pd * Sx);      
  20.    END FormuleAlcool;
  21.    
  22.    FUNCTION CalculDecilitresWhisky(Pd:IN Float;Sexe:IN Character) RETURN Float IS BEGIN      
  23.       RETURN Float(Integer(FormuleAlcool(Pd, Sexe) / 320.0)) / 10.0;
  24.    END CalculDecilitresWhisky;
  25.    
  26.    FUNCTION CalculDecilitresVin(Pd:IN Float;Sexe:IN Character) RETURN Float IS BEGIN      
  27.       RETURN Float(Integer(FormuleAlcool(Pd, Sexe) / 80.0)) / 10.0;      
  28.    END CalculDecilitresVin;   
  29.  
  30.    FUNCTION CalculDecilitresBiere(Pd:IN Float;Sexe:IN Character) RETURN Float IS BEGIN      
  31.       RETURN Float(Integer(FormuleAlcool(Pd, Sexe) / 35.0)) / 10.0;            
  32.    END CalculDecilitresBiere;
  33.    
  34. BEGIN
  35.    PUT_LINE("Taux d'alcoolémie pour 0,5g/l théroriquement buvable avant de prendre votre voiture:");
  36.    PUT_LINE("Nombre de verre (décilitres) de Whisky pour un homme de 150 livres: " & FLOAT'IMAGE(CalculDecilitresWhisky(Livre2Kilogramme(150.0),'H')));
  37.    PUT_LINE("Nombre de verre (décilitres) de Vin pour un homme de 150 livres: " & FLOAT'IMAGE(CalculDecilitresVin(Livre2Kilogramme(150.0),'H')));
  38.    PUT_LINE("Nombre de verre (décilitres) de Bière pour un homme de 150 livres: " & FLOAT'IMAGE(CalculDecilitresBiere(Livre2Kilogramme(150.0),'H')));
  39. END TauxAlcool;

on obtiendra le résultat suivant :

Taux d'alcoolémie pour 0,5g/l théoriquement 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

Voir également

Science - Biochimie

Dernière mise à jour : Samedi, le 25 août 2012