Gewichteter GPA-Rechner
Gymnasien und viele Hochschulen melden sowohl einen ungewichteten Notendurchschnitt auf der klassischen Vier-Punkte-Skala als auch einen gewichteten GPA, der akademische Strenge belohnt.
Im Browser ausführen – kostenlos
Honors-Kurse addieren typischerweise einen halben Punkt und Advanced-Placement- oder International-Baccalaureate-Kurse einen vollen Punkt, sodass ein A in AP Calculus als fünf Punkt null zählen kann, während dasselbe A in einem regulären Wahlfach weiterhin vier Punkt null zählt. Dieser gewichtete GPA-Rechner mit Honors akzeptiert eine Liste von Kursen mit Buchstabennoten, Credits und Anforderungsniveau, wendet konfigurierbare Honors- und AP-Boni auf die Basispunkte an und liefert den gewichteten sowie den ungewichteten GPA samt transparenter Aufschlüsselung pro Kurs. Die Arithmetik ist vollständig deterministisch, läuft kostenlos in Ihrem Browser und ist über die API zu $0.002 pro erfolgreicher Anfrage verfügbar, ohne Sprachmodell und ohne externen Zeugnisdienst auf dem kritischen Pfad.
So verwenden Sie das Werkzeug
Geben Sie Ihre Werte in das Formular oben ein. Das Werkzeug prüft sie vor der Berechnung und zeigt das Ergebnis auf derselben Seite.
Eingaben prüfen
Beachten Sie die Beschriftungen und Einheiten der Felder. Fehlt etwas oder liegt ein Wert außerhalb des erlaubten Bereichs, zeigt die Seite das zu korrigierende Feld.
Erneut berechnen oder automatisieren
Nutzen Sie das Web-Werkzeug für einzelne Prüfungen und die API, wenn Sie dieselbe Funktion automatisieren möchten.
Anwendungsfälle
Sofort ein Ergebnis erhalten
Geben Sie einen Satz Werte ein und sehen Sie das Ergebnis ohne Tabellenkalkulation oder Skript.
Szenarien vergleichen
Ändern Sie jeweils einen Wert und berechnen Sie erneut, um den Einfluss auf das Ergebnis zu sehen.
Wiederholte Aufgaben automatisieren
Nutzen Sie die API, wenn dieselbe Berechnung in Ihrem Produkt oder Ablauf laufen soll.
Häufige Fragen
Wie verwende ich diese Funktion?
Füllen Sie die Felder oben aus und starten Sie sie auf dieser Seite. Das Formular markiert Angaben, die korrigiert werden müssen.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/edu/weighted-gpa-honors \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"courses":[{"name":"AP Calculus","grade":"A","credits":1,"level":"ap"},{"name":"Honors English","grade":"B+","credits":1,"level":"honors"},{"name":"Biology","grade":"A-","credits":1,"level":"regular"},{"name":"US History","grade":"B","credits":1,"level":"regular"}]}'const res = await fetch("https://api.kit.forhosting.com/edu/weighted-gpa-honors", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"courses": [
{
"name": "AP Calculus",
"grade": "A",
"credits": 1,
"level": "ap"
},
{
"name": "Honors English",
"grade": "B+",
"credits": 1,
"level": "honors"
},
{
"name": "Biology",
"grade": "A-",
"credits": 1,
"level": "regular"
},
{
"name": "US History",
"grade": "B",
"credits": 1,
"level": "regular"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/weighted-gpa-honors",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"courses": [
{
"name": "AP Calculus",
"grade": "A",
"credits": 1,
"level": "ap"
},
{
"name": "Honors English",
"grade": "B+",
"credits": 1,
"level": "honors"
},
{
"name": "Biology",
"grade": "A-",
"credits": 1,
"level": "regular"
},
{
"name": "US History",
"grade": "B",
"credits": 1,
"level": "regular"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/weighted-gpa-honors", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"courses":[{"name":"AP Calculus","grade":"A","credits":1,"level":"ap"},{"name":"Honors English","grade":"B+","credits":1,"level":"honors"},{"name":"Biology","grade":"A-","credits":1,"level":"regular"},{"name":"US History","grade":"B","credits":1,"level":"regular"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"courses":[{"name":"AP Calculus","grade":"A","credits":1,"level":"ap"},{"name":"Honors English","grade":"B+","credits":1,"level":"honors"},{"name":"Biology","grade":"A-","credits":1,"level":"regular"},{"name":"US History","grade":"B","credits":1,"level":"regular"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/weighted-gpa-honors", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"courses": [
{
"name": "AP Calculus",
"grade": "A",
"credits": 1,
"level": "ap"
},
{
"name": "Honors English",
"grade": "B+",
"credits": 1,
"level": "honors"
},
{
"name": "Biology",
"grade": "A-",
"credits": 1,
"level": "regular"
},
{
"name": "US History",
"grade": "B",
"credits": 1,
"level": "regular"
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_gpa_honors",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |