Ordem das operações com módulo
Calcule uma expressão com +, −, ×, ÷ e o resto % na ordem padrão: 2 + 3 * 4 % 5 dá 4, porque 3 * 4 % 5 é resolvido primeiro, da esquerda para a direita. Os parênteses mudam a ordem. 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
- Expressão
- 2 + 3 * 4 % 5
- Resultado
- 4
Uma expressão aritmética que mistura adição, subtração, multiplicação, divisão e módulo é fácil de ler errado se cada operador for tratado como igual. A ordem das operações padrão — muitas vezes ensinada como PEMDAS ou BODMAS — dá à multiplicação, à divisão e ao resto o mesmo nível, acima da adição e da subtração, e avalia operadores do mesmo nível da esquerda para a direita. Parênteses anulam essa classificação. Esta calculadora de ordem das operações com módulo aceita uma única cadeia de expressão, analisa com uma gramática determinística de descida recursiva e devolve o resultado numérico.
O que + − × ÷ % significam e como a precedência realmente se liga
A ordem das operações é uma convenção de leitura, não uma lei física. Sem ela, a cadeia 2 + 3 * 4 % 5 poderia significar vários números diferentes conforme você some primeiro, multiplique primeiro ou tire o resto primeiro.
A convenção da álgebra escolar, de linguagens como C, Java, JavaScript e Python, e desta calculadora é a mesma: parênteses agrupam primeiro; mais e menos unários se ligam em seguida; depois multiplicação, divisão e módulo compartilham um nível e associam da esquerda para a direita; então adição e subtração compartilham um nível mais baixo e também associam da esquerda para a direita. Não existe um nível extra que coloque o módulo acima da multiplicação.
Assim, 3 * 4 % 5 é (3 * 4) % 5, que é doze resto cinco, ou seja dois, e 2 + esse produto-resto é quatro — não 2 + 3 primeiro, nem 4 % 5 primeiro. Do mesmo modo, 8 % 3 * 4 é (8 % 3) * 4, que é dois vezes quatro, ou seja oito. A divisão é a divisão real comum, não truncamento inteiro: 7 / 2 é 3.5.
Parênteses mudam o percurso: (2 + 3) * 4 % 5 é vinte resto cinco, ou seja zero. Esta calculadora implementa exatamente esse percurso. Ela não inventa potenciação, fatorial, multiplicação implícita como 2(3+4) nem funções nomeadas.
Um operando ausente, um parêntese sem par, uma letra solta ou um operador no fim é expressão malformada, não um palpite.
Contrato de entrada, forma da resposta, limites e erros
O valor é uma cadeia aritmética de números decimais, os cinco operadores mais, menos, asterisco, barra e porcento, parênteses, sinais unários opcionais e espaços. Notação científica como 1e-3 é aceita como token numérico. Depois do recorte, a cadeia pode ter no máximo 500 caracteres; esse limite é declarado e imposto para que um muro de operadores colado não esgote o isolado.
Divisão por um divisor de resto zero falha com a mensagem Division by zero; um módulo zero falha com Modulo by zero. Essas falhas não são cobradas. Em sucesso, o corpo ecoa a expressão recortada, devolve result como número finito arredondado a doze casas decimais para que os goldens comparem byte a byte entre runtimes, e inclui uma cadeia formula que reafirma a regra de mesmo nível da esquerda para a direita.
Exemplo: expression 2 + 3 * 4 % 5 produz result 4 porque multiplicação e módulo se ligam antes da adição. Junte o número à sua própria lista de passos se precisar de um percurso de sala; este extremo avalia a expressão e não emite reescrita linha a linha além do campo formula.
Onde uma calculadora de ordem das operações com módulo se justifica
Salas de aula e plataformas de tutoria usam uma calculadora de ordem das operações com módulo para que quem aprende confira expressões mistas que incluem resto sem inverter PEMDAS ao tratar o porcento como mais fraco que o vezes. Geradores de preparação para exame e corretores de gestão de aprendizagem precisam de um oráculo determinístico que marque corretamente percursos de mesmo nível da esquerda para a direita e que recuse divisão por zero em vez de devolver Infinity que um corretor com falha poderia tratar como sucesso.
Cursos de programação que apresentam % ao lado de * e / podem fixar o mesmo contrato que a linguagem usará depois, em vez de uma calculadora de bolso sem tecla de resto ou que avalia estritamente da esquerda para a direita. Validação recusada não consome saldo. Mantenha as expressões dentro do limite de caracteres publicado, fixe o resultado arredondado nos testes e você obtém uma resposta aritmética mista reproduzível para fichas, plugins LMS e workers na borda sem levantar um serviço de expressões próprio.
Casos de uso
Checagens de sala PEMDAS com resto
Deixe o alunado enviar expressões mistas + − × ÷ % e conferir o percurso de mesmo nível da esquerda para a direita diante do método do livro, inclusive parênteses.
Correção automática de provas e LMS
Pontue itens de ordem das operações com um oráculo determinístico que recusa divisão por zero e nunca avalia da esquerda para a direita os cinco operadores por igual.
Scripts que misturam resto com deslocamentos
Avalie índices circulares e restos de passo que também somam ou escalam, sem importar uma biblioteca de álgebra computacional.
Perguntas frequentes
Como 2 + 3 * 4 % 5 é avaliado?
Multiplicação e módulo compartilham precedência e se ligam da esquerda para a direita, acima da adição. O percurso é (3 * 4) % 5 primeiro: 12 % 5 é 2, depois 2 + 2 é 4.
O módulo tem a mesma precedência que a multiplicação?
Sim. *, / e % compartilham um nível e associam da esquerda para a direita. 8 % 3 * 4 é (8 % 3) * 4 = 8, não 8 % 12.
O que acontece na divisão por zero?
Um módulo zero falha como Modulo by zero. Nenhum dos casos é cobrado.
Parênteses e menos unário são aceitos?
Sim. Parênteses anulam o nível, e o mais ou o menos unário se liga mais forte que * / %. A calculadora não aceita potenciação, fatorial nem multiplicação implícita.
A divisão é arredondada para um número inteiro?
Não. A divisão é a comum, então 7 / 2 dá 3,5, e não 3. Só o sinal % calcula um resto, e ele tem a mesma prioridade da multiplicação e da divisã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/math/modulo-order-of-operations \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expression":"2 + 3 * 4 % 5"}'const res = await fetch("https://api.kit.forhosting.com/math/modulo-order-of-operations", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expression": "2 + 3 * 4 % 5"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/modulo-order-of-operations",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expression": "2 + 3 * 4 % 5"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/modulo-order-of-operations", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expression":"2 + 3 * 4 % 5"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expression":"2 + 3 * 4 % 5"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/modulo-order-of-operations", 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
{
"expression": "2 + 3 * 4 % 5"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.modulo_order_of_operations",
"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_chars | 500 |
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
Divisão por zero e entrada malformada falham com invalid_input e não são cobradas.
O que + − × ÷ % significam e como a precedência realmente se liga
O resto segue a regra de JavaScript e IEEE: o resultado tem o sinal do dividendo.
Contrato de entrada, forma da resposta, limites e erros
Envie por POST um objeto JSON com um campo obrigatório, expression — também aceito como text ou expr. Cadeias vazias, campos omitidos, lixo que não é cadeia, caracteres inesperados, parênteses sem par e tokens sobrando após um parse completo falham com invalid_input nomeando expression. Chamadas API bem-sucedidas usam o preço-base publicado US$ 0,002.
Onde uma calculadora de ordem das operações com módulo se justifica
Scripts de limpeza de dados que calculam índices de balde, relógios circulares ou restos de passo misturados com deslocamentos podem chamar uma API de parse pequena em vez de puxar um sistema completo de álgebra computacional. Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.
Perguntas técnicas
Quanto custa a calculadora de ordem das operações com módulo?
A ferramenta do navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.