Equação de valor absoluto
Uma equação de valor absoluto como |2x − 4| = 10 parece pequena, mas esconde uma bifurcação: a expressão dentro das barras pode ser positiva ou negativa, então uma equação é na verdade duas equações lineares disfarçadas.
Executar grátis
Este solucionador de equações de valor absoluto recebe os três coeficientes a, b e c de |ax + b| = c e retorna todas as soluções reais, distinguindo os quatro casos que importam: duas soluções, exatamente uma, nenhuma quando c é negativo e infinitas quando a é zero e |b| é igual a c. Ele funciona de forma determinística, sem métodos de aproximação, portanto a resposta que você testa no navegador é a mesma que a API retorna.
Por que uma equação vira duas
O valor absoluto de um número é a sua distância até zero, então dizer |ax + b| = c significa, na verdade, que a quantidade ax + b está exatamente a c unidades de zero. Quando c é positivo, isso acontece em dois lugares: ax + b = c ou ax + b = −c. Cada ramo é uma equação linear comum, resolvida isolando x, o que dá x = (−b + c)/a de um lado e x = (−b − c)/a do outro. O solucionador de equações de valor absoluto faz exatamente essa divisão para você e depois ordena as duas raízes em ordem crescente, para que a saída seja estável e fácil de comparar com a resposta de um livro didático. Tome |2x − 4| = 10: os ramos são 2x − 4 = 10 e 2x − 4 = −10, o que dá x = 7 e x = −3. Ambas são retornadas, e você pode verificar cada uma substituindo-a na expressão original. É o mesmo procedimento ensinado nos cursos de álgebra, apenas executado sem deslizes de sinal: o erro mais comum dos estudantes é esquecer completamente o ramo negativo, o que perde metade do conjunto de soluções. Automatizar a divisão elimina toda essa classe de erros.
Os casos-limite: uma solução, nenhuma ou infinitas
Nem toda equação de valor absoluto tem duas respostas, e um solucionador que sempre retorna duas raízes erra com frequência suficiente para ser perigoso. Quando c é igual a zero, os dois ramos colapsam na única equação ax + b = 0, então existe exatamente uma solução em x = −b/a; |x + 3| = 0 é satisfeita apenas por x = −3. Quando c é negativo, não há nada a encontrar: um valor absoluto é uma distância e uma distância não pode ser negativa, então |3x + 1| = −2 não tem soluções reais, e o solucionador informa isso com uma lista vazia em vez de inventar números. O caso mais delicado é a = 0, em que x desaparece completamente da equação. Se |b| por acaso for igual a c, todo número real é solução e o solucionador informa que há infinitas; caso contrário, a equação é uma contradição como |5| = 3 e a chamada é rejeitada como entrada inválida, porque um conjunto de coeficientes que não pode envolver x é um erro de modelagem, não um problema solucionável. Cobrir esses quatro casos explicitamente é o que separa um solucionador correto de um palpite no estilo da fórmula quadrática.
Usando a API e interpretando a saída
Você envia três números — a, b e c — e recebe a equação reconstruída, os coeficientes devolvidos e o conjunto de soluções. O campo solutions é uma lista de números reais arredondados para dez casas decimais, para que os resultados sejam idênticos byte a byte entre máquinas e seguros para comparar em testes; solution_count informa quantas existem sem contar elementos. Quando o conjunto de soluções está vazio, você ainda recebe uma resposta de sucesso com uma lista vazia, porque «não há soluções reais» é uma resposta matemática válida, não um erro. Quando a é zero e |b| é igual a c, a resposta traz infinite_solutions em vez de uma lista. Apenas requisições genuinamente malformadas são rejeitadas: um coeficiente ausente ou não numérico, um valor não finito como Infinity ou o caso contraditório de a = 0 descrito acima. A capacidade roda na nossa edge sem armazenar nada, e o mesmo código alimenta o widget gratuito desta página, então você pode prototipar manualmente e pagar apenas — US$ 0,002 por chamada — quando conectar a um pipeline. As integrações típicas são backends de tutoria que verificam respostas de alunos, pré-processadores simbólicos e validação de conjuntos de exercícios gerados.
Casos de uso
Corrigir lições de casa automaticamente
Um aplicativo de tutoria envia a, b e c de cada exercício gerado e compara a resposta do aluno com o conjunto exato de soluções.
Validar conjuntos de exercícios gerados
Um pipeline de conteúdo rejeita qualquer item |ax+b|=c gerado que acidentalmente não tenha soluções reais ou tenha um a = 0 degenerado antes de chegar aos alunos.
Resolver problemas de tolerância na engenharia
Equações como |x − alvo| = tolerância aparecem em calibração e usinagem; obtenha os valores-limite diretamente a partir dos coeficientes.
Perguntas frequentes
Quanto custa?
US$ 0,002 por requisição via API. Também é gratuito executar no seu navegador nesta página.
Quais formas de equação ele aceita?
Exatamente |ax + b| = c, dada como os três coeficientes numéricos a, b e c. Reorganize as outras formas para esta primeiro.
O que acontece quando c é negativo?
A chamada é bem-sucedida e retorna uma lista de soluções vazia: um valor absoluto não pode ser igual a um número negativo, então não há soluções reais.
O que acontece quando a é zero?
Se |b| for igual a c, todo número real é solução e a resposta informa que há infinitas. Caso contrário, os coeficientes são contraditórios e a requisição é rejeitada como entrada inválida.
Os resultados são exatos?
Sim. A resolução é um rearranjo algébrico direto, sem aproximação iterativa; as raízes são arredondadas para dez casas decimais apenas para que os resultados sejam idênticos em todas as máquinas.
Algo do que eu envio é armazenado?
Não. Os três coeficientes são processados em memória e descartados; apenas o conjunto de soluções é retornado.
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/absolute-value-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"b":-4,"c":10}'const res = await fetch("https://api.kit.forhosting.com/math/absolute-value-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"b": -4,
"c": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/absolute-value-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"b": -4,
"c": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/absolute-value-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"b":-4,"c":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"b":-4,"c":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/absolute-value-equation", 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
{
"a": 2,
"b": -4,
"c": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.absolute_value_equation",
"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. |