Curva de notas
Leve uma turma à média que você escolher: se quatro notas brutas têm média 65 e o seu alvo é 80, cada nota é multiplicada por 80 sobre 65 e a ordem não muda. A raiz quadrada, por outro lado, favorece as notas baixas. 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
- Pontuações
- 50, 60, 70, 80
- Média-alvo
- 80
- Quantidade
- 4
- Média bruta
- 65
- Fator de escala
- 1,2307692308
- Média ajustada
- 80
Uma curva de notas é um ajuste publicado que pega cada pontuação bruta de uma prova na turma e eleva ou comprime o conjunto para que a média da turma coincida com o alvo escolhido pelo docente. Professores recorrem à curva quando a avaliação ficou mais difícil do que o previsto, quando duas turmas precisam compartilhar uma média comparável, ou quando o departamento pede uma média declarada sem reescrever itens. Esta calculadora aceita uma lista de pontuações brutas não negativas, uma média-alvo e um método de escala linear ou de raiz quadrada. A escala linear multiplica cada marca bruta pela razão entre a média-alvo e a média atual, de modo que a ordem relativa permanece e a nova média cai exatamente no alvo. A escala de raiz primeiro tira a raiz de cada marca — o que sobe mais as notas baixas do que as altas — e depois reescala os valores transformados para que o conjunto ainda atinja a mesma média-alvo.
Escala linear versus escala de raiz quadrada rumo a uma média-alvo
Uma curva de sala não é uma letra sobre um sino e não é o reescalonamento de uma única nota para um máximo diferente. É um mapa de toda a lista de marcas brutas para uma lista nova cuja média iguala um número que você publica no plano de ensino ou no recado do departamento. A escala linear é o multiplicador transparente: calcule a média bruta atual, divida a média-alvo por essa média e multiplique cada pontuação do estudante por esse único fator.
A ordem de ranking não muda, as razões entre estudantes não mudam e a nova média da turma iguala o alvo (salvo o arredondamento habitual de ponto flutuante). Exemplo: as quatro marcas cinquenta, sessenta, setenta e oitenta têm média sessenta e cinco; uma média-alvo de oitenta aplica o fator oitenta sobre sessenta e cinco, assim cada nota sobe na mesma proporção e a média curvada é oitenta. A escala de raiz quadrada é a alternativa côncava quando a prova puniu a faixa baixa.
Primeiro substitua cada marca bruta x pela raiz quadrada de x, o que levanta um quarenta mais, em relativo, do que um noventa. Exemplo: as três marcas trinta e seis, sessenta e quatro e cem têm raízes seis, oito e dez, cuja média é oito; um alvo de oitenta usa um fator de dez e devolve sessenta, oitenta e cem.
Os dois métodos falham de forma fechada quando uma nota bruta é negativa, porque uma penalidade com sinal não é uma nota sobre a qual esses dois mapas publicados estejam definidos. Também falham quando todas as notas são zero e o alvo é positivo: não há fator finito que transforme uma lista nula em uma média positiva. Quando a lista é toda zeros e o alvo também é zero, a calculadora devolve zeros com fator um.
Escolha linear quando quiser um aumento proporcional que o estudante confira com uma calculadora; escolha raiz quadrada quando quiser alívio extra na faixa baixa sem deixar de prometer uma média de turma declarada.
Onde uma calculadora de curva de notas ganha o lugar
Docentes e chefias de departamento precisam de um mapa documentado de uma lista publicada mais uma média-alvo anunciada para uma lista de notas ajustadas, para que o diário, o portal das famílias e a explicação no horário de atendimento não se contradigam. Uma curva linear é a conversa que você mostra no quadro: cada estudante é multiplicado pelo mesmo fator e qualquer pessoa com uma calculadora confere a marca nova do colega.
Uma curva de raiz é a conversa depois de um parcial brutal: as notas baixas se movem mais, o topo da faixa ainda não ultrapassa um alvo bem escolhido, e a média da turma é um número que você declarou de antemão em vez de uma surpresa após bônus improvisados. Plugins LMS e scripts da secretaria podem chamar o mesmo contrato em vez de cada docente guardar uma planilha particular com fórmula diferente.
Esta ferramenta não substitui a atribuição de letras a partir de um z-score normal (isso é outra busca e outra calculadora) e não é um conversor que leve uma nota de um máximo antigo a um novo. Validação falha não consome saldo.
Casos de uso
Elevar uma prova difícil até uma média de turma publicada
Cole as pontuações brutas da turma, defina a média-alvo do plano de ensino e aplique a escala linear para que cada estudante seja multiplicado pelo mesmo fator documentado.
Alívio de raiz quadrada depois de um parcial brutal
Use a escala de raiz quando as notas baixas precisarem de um empurrão extra e, mesmo assim, deixe a média da turma na média-alvo pedida pelo departamento.
Alinhar duas turmas na mesma média
Curve cada lista de forma independente rumo à mesma média-alvo para que turmas paralelas informem médias comparáveis sem reescrever a prova.
Perguntas frequentes
Como funciona a curva de notas linear?
A ordem e as razões permanecem, e a nova média da turma iguala o alvo.
O que acontece se uma pontuação bruta for negativa?
Uma pontuação bruta negativa não é uma nota sobre a qual esses dois mapas estejam definidos, e a falha não é cobrada.
Isso é a mesma coisa que uma letra na curva de Gauss?
Não. Uma letra na curva de Gauss atribui A–F a partir de uma nota, uma média da turma e um desvio padrão. Esta calculadora devolve uma pontuação numérica ajustada para cada estudante da lista.
Quando usar a raiz quadrada em vez da escala linear?
Quando a prova foi dura principalmente com as notas baixas. A raiz quadrada eleva mais uma nota baixa do que uma alta, e depois o conjunto é reescalado para que a média da turma continue no seu alvo.
Por que não dá para curvar uma turma com todas as notas zeradas?
Porque nenhum multiplicador transforma uma média zero em um alvo positivo. Se todas as notas são zero e a média desejada é maior, não existe fator finito, e a calculadora para em vez de inventar um resultado.
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/edu/grade-curve \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"scores":[50,60,70,80],"target_mean":80}'const res = await fetch("https://api.kit.forhosting.com/edu/grade-curve", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"scores": [
50,
60,
70,
80
],
"target_mean": 80
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/grade-curve",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"scores": [
50,
60,
70,
80
],
"target_mean": 80
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/grade-curve", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"scores":[50,60,70,80],"target_mean":80}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"scores":[50,60,70,80],"target_mean":80}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/grade-curve", 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
{
"scores": [
50,
60,
70,
80
],
"target_mean": 80
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.grade_curve",
"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_n | 1000 |
max_abs | 1000000 |
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
Pontuações brutas negativas são recusadas como invalid_input em vez de serem recortadas em silêncio. A mesma aritmética pura alimenta a ferramenta gratuita do navegador e o caminho da API: sem rede, sem aleatoriedade e sem tokens de modelo.
Escala linear versus escala de raiz quadrada rumo a uma média-alvo
Depois aplique mais um multiplicador para esticar a média dos valores transformados até a média-alvo: curved_i igual à raiz de raw_i vezes a média-alvo dividida pela média de todas as raízes.
Contrato de entrada, campos de resposta e validação
Cada nota e o alvo devem ser um decimal finito (sinal opcional e notação científica são permitidos). Campos opcionais são omitidos em vez de null. Combine a lista curvada com a sua própria tabela de letras se ainda atribuir de A a F depois da curva; este extremo não inventa faixas de letra, não descarta a nota mais baixa nem recorta resultados em cem, salvo se o alvo e a lista já viverem nessa escala. Envie por POST um corpo JSON com dois campos obrigatórios e um method opcional. scores é a lista: uma matriz não vazia de números finitos não negativos, ou uma cadeia desses mesmos números separados por vírgulas ou espaços quando um formulário envia texto puro. Os aliases são raw_scores, raw, marks e grades. target_mean é a média da turma desejada depois da curva, um número finito não negativo na mesma escala das notas; os aliases são target, desired_mean, curve_mean e mean. method vale linear ou square_root e o padrão é linear; os aliases são curve, scaling e mode. Booleanos, objetos, tokens vazios, Infinity e NaN falham com invalid_input para que uma célula ruim nunca vire um zero silencioso. Uma entrada negativa em scores falha com a mensagem de que pontuações brutas não podem ser negativas, nomeando o índice; um target_mean negativo falha nesse campo. O motor impõe um máximo rígido de mil marcas na lista e um teto de magnitude por valor, de modo que memória e latência fiquem dentro de um orçamento previsível no caminho gratuito do navegador e no Worker. Se faltam scores, a lista está vazia, ultrapassa o comprimento publicado ou falta target_mean, a tarefa falha com invalid_input e não é cobrada. Em caso de sucesso o corpo devolve method, count como comprimento da lista, raw_mean, target_mean, o scale_factor aplicado após qualquer transformação de raiz, curved_mean (que coincide com o alvo para toda média de transformação não nula válida), as raw_scores repetidas, a matriz paralela curved_scores na mesma ordem dos estudantes, uma cadeia formula curta e um message de uma linha para a interface.
Onde uma calculadora de curva de notas ganha o lugar
Como a implementação é parse de nível A, cada chamada correta custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída. Mantenha as cargas pequenas, fixe curved_scores junto com raw_mean e scale_factor nos testes, e você obtém curvas de turma reproduzíveis para plugins do diário, alinhamento entre turmas e políticas de recuperação publicadas, sem levantar uma pilha estatística própria.
Perguntas técnicas
Em que a escala de raiz difere da escala linear?
A de raiz substitui primeiro cada marca bruta x por √x, o que sobe mais as notas baixas do que as altas, e depois multiplica por target_mean / mean(√raw) para que a média curvada continue igualando o alvo.
Quanto custa a calculadora de curva de notas?
A ferramenta do navegador é gratuita. Pedidos API usam saldo pré-pago de KIT a US$ 0,002 por chamada correta; entrada inválida não é cobrada.