Calculadora de nota ponderada do curso
Tarefas 92 com peso 20, quizzes 85 com 15, parcial 78 com 25 e final 88 com 40 resultam em nota de curso de 85,85 %. Cada nota é multiplicada pelo seu peso e você vê quantos pontos cada categoria contribui. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
A maioria dos cursos do ensino médio e da faculdade não concede uma simples média aritmética de cada questionário e de cada tarefa. O programa ou ementa atribui a cada categoria um peso —por exemplo vinte por cento para tarefas, quinze para quizzes, vinte e cinco para a prova parcial e quarenta para o exame final— e a nota oficial é a combinação ponderada dessas notas de categoria. Esta calculadora de nota ponderada do curso aceita uma lista de categorias com nome, uma pontuação percentual de zero a cem e um peso positivo; multiplica cada nota pelo seu peso, divide pelo peso total e devolve a porcentagem ponderada global mais um detalhamento transparente da contribuição de cada linha.
O que é uma nota de curso ponderada e por que a média igual engana
Uma média aritmética simples de cada entrega trata um quiz de cinco pontos igual a um exame final de cem. As ementas rejeitam esse modelo. Elas agrupam o trabalho em categorias —tarefas, quizzes, laboratórios, projetos, parcial, exame final— e publicam um peso para cada categoria como porcentagem do total do curso.
Se as tarefas valem vinte por cento e o final quarenta, um noventa no final deve mover a nota do curso o dobro de um noventa nas tarefas. A fórmula correta é a média ponderada: multiplique cada nota de categoria pelo seu peso da ementa, some esses produtos e divida pela soma dos pesos. Quando os pesos já somam cem, esse quociente é exatamente a porcentagem oficial do curso.
Quando os pesos são unidades relativas que não somam cem —por exemplo três, dois e cinco— a mesma fórmula ainda vale porque dividir pelo peso total os normaliza. A ponderação igual é apenas o caso especial em que todos os pesos são idênticos; não é o padrão de um curso com notas. Estudantes que mediam porcentagens brutas de entregas sem pesos de categoria costumam superestimar ou subestimar a nota que a secretaria publicará.
Docentes que reescrevem pesos em planilha por turma correm o risco de uma célula errada mudar o limite de uma letra. Uma calculadora dedicada de nota de curso ponderada codifica o contrato da ementa uma vez, devolve a porcentagem global e a contribuição de cada categoria, e nunca inventa um NaN silencioso quando um peso falta ou é zero.
Quando vale a pena calcular a nota ponderada
Sistemas de gestão de aprendizagem e plataformas de tutoria usam uma calculadora de nota de curso ponderada para que alunos insiram médias de categoria no meio do semestre e vejam a porcentagem oficial sem esperar a planilha do professor. Orientadores e coaches acadêmicos recalculam cenários hipotéticos quando um aluno considera abandonar uma categoria ou quando uma revisão da ementa altera o peso do exame final. Validação com falha não consome saldo.
Mantenha listas de categorias curtas, fixe em testes a porcentagem arredondada e os campos de contribuição, e você terá notas de curso reproduzíveis para corretores de tarefas, plugins de LMS e workers na borda sem montar um banco de dados completo de notas. A capacidade é deliberadamente estreita: calcula a porcentagem ponderada e o detalhamento de contribuições; não atribui letras, não aplica curvas nem descarta o quiz mais baixo —essas políticas cabem ao chamador depois que a porcentagem numérica é conhecida—.
Casos de uso
Porcentagem do curso no meio do semestre
Alunos inserem médias atuais de categoria e pesos da ementa para ver a porcentagem oficial ponderada antes da semana de provas finais.
Verificação na exportação do diário de notas
Docentes recalculam a porcentagem ponderada de cada aluno a partir das linhas de categoria para detectar erros de peso ou nota na planilha antes de publicar.
Perguntas frequentes
Os pesos precisam somar 100?
Não. Pesos que somam 100 batem com uma tabela clássica de porcentagens da ementa, mas qualquer peso relativo positivo funciona porque a fórmula divide pelo peso total.
Qual faixa de pontuação é aceita?
Cada score de categoria deve ser um número finito de 0 a 100 inclusive.
O que o array contributions mostra?
Cada entrada ecoa name, score e weight, mais contribution igual à parcela daquela categoria na porcentagem global após o mesmo arredondamento half-up.
Por que minha nota ponderada é diferente da média das minhas notas?
Porque a média simples dá a mesma força a todas as categorias, e a ementa não. Se a prova final pesa 40 e as tarefas 20, cada ponto da final move a nota do curso o dobro de um ponto nas tarefas.
Como simulo o que acontece se eu tirar uma categoria?
Remova a categoria ou mude o peso dela e recalcule. As notas são divididas pela soma dos pesos que restam, então eles não precisam somar 100; pesos relativos como 3, 2 e 5 funcionam do mesmo jeito.
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/weighted-course-grade \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}'const res = await fetch("https://api.kit.forhosting.com/edu/weighted-course-grade", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/weighted-course-grade",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/weighted-course-grade", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/weighted-course-grade", 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
{
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_course_grade",
"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. |
Notas técnicas
A aritmética é totalmente determinística, roda grátis no seu navegador e está disponível pela API a US$ 0,002 por solicitação bem-sucedida, sem modelo de linguagem nem serviço externo de boletim no caminho crítico.
O que é uma nota de curso ponderada e por que a média igual engana
Listas de categorias vazias, nomes em branco, pontuações fora de zero a cem e pesos não positivos falham de imediato com invalid_input para que a automação distinga entrada incorreta de uma nota legitimamente baixa.
Contrato de entrada, fórmula, arredondamento e forma da resposta
Cada objeto precisa de três campos: name, um rótulo de string não vazio como homework ou midterm; score, um número finito de zero a cem inclusive que representa a porcentagem obtida naquela categoria; e weight, um número finito estritamente maior que zero que representa o peso da ementa em pontos percentuais ou qualquer unidade relativa positiva. O opcional decimals é um inteiro de zero a seis que controla o arredondamento half-up da porcentagem global e de cada contribuição; o padrão é duas casas decimais para que um resultado como oitenta e cinco ponto oito cinco coincida com as telas habituais do diário de notas. Se o peso total for zero, a solicitação falha —embora todo peso aceito seja positivo, esse caminho só aparece se a validação for contornada—. Exemplo: tarefas noventa e dois com peso vinte, quizzes oitenta e cinco com quinze, parcial setenta e oito com vinte e cinco e final oitenta e oito com quarenta produz peso total de cem e porcentagem ponderada global de oitenta e cinco ponto oito cinco quando decimals é dois. Envie por POST um corpo JSON com um array obrigatório categories de um a quarenta objetos. Os aliases items, components e rows são aceitos para o campo categories, de modo que scripts que já usam esses termos não precisem renomear. O núcleo percorre a lista uma vez, acumula a soma de score vezes weight e a soma dos pesos, e calcula weighted_percentage igual a essa soma de produtos dividida pelo peso total. Em caso de sucesso o corpo inclui weighted_percentage, total_weight, categories_count, um array contributions que ecoa cada name, score e weight junto com a contribuição daquela linha para a porcentagem global, e uma string formula que reafirma o contrato.
Onde uma API de nota ponderada pela ementa agrega valor
Professores e monitores chamam a API em lote por estudante para acrescentar uma coluna ponderada verificada ao exportar o diário de notas, capturando linhas com peso em branco ou pontuação digitada como cento e dez. 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 nem rede de saída.
Casos de integração
Automação de LMS e tutoria
Plataformas chamam a API com linhas de tarefas, quizzes, parcial e final para que plugins mostrem o mesmo número da fórmula da ementa.
Perguntas técnicas
Como se calcula a porcentagem ponderada do curso?
Multiplique cada nota de categoria pelo seu peso, some esses produtos e divida pela soma dos pesos: weighted_percentage = sum(score_i × weight_i) / sum(weight_i).
O que provoca erro e quanto custa uma chamada?
categories vazias, nomes em branco, pesos não positivos, scores fora de 0–100 ou campos obrigatórios ausentes retornam invalid_input e não são cobrados. Chamadas API bem-sucedidas são tarifadas a partir de US$ 0,002.