Calculadora de BAC
Um homem de 70 kg que tomou 2 doses padrão teria 0,0288 % de álcool no sangue depois de 2 horas, segundo o modelo de Widmark. Veja como peso, doses e tempo se combinam: é uma estimativa educacional, nunca uma liberação para dirigir. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Sexo
- Masculino
- Peso (kg)
- 70
- Quantidade de bebidas
- 2
- Horas
- 2
- Álcool (g)
- 28
- Fator de Widmark
- 0,68
- Teor alcoólico no sangue (%)
- 0,0288
Estima o teor alcoólico no sangue (BAC) como porcentagem com a equação de Widmark a partir do sexo, peso corporal, número de doses padrão e horas decorridas. Apenas estimativa educacional, não é aconselhamento jurídico ou médico.
Como a estimativa de Widmark é montada
O cálculo segue três passos simples. Primeiro, as doses viram gramas de álcool puro: cada dose padrão conta como 14 gramas, a menos que você informe outro tamanho, então 2 doses são 28 gramas. Depois, esses gramas são divididos pelo peso corporal multiplicado por um fator de distribuição, 0,68 para homens e 0,55 para mulheres. Por fim, considera-se que o corpo elimina 0,015 ponto percentual a cada hora desde a primeira dose. Para um homem de 70 kg, com 2 doses e 2 horas, o resultado é 0,0288 %. Quando passa tempo suficiente, o número para em zero em vez de ficar negativo.
O que o número não consegue dizer
Widmark descreve uma pessoa média, não você. O modelo ignora a comida, a variação de teor das bebidas, remédios, tolerância e o metabolismo de cada um, então o teor real pode ficar bem longe da estimativa. Um erro comum é contar qualquer copo como uma dose padrão; por isso é possível mudar o tamanho da dose para seguir outra definição. Outro é contar as horas a partir da última dose, e não da primeira. Use o resultado para entender como peso, doses e tempo interagem: não é aconselhamento jurídico nem médico e nunca indica que você pode dirigir.
Determinismo, limites e uma ressalva de segurança
Fundamentalmente, Widmark é uma média populacional: ignora comida, variação na intensidade da bebida, medicação, tolerância, composição corporal específica de sexo além da constante r, e o metabolismo individual, então o BAC real varia muito. Trate o número apenas como uma estimativa educacional. Não é aconselhamento jurídico ou médico e não autoriza dirigir.
Casos de uso
Ilustração educacional de BAC
Mostre como o número de doses, o peso corporal e o tempo decorrido interagem sob o modelo de Widmark, puramente para aprendizado.
Perguntas frequentes
O que é uma dose padrão aqui?
14 gramas de álcool por padrão (uma dose padrão dos EUA).
Posso mudar a taxa de eliminação?
Sim. O campo beta assume 0.015 de BAC por cento por hora e pode ser ajustado; o resultado é limitado a zero.
Isso é aconselhamento jurídico ou médico?
Não. É apenas uma estimativa educacional, não é aconselhamento jurídico ou médico e não autoriza dirigir. O BAC real varia com muitos fatores que Widmark ignora.
Por que tantas casas decimais?
Os valores de BAC são pequenos, então decimals assume 4 por padrão (faixa 0 a 4).
Por que a calculadora pede o sexo?
Porque o modelo de Widmark usa um fator de distribuição diferente para cada um: 0,68 para homens e 0,55 para mulheres. Com o mesmo peso e as mesmas doses, o fator menor resulta em um teor estimado mais alto.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/bac-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sex":"male","weight_kg":70,"drinks":2,"hours":2}'const res = await fetch("https://api.kit.forhosting.com/dev/bac-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bac-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bac-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sex":"male","weight_kg":70,"drinks":2,"hours":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sex":"male","weight_kg":70,"drinks":2,"hours":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bac-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bac_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A equação de Widmark que ela avalia
Esta calculadora aplica o clássico modelo de Widmark. O resultado é limitado a zero, porque, uma vez decorrido tempo suficiente, a estimativa não pode ficar negativa. Primeiro ela converte as doses em gramas de álcool como alcohol_g = drinks * grams_per_drink, onde grams_per_drink assume 14 por padrão (uma dose padrão dos EUA). Em seguida calcula o BAC bruto como alcohol_g / (r * weight_kg * 10) menos beta * hours, onde r é a razão de distribuição de Widmark, 0.68 para homem e 0.55 para mulher, e beta é a taxa de eliminação metabólica, com padrão 0.015 por hora. O exemplo resolvido, um homem de 70 kg com 2 doses após 2 horas, dá alcohol_g 28 e bac_percent 0.0288. A resposta repete sex, weight_kg, drinks, hours, alcohol_g e r, e marca method "widmark", de modo que um resultado armazenado é autoexplicativo.
Campos, faixas e coeficientes ajustáveis
Quatro campos são obrigatórios: sex (enum "male" ou "female", que seleciona r), weight_kg (um número positivo até 300), drinks (um número não negativo, com decimais permitidos para meia dose) e hours (um número não negativo de horas desde a primeira dose). Três campos opcionais ajustam a fisiologia: grams_per_drink (padrão 14, positivo) para que você possa modelar uma definição de dose padrão diferente; beta (padrão 0.015, não negativo) para ajustar a taxa de eliminação; e decimals, um inteiro de 0 a 4 que assume 4 por padrão, já que os valores de BAC são pequenos e precisam de precisão. Toda entrada é verificada quanto a tipo, finitude e faixa antes da aritmética, e violações devolvem um erro invalid_input tipado que nomeia o campo, por exemplo um peso acima de 300 kg ou uma contagem de doses negativa.
Determinismo, limites e uma ressalva de segurança
Um valor intermediário não finito é rejeitado como invalid_input em vez de propagado.
Casos de integração
Ajuste a definição de dose padrão
Sobrescreva grams_per_drink para refletir uma unidade do Reino Unido ou um coquetel forte em vez do padrão de 14 g dos EUA, e veja o efeito.
Dê suporte a um cálculo de pesquisa ou app
Chame a API com o mesmo contrato JSON para calcular estimativas em massa, mantendo a matemática determinística de Widmark no servidor.
Perguntas técnicas
Qual fórmula ela usa?
A equação de Widmark: alcohol_g / (r * weight_kg * 10) menos beta * hours, com r 0.68 para homem e 0.55 para mulher.