Calculadora de sistema de inequações lineares
x + y ≤ 6 com x ≥ 0 e y ≥ 0 sombreia um triângulo com vértices (0, 0), (6, 0) e (0, 6). A calculadora mostra cada reta de fronteira e cada vértice, e indica se a região é um polígono, ilimitada ou vazia. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Um sistema de inequações lineares é uma lista de semipianos no plano coordenado, cada um escrito como a x mais b y comparado com uma constante. A interseção comum é a região factível: um polígono convexo, um conjunto convexo ilimitado, ou o conjunto vazio quando os cortes se contradizem. Esta calculadora de sistema de inequações lineares aceita duas ou mais linhas da forma a x mais b y comparado com c, devolve cada reta de fronteira (incluindo os casos vertical e horizontal) e lista os vértices em que essas retas se encontram dentro da região factível fechada. Estudantes usam esses vértices como cantos do gráfico sombreado; cadernos de programação linear usam os mesmos pontos como ótimos candidatos de um objetivo linear. O motor é puro e determinístico: a eliminação de Fourier–Motzkin decide o vazio, as interseções aos pares geram vértices candidatos, e um teste do ângulo das normais decide se a região é um polígono limitado.
O que um sistema plano significa e quais vértices a calculadora informa
Cada inequação a x mais b y comparada com c é um semipiano fechado ou aberto cuja borda é a reta a x mais b y igual a c. Surge uma borda vertical quando o coeficiente de y é zero, uma borda horizontal quando o coeficiente de x é zero, e uma borda inclinada nos demais casos, com inclinação igual a menos a sobre b e intercepto em y igual a c sobre b. A região factível é o conjunto de pontos que satisfazem todas as inequações ao mesmo tempo.
Como uma interseção finita de semipianos é um poliedro convexo no plano, a geometria fica completamente descrita pelas retas de apoio e pelos vértices em que duas ou mais dessas retas se encontram ainda obedecendo o restante do sistema.
Esta calculadora informa esses cantos geométricos da região fechada: um menor-que estrito é tratado como menor-ou-igual na coleta de vértices, no mesmo espírito do gráfico de sala com traço contínuo ou tracejado, em que os cantos do sombreado continuam sendo os mesmos pontos mesmo que uma borda tracejada os exclua do conjunto aberto.
Quando as inequações formam um triângulo no primeiro quadrante, por exemplo x mais y no máximo seis junto com x pelo menos zero e y pelo menos zero, os três vértices são a origem, o ponto seis vírgula zero e o ponto zero vírgula seis. Quando os mesmos cortes do primeiro quadrante se combinam com um limite inferior como x mais y pelo menos um, a região é ilimitada e os vértices são só os dois pontos em que a reta inclinada encontra os eixos.
Uma lista inconsistente, por exemplo x pelo menos dois, y pelo menos dois e x mais y no máximo um, tem região factível vazia e portanto nenhum vértice. Os dois coeficientes de uma linha precisam ser não nulos como par: a e b não podem se anular juntos, porque aí o enunciado não definiria uma reta no plano.
Contrato de entrada, campos de fronteira e como o vazio e a limitação são decididos
Cada objeto precisa dos números finitos a, b e c e de um operador de comparação op. O operador pode ser os símbolos menor, menor-ou-igual, maior e maior-ou-igual, ou os códigos curtos lt, le, gt e ge, inclusive os sinais unicode de menor-ou-igual e maior-ou-igual. Os vértices voltam em ordem anti-horária em torno do centróide, cada um com coordenadas arredondadas a doze casas decimais e um array lines de índices baseados em um das arestas que passam pelo ponto.
O campo region vale polygon quando o conjunto é um polígono limitado não vazio, unbounded quando é não vazio e recua ao infinito, e empty quando a eliminação de Fourier–Motzkin prova que os semipianos não têm ponto comum. A limitação é decidida pelo cone de recessão: a região fechada é um polígono só quando as normais externas das restrições cercam a origem, de modo que a única direção que permanece factível para sempre é o vetor zero.
Onde os sistemas de inequações lineares ajudam
Geradores de prova precisam de um oráculo determinístico que distinga um triângulo, uma região ilimitada do primeiro quadrante e uma contradição vazia, em vez de uma lista de sucesso vazia que um corretor defeituoso poderia tratar como acerto. Cadernos de pesquisa operacional que ensinam o método gráfico da programação linear avaliam um objetivo linear exatamente nesses vértices; alimentar a calculadora a partir de um script produz tabelas de vértices reproduzíveis para aulas e testes unitários.
Planejadores de produto e capacidade codificam orçamento, não negatividade e limites de mistura como a x mais b y comparado com c e querem a lista de vértices antes de anexar um objetivo. Mantenha o número de linhas pequeno, fixe os vértices arredondados nos testes e você obtém geometria reproduzível da região factível para lição de casa, plugins LMS e workers de borda, sem levantar um resolvedor simbólico próprio.
Casos de uso
Gráficos de sala e conferência de lição
Informe duas ou mais inequações a x + b y ⊙ c, leia cada reta de fronteira e confira a lista de vértices no sentido anti-horário com uma região factível sombreada à mão.
Programação linear gráfica
Reúna os vértices de uma região factível plana para avaliar um objetivo linear em cada canto sem um resolvedor LP geral.
Perguntas frequentes
Como encontro os vértices de um sistema de inequações lineares?
Envie duas ou mais linhas {a, b, op, c} para a x + b y ⊙ c.
Qual é a diferença entre um polígono, uma região ilimitada e um sistema vazio?
region vale polygon quando o conjunto factível fechado é um polígono convexo limitado com pelo menos três vértices, unbounded quando o conjunto é não vazio e recua ao infinito, e empty quando os semipianos não têm ponto comum.
Uma inequação estrita altera os vértices listados?
Os vértices são calculados para a região fechada, de modo que uma borda tracejada (estrita) ainda contribui com os mesmos cantos geométricos que a contraparte contínua. A reta de fronteira é informada com o operador original.
Por que a e b não podem ser ambos zero?
Se os dois coeficientes se anulam, a x + b y ⊙ c não é a equação de uma reta no plano.
Para que servem os vértices da região?
Em um gráfico, eles são os cantos da área sombreada. Em programação linear, são os pontos candidatos a testar quando você procura o melhor valor de um objetivo linear dentro dessa região.
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/algebra/system-of-inequalities \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"inequalities":[{"a":1,"b":1,"op":"<=","c":6},{"a":1,"b":0,"op":">=","c":0},{"a":0,"b":1,"op":">=","c":0}]}'const res = await fetch("https://api.kit.forhosting.com/algebra/system-of-inequalities", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"inequalities": [
{
"a": 1,
"b": 1,
"op": "<=",
"c": 6
},
{
"a": 1,
"b": 0,
"op": ">=",
"c": 0
},
{
"a": 0,
"b": 1,
"op": ">=",
"c": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/system-of-inequalities",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"inequalities": [
{
"a": 1,
"b": 1,
"op": "<=",
"c": 6
},
{
"a": 1,
"b": 0,
"op": ">=",
"c": 0
},
{
"a": 0,
"b": 1,
"op": ">=",
"c": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/system-of-inequalities", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"inequalities":[{"a":1,"b":1,"op":"<=","c":6},{"a":1,"b":0,"op":">=","c":0},{"a":0,"b":1,"op":">=","c":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"inequalities":[{"a":1,"b":1,"op":"<=","c":6},{"a":1,"b":0,"op":">=","c":0},{"a":0,"b":1,"op":">=","c":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/system-of-inequalities", 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
{
"inequalities": [
{
"a": 1,
"b": 1,
"op": "<=",
"c": 6
},
{
"a": 1,
"b": 0,
"op": ">=",
"c": 0
},
{
"a": 0,
"b": 1,
"op": ">=",
"c": 0
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.system_of_inequalities",
"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.
Limites
max_items | 16 |
max_abs_coeff | 1000000000000 |
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
Validação falha não é cobrada; uma chamada bem-sucedida custa US$ 0,002.
Contrato de entrada, campos de fronteira e como o vazio e a limitação são decididos
Envie por POST um corpo JSON cujo campo inequalities seja um array de pelo menos dois e no máximo dezesseis objetos. Os aliases system e constraints são aceitos para o array, para que planilhas e formulários tipados reutilizem o mesmo contrato. Linhas ausentes, um valor que não é array, menos de duas linhas, mais de dezesseis linhas, um coeficiente não finito, um operador desconhecido, uma magnitude acima do teto documentado, ou uma linha com a e b iguais a zero falham com invalid_input nomeando o campo; essas falhas não são faturadas. Em caso de sucesso, o corpo ecoa as linhas normalizadas, lista um objeto de fronteira por inequação com um kind sloped, horizontal ou vertical e, quando o kind torna a grandeza existente, slope, intercept, x_const ou y_const. Combine este payload com o seu próprio traçador se precisar de um esboço; o endpoint não emite imagens nem prosa passo a passo além da string formula.
Onde uma API de sistema de inequações lineares justifica o uso
Salas de álgebra e plataformas de tutoria desenham sistemas traçando cada fronteira e sombreando a interseção; um endpoint que devolve os mesmos vértices que o professor marca no quadro permite ao aluno conferir um gráfico feito à mão sem um sistema de álgebra computacional. Como a implementação é parse de nível A, cada chamada bem-sucedida custa o US$ 0,002 publicado, sem tokens de modelo e sem rede de saída, e a entrada inválida não consome saldo.
Casos de integração
Gabaritos de prova e fixtures de LMS
Classifique sistemas como polígono, conjunto ilimitado ou vazio com um oráculo determinístico que nunca inventa interseções extras.
Perguntas técnicas
Quanto custa a calculadora de sistema de inequações lineares?
A ferramenta do navegador é gratuita. Pedidos à API usam saldo pré-pago do KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é faturada.