
Funkcja zwraca tablicę, w której jest określona zawartość alkoholu we krwi w danej godzinie, gdzie klucz jest godziną, a wartość elementu tablicy - liczbą promili. W trakcie tworzenia funkcji posiłkowałem się Wikipedią.
Funkcja daje jedynie pewien zarys sytuacji, gdyż preferencje i predyspozycje organizmu każdego człowieka są inne.
Można stworzyć nową funkcję z wykorzystaniem poniższej, w której wartości elementów zwracanych tablic mogą być sumowane. Wtedy można stworzyć alkomat, w którym będą uwzględniane różne typy alkoholu o różnym jego stężeniu procentowym. Może kiedyś to tutaj dodam, jak napiszę.
Funkcja:
<?php /** * funkcja pozwalająca obliczyć zawartość alkoholu we krwi (w promilach) w danym przedziale czasowym * @param string $plec płeć człowieka, który spożył alkohol (k/m) * @param int $waga waga człowieka, który spożył alkohol (w kilogramach) * @param string $zoladek żołądek człowieka, który spożył alkohol (pusty/pelny) * @param int $godzina godzina rozpoczęcia picia alkoholu <0;23> * @param int $procenty procentowa zawartość alkoholu w trunku <0;1> * @param int $ilosc ilość trunku (w mililitrach) * @return array $tablicaPromili */ function alkomat($plec,$waga,$zoladek,$godzina,$procenty,$ilosc) { $gestoscEtanolu = 0.8; // g/cm3 // ilość wypitego czystego alkoholu w gramach $a = $ilosc * $procenty * $gestoscEtanolu; // współczynnik zależny od płci człowieka if($plec == 'k') { $k = 0.6; } elseif($plec == 'm') { $k = 0.7; } /* po spożyciu alkoholu na czczo, szczytowe stężenie alkoholu w organizmie pojawia się po ~1 godzinie, natomiast u osoby pijącej "na pełny żołądek" po ~2 godzinach */ if($zoladek == 'pelny') { $godzina++; } // liczba promili alkoholu we krwi $p = $a / ($k * $waga); { if($godzina <= 22) { $godzina++; } else { $godzina = 0; } $p -= 0.12; // średnia szybkość rozkładu alkoholu u człowieka, to 12 gram na godzinę } return $tablicaPromili; } ?>
Przykład użycia:
<?php $promile = alkomat('m','65','pelny','21','0.4','320'); ?>