Calcolatore della media ponderata dei voti per categoria
Questo calcolatore combina i voti delle categorie in base alla loro importanza relativa.
Esegui gratis nel browser
Inserisca un voto percentuale e un peso per compiti, progetti, esami, partecipazione o qualsiasi altra categoria. Il calcolatore moltiplica ogni voto per il relativo peso, somma i prodotti e divide per il peso totale. Poiché i pesi vengono normalizzati automaticamente, possono totalizzare 100, 1, 20 o un altro valore positivo. Il risultato comprende la media finale e il dettaglio dei contributi per controllare le formule, spiegare i voti o integrare lo stesso calcolo in un flusso accademico.
Inserisca voti e pesi coerenti per categoria
Crei una riga per ogni categoria che contribuisce al voto complessivo. Assegni un nome riconoscibile, inserisca il voto ottenuto come percentuale da 0 a 100 e specifichi un peso non negativo. Un corso tipico potrebbe usare Compiti con 20, Progetti con 35 ed Esami con 45. Questi valori totalizzano 100, ma non è obbligatorio. Può inserire 2, 3.5 e 4.5 e ottenere la stessa media, perché conta soltanto la proporzione tra i pesi. Funzionano anche pesi decimali come 0.2, 0.35 e 0.45. Utilizzi una sola scala nella richiesta: mescolare 20 e 0.35 rappresenterebbe probabilmente una proporzione diversa da quella desiderata. I voti devono essere già percentuali, quindi converta 42 punti su 50 in 84 prima dell’invio. Una categoria può avere peso zero per restare visibile senza modificare la media. Almeno una categoria deve avere peso positivo e ogni richiesta accetta fino a 100 righe.
Comprenda la formula della media ponderata
Il calcolo usa la media ponderata standard: moltiplica ogni voto per il suo peso, somma tutti i prodotti e divide la somma ponderata per la somma dei pesi. Se Compiti ha voto 88 e peso 20, Progetti 94 e 35, ed Esami 81 e 45, i prodotti vengono accumulati prima della divisione. Una categoria con peso maggiore incide quindi di più sul risultato. La risposta mostra sia la somma ponderata sia il peso totale, così Lei può riprodurre la formula principale. Riporta inoltre ogni peso normalizzato come quota decimale del totale e ogni contributo in punti. I contributi sommano alla media visualizzata, salvo differenze innocue dovute all’arrotondamento alla sesta cifra decimale. I pesi non vengono mai forzati a totalizzare 100, perché la divisione per il totale effettivo li normalizza correttamente. Numeri non validi, pesi negativi, voti fuori intervallo, nomi vuoti e peso totale nullo producono un errore di input anziché un voto fuorviante.
Interpreti e verifichi il risultato
Utilizzi weighted_average come percentuale combinata delle categorie inviate. L’elenco conserva l’ordine originale e aggiunge normalized_weight e weighted_contribution, mostrando esattamente come ogni riga ha inciso sulla risposta. Questo dettaglio è utile quando uno studente chiede perché un ottimo voto nei compiti non abbia compensato un esame più basso o quando un docente verifica l’applicazione dei pesi nel sistema didattico. Il calcolatore non assegna lettere, non applica curve, non elimina il voto più basso, non sostituisce lavori mancanti e non impone che i pesi totalizzino 100: sono decisioni della politica di valutazione. Se i pesi coprono soltanto categorie completate, decida se normalizzare sul lavoro concluso o rappresentare quelle mancanti con voti zero; entrambe le scelte sono matematicamente valide, ma producono risultati diversi. L’algoritmo è deterministico, non usa servizi di rete e arrotonda a sei cifre decimali i campi numerici restituiti. Lo stesso input valido genera pertanto lo stesso risultato strutturato nel browser e tramite API.
Casi d'uso
Verifichi il voto attuale di un corso
Combini compiti, test, progetti ed esami secondo i pesi per categoria pubblicati nel programma.
Controlli i calcoli del registro voti
Confronti il risultato della piattaforma con somma ponderata, peso totale e contributi per categoria.
Automatizzi i report accademici
Calcoli medie ponderate coerenti nei report senza mantenere formule di foglio elettronico per ogni studente.
Domande frequenti
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolatore di livello A può funzionare anche nel browser.
I pesi devono totalizzare 100?
No. Funziona qualsiasi scala coerente e non negativa, perché la somma ponderata viene divisa per il peso totale effettivo.
Posso utilizzare pesi decimali?
Sì. I valori 0.2, 0.35 e 0.45 producono la stessa media di 20, 35 e 45.
Che cosa accade a una categoria con peso zero?
Rimane nel dettaglio ma non contribuisce alla media finale. Almeno un peso deve essere positivo.
Il calcolatore assegna un voto in lettere?
No. Restituisce solo la percentuale ponderata, perché le soglie variano tra corsi e istituti.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/edu/weighted-grade-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"categories":[{"name":"Homework","score":88,"weight":20},{"name":"Projects","score":94,"weight":35},{"name":"Exams","score":81,"weight":45}]}'const res = await fetch("https://api.kit.forhosting.com/edu/weighted-grade-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"categories": [
{
"name": "Homework",
"score": 88,
"weight": 20
},
{
"name": "Projects",
"score": 94,
"weight": 35
},
{
"name": "Exams",
"score": 81,
"weight": 45
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/weighted-grade-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"categories": [
{
"name": "Homework",
"score": 88,
"weight": 20
},
{
"name": "Projects",
"score": 94,
"weight": 35
},
{
"name": "Exams",
"score": 81,
"weight": 45
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/weighted-grade-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"categories":[{"name":"Homework","score":88,"weight":20},{"name":"Projects","score":94,"weight":35},{"name":"Exams","score":81,"weight":45}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"categories":[{"name":"Homework","score":88,"weight":20},{"name":"Projects","score":94,"weight":35},{"name":"Exams","score":81,"weight":45}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/weighted-grade-average", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"categories": [
{
"name": "Homework",
"score": 88,
"weight": 20
},
{
"name": "Projects",
"score": 94,
"weight": 35
},
{
"name": "Exams",
"score": 81,
"weight": 45
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_grade_average",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |