Calculadora de proporção de idades
Se duas idades estão hoje na razão 2:1 e daqui a 5 anos na razão 3:2, agora elas são 10 e 5. Informe as duas razões e o intervalo em anos para obter as idades atuais e futuras ao conferir lições ou provas. 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
- Primeiro valor da proporção
- 2
- Segundo valor da proporção
- 1
- Razão futura 1
- 3
- Razão futura 2
- 2
- Anos até atingir a proporção
- 5
- Idade da primeira pessoa
- 10
- Idade da segunda pessoa
- 5
- Idade da primeira pessoa nesse momento
- 15
- Idade da segunda pessoa nesse momento
- 10
Resolve problemas de duas pessoas com proporção de idades: dada a razão atual e a futura após k anos, obtém ambas as idades presentes. Grátis, determinística e privada no seu navegador. Sem conta.
Como funciona um problema de razão de idades
Uma questão típica de prova diz que as idades de duas pessoas estão em uma razão hoje e em outra razão daqui a alguns anos, e pergunta a idade de cada uma. Uma razão como 2:1 não dá as idades em si, só a proporção entre elas, por isso as duas idades são escritas como múltiplos de um único fator desconhecido. Somando os mesmos anos a cada uma e igualando o novo par à razão futura, surge uma única equação de primeiro grau nesse fator. Resolva, multiplique de volta e pronto: com 2:1 hoje e 3:2 depois de 5 anos, o fator é 5 e as idades são 10 e 5.
Quando não existe uma resposta única
O método só funciona quando essa equação tem exatamente uma solução positiva. Se a razão atual e a futura forem a mesma, os anos se cancelam e as idades não podem ser determinadas, então a calculadora recusa o problema em vez de chutar um valor. Todas as partes das duas razões também precisam ser positivas. Mantenha as duas pessoas na mesma ordem nas duas razões, porque trocá-las na razão futura descreve outro problema. Os resultados são arredondados em dez casas decimais, então uma resposta que não dá um número inteiro de anos continua precisa.
Entradas, saídas e contratos estáveis
Camadas de apresentação podem converter cadeias numéricas do formulário antes de chamar a função pura solve, mas o núcleo nunca converte lixo em NaN em silêncio. Mensagens de erro usam substrings estáveis em inglês, como ratios must be positive, e assim os exemplos dourados de erro se reproduzem entre versões. O arredondamento usa half-up em dez casas para que o ruído de ponto flutuante não quebre testes de snapshot.
Casos-limite, limites e uso didático
Rejeita proporções não positivas e proporções paralelas que deixam as idades indeterminadas. Um professor pode percorrer o exemplo dourado 2:1 que vira 3:2 após cinco anos, com idades dez e cinco, e mostrar como razões idênticas presentes e futuras com anos positivos são rejeitadas. Scripts de automação chamam a mesma função pura sem instalar planilha nem sistema de álgebra computacional.
Revise os exemplos dourados de sucesso e de erro antes de integrar. A implementação permanece plenamente determinística, gratuita no navegador no nível A e privada no dispositivo sob o motor parse, sem chamada de rede para o cálculo em si.
Casos de uso
Deveres e provas
Confira problemas clássicos de proporção de idades com respostas estáveis e reproduzíveis.
Automação
Chame a mesma função pura a partir de scripts sem instalar planilha nem CAS.
Perguntas frequentes
É grátis?
Sim. O nível A roda por completo no seu navegador sem conta.
Chama a rede?
Não. O motor parse mantém o cálculo no dispositivo.
Os resultados são estáveis?
Sim. A matemática determinística e os exemplos dourados congelam o contrato.
Como resolver à mão um problema de razão de idades?
Escreva as idades atuais como 2t e t; daqui a 5 anos elas serão 2t + 5 e t + 5. Igualando esse par à razão 3:2, surge uma equação simples cuja solução é t igual a 5, então as idades são 10 e 5.
Por que a calculadora diz que meu problema não tem resposta?
Ela só aceita problemas com uma única solução positiva. Se a razão atual e a futura forem a mesma, as idades não podem ser determinadas, e qualquer parte de razão igual a zero ou negativa também é recusada.
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/math/age-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}'const res = await fetch("https://api.kit.forhosting.com/math/age-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/age-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/age-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/age-ratio", 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
{
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.age_ratio",
"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
Como a álgebra recupera as idades atuais
Ao limpar a proporção aparece uma equação linear no único fator de escala t, de modo que o sistema tem uma solução positiva única ou é rejeitado como indeterminado. Nada é inferido de forma estatística: a mesma aritmética roda offline no navegador e no caminho pago na borda.
Entradas, saídas e contratos estáveis
Os campos obrigatórios são ratio1, ratio2, future_ratio1, future_ratio2 e years. Cada um deve ser um número finito; valores ausentes ou não numéricos geram invalid_input com mensagem clara em inglês que o harness consegue casar. O payload de sucesso sempre inclui age1, age2, as partes da proporção atual ecoadas, years e as projeções future_age1 e future_age2, para que clientes liguem métricas de interface sem adivinhar nomes de campo.
Casos-limite, limites e uso didático
Objetos vazios, intervalos contraditórios e valores intermediários enormes que estouram IEEE-754 viram erros explícitos em vez de campos nulos.
Casos de integração
Demonstrações didáticas
Mostre exemplos resolvidos com fixtures dourados que batem com o widget grátis e a API.
Perguntas técnicas
E se a entrada for inválida?
Você recebe invalid_input com mensagem clara em inglês.
Quem assina esta capacidade?
samurai no ateliê ForHosting KIT.