Simplifique e escale uma proporção de 2 ou 3 termos
Este simplificador reúne duas operações que normalmente são usadas juntas. Informe dois ou três números não negativos para reduzir a relação aos menores termos inteiros.
Executar grátis
Acrescente um total desejado e receba também a quantidade proporcional de cada termo. O resultado mostra a proporção original, a forma irredutível, a quantidade de partes, o multiplicador e os valores ajustados. Ele aceita inteiros, zeros e decimais finitos, sendo útil para receitas, divisões, misturas, planejamentos e conferência de exercícios.
Reduza dois ou três termos sem alterar a relação
Uma proporção descreve parcelas relativas; portanto, multiplicar ou dividir todos os termos pelo mesmo valor mantém a relação. A calculadora converte primeiro cada número em uma representação inteira exata. Isso é importante quando a entrada contém decimais finitos como 1.5:2.25, pois tratá-los como texto aproximado pode gerar uma resposta pouco prática. Em seguida, ela encontra o máximo divisor comum a todos os termos e divide cada inteiro por esse divisor. Por exemplo, 18:24 vira 3:4, enquanto 6:9:15 vira 2:3:5. Zero é permitido em um termo, já que 0:4:8 tem a forma reduzida 0:1:2. Contudo, todos os termos não podem ser zero: 0:0 não possui uma quantidade positiva de partes e não pode ser escalada. A saída preserva os números originais e fornece a proporção simplificada tanto em uma lista quanto em texto separado por dois-pontos, atendendo pessoas e sistemas.
Ajuste as partes simplificadas a um total exato
Depois da simplificação, a calculadora soma os termos reduzidos para determinar o total de partes. Ela divide o total desejado por essa quantidade para obter o fator de escala e multiplica cada termo simplificado pelo fator. Se um orçamento for dividido na proporção 2:3:5 e o valor disponível for 1,000, haverá dez partes, cada parte valerá 100 e o resultado será 200, 300 e 500. O mesmo processo serve para valores fracionários. Uma proporção 1:2 ajustada ao total 10 produz 3.33333333333 e 6.66666666667 com precisão numérica estável. O cálculo usa os inteiros simplificados, o que deixa o método transparente e preserva a relação pretendida. Um total igual a zero é válido e gera zero para todos os termos. Totais negativos são rejeitados porque uma divisão negativa não corresponde ao modelo não negativo desta calculadora.
Forneça entradas válidas e entenda os campos
Informe exatamente dois ou três termos numéricos finitos. Qualquer termo negativo sempre causa erro de entrada, assim como valores ausentes, NaN, infinito, uma proporção composta apenas por zeros ou uma lista com tamanho incorreto. O total desejado também deve ser finito e não negativo. Na resposta, original_ratio repete os termos aceitos, enquanto simplified_ratio contém a forma inteira irredutível. parts_total é a soma desses termos simplificados. scale_factor informa o valor de uma parte no total solicitado, e scaled_ratio lista as quantidades finais na ordem da entrada. As unidades não são anexadas: se o total representar gramas, reais, litros, vagas ou horas, todos os valores usarão a mesma unidade. Em automações, prefira a lista numérica retornada ao texto separado por dois-pontos e aplique o arredondamento específico do seu caso somente depois.
Casos de uso
Redimensionar uma receita ou mistura
Reduza as proporções dos ingredientes e calcule quanto de cada componente será necessário para o novo total.
Distribuir um orçamento fixo
Transforme pesos de departamentos em parcelas transparentes que correspondam ao orçamento disponível.
Conferir exercícios de proporção
Verifique a forma irredutível de uma proporção com dois ou três números e seu ajuste a um total.
Perguntas frequentes
Quanto custa o cálculo de proporção?
A API custa US$ 0,002 por solicitação. Você também pode executar gratuitamente no navegador o mesmo cálculo determinístico.
Posso simplificar uma proporção de três partes?
Sim. Informe exatamente dois ou três termos; todos são reduzidos juntos pelo máximo divisor comum.
Termos decimais são aceitos?
Sim. Decimais finitos são convertidos em uma relação inteira exata antes da simplificação.
Uma proporção pode conter zero?
Um termo pode ser zero, mas pelo menos um deve ser maior que zero. Uma proporção formada somente por zeros não pode ser escalada.
O que ocorre se um termo for negativo?
A solicitação retorna um erro de entrada inválida. Todos os termos da proporção devem ser não negativos.
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/calc2/ratio-simplify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"terms":[2,3,5],"total":100}'const res = await fetch("https://api.kit.forhosting.com/calc2/ratio-simplify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"terms": [
2,
3,
5
],
"total": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/ratio-simplify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"terms": [
2,
3,
5
],
"total": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/ratio-simplify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"terms":[2,3,5],"total":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"terms":[2,3,5],"total":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/ratio-simplify", 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
{
"terms": [
2,
3,
5
],
"total": 100
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.ratio_simplify",
"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. |