加重GPA計算機
AP科目のAは5.0、オナーズのB+は3.8として数えます。通常科目のA-とBを加えると、加重GPAは3.88、非加重GPAは3.5です。初期設定ではオナーズに0.5、APやIBに1.0を加えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
高校や多くの大学は、古典的な4点満点の文字評価による非加重GPAと、難易度を反映する加重GPAの両方を示します。オナーズは通常0.5点、Advanced Placement や International Baccalaureate は1.0点を加算するため、AP微積分のAは5.0、通常の選択科目の同じAは4.0として扱われます。このオナーズ対応の加重GPA計算機は、文字評価・単位数・難易度レベル付きの科目リストを受け取り、設定可能なオナーズ/APボーナスを基準点に加算し、加重・非加重の両GPAと科目別の内訳を返します。
加重GPAの意味とオナーズ・APボーナスの仕組み
非加重GPAは、科目の難易度に関係なく文字評価を同じ固定表に写像します。Aは4.0、Bは3.0、Cは2.0、Dは1.0、Fは0.0で、A-マイナスは3.7、B-プラスは3.3といったプラス・マイナス段階も一般的です。同じ科目群を履修した生徒を比較するには公平ですが、オナーズや Advanced Placement で時間割を埋めた負荷は過小評価されます。
加重GPAの方針は、単位を掛ける前にレベルボーナスを加えることでこれを補正します。米国高校で最も一般的な慣行は、オナーズに0.5、APまたはIBに1.0を加算し、オナーズのAは4.5、APのAは5.0になります。科目のクオリティポイントは、その加重点に単位を掛けたもので、全体の加重GPAはクオリティポイントの合計を単位の合計で割った値です。
非加重GPAは基準表のみを用いるため、カウンセラーはほぼ常に両方の数値を示します。難易度の高い科目で不合格でも、この計算機ではクオリティポイントは0のままです。Fはオナーズ/APボーナスを決して受けず、不合格の上級科目が成績表を水増ししないという一般的な学校方針に一致します。
入力契約・計算式・丸め・応答の形
各オブジェクトには grade(集合 A, A-, B+, B, B-, C+, C, C-, D+, D, F のいずれか)と credits(0より大きい有限の単位数またはセメスター単位)が必要です。任意の name は内訳にエコーされる短いラベルで、時間割と行を照合できます。
任意の level は regular・honors・ap で、省略時はボーナス0の regular として扱います。地区が別表を使う場合でも能力を分岐せず上書きできます。任意の decimals は0〜6の整数で、GPAとクオリティポイント欄の half-up 丸めを制御し、既定は成績表で一般的な小数2桁です。
コアはリストを一度走査し、基準点を参照し、評定がFでない限りレベルボーナスを加え、単位を掛け、加重・非加重のクオリティポイント合計を蓄積します。
例:既定ボーナスで、AP微積分A(1単位)、オナーズ英語B-プラス(1単位)、通常生物A-マイナス(1単位)、通常米国史B(1単位)は、decimals が2のとき総単位4、加重GPA 3.88、非加重GPA 3.5になります。
オナーズ付き加重GPAが役立つ場面
大学進学カウンセリングのプラットフォームや学生ポータルは、出願者が現在の成績を入力し、オナーズ/APの区分を付け、成績表確定前に両方の平均を確認できるよう加重GPA計算機を使います。奨学金や二重在籍のツールは、生徒がAPを取りやめる場合や地区がオナーズボーナスを0.5点から1.0点に変える場合の what-if を再計算します。
検証失敗は残高を消費しません。科目リストを短く保ち、丸めたGPA欄をテストで固定すれば、宿題チェッカー、LMSプラグイン、エッジワーカー向けに再現可能な成績計算が得られ、フル規模の学生情報システムは不要です。この能力は意図的に狭い範囲です。
設定可能なレベルボーナスと科目別内訳付きで加重・非加重GPAを計算するだけで、クラス順位カーブや最低学期の除外、提供数値を超える地区方針の創作は行いません。
活用例
大学出願前の成績表確認
生徒が各科目を regular・honors・AP に分類し、出願前に加重GPAと非加重GPAを比較します。
カウンセラーによる一括再計算
ガイダンスが地区のオナーズ/APボーナス付き成績エクスポートから両GPAを再計算し、レベルや単位の入力ミスを検出します。
奨学金と what-if シナリオ
奨学金や二重在籍が加重GPAに依存する場合、ポータルがAP区分の追加・削除の影響を再計算します。
よくある質問
加重GPAはどのように計算されますか?
各文字評価は4.0尺度の基準点に写像されます。加重GPAはそれらの点の単位加重平均です:sum((base + bonus) × credits) / sum(credits)。
加重GPAと非加重GPAの違いは何ですか?
非加重GPAは文字の基準表のみを使います。加重GPAは単位を掛ける前にオナーズまたはAPのレベルボーナスを加えるため、同じ評定でも難易度の高い科目の方が平均をより押し上げます。
オナーズやAPのボーナス量は変更できますか?
既定は0.5と1.0で、米国高校で最も一般的な表に合わせています。
AP科目の不合格でもボーナスは付きますか?
いいえ。 Fはレベルに関係なく、加重・非加重ともクオリティポイント0です。一般的な学校方針と一致します。
単位数は加重GPAに影響しますか?
影響します。各科目の加重後の点数に単位数を掛け、その合計を単位数の合計で割るためです。単位数の多い科目ほど平均を大きく動かし、これは加重・非加重のどちらでも同じです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"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": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_gpa_honors",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
計算は完全に決定的で、ブラウザでは無料、APIでは成功リクエストごとに$0.002で利用でき、ホットパスに言語モデルや外部成績サービスは使いません。
加重GPAの意味とオナーズ・APボーナスの仕組み
空の科目リスト、無効な文字評価、欠落した単位、正でない単位値は invalid_input ですぐに失敗し、自動化は誤った成績行と正当に低い平均を区別できます。
入力契約・計算式・丸め・応答の形
必須の courses 配列(1〜50オブジェクト)を含む JSON ボディを POST します。任意の honors_bonus の既定は0.5、ap_bonus は1.0で、どちらも0以上2以下の有限値である必要があります。courses には alias の items・rows・classes も受け付けます。成功時のボディには weighted_gpa、unweighted_gpa、total_credits、quality_points_weighted、quality_points_unweighted、courses_count、有効な honors_bonus と ap_bonus、各行と科目別クオリティポイントを含む breakdown 配列、契約を再掲する formula 文字列が含まれます。
オナーズ付き加重GPA APIが役立つ場面
高校の教務やガイダンスは、成績エクスポートの取り込み時にAPIを一括呼び出しし、検証済みの加重・非加重列を追加して、レベル未設定や単位0入力の行を検出します。実装は純粋 parse の tier A のため、成功呼び出しは公開された基本料金 $0.002 で、モデルトークンも外向きネットワークも使いません。
技術的な質問
エラーになる条件と呼び出し料金は?
空の courses、無効な評定、欠落または正でない単位、範囲外のボーナス、オブジェクトでないボディは invalid_input を返し課金されません。成功したAPI呼び出しは $0.002 から課金されます。