GPA 計算ツール
科目ごとに文字評価と単位数を入力します。3単位のAと3単位のBなら、クオリティポイントは21、総単位数は6で、GPAは3.5です。単純平均ではなく単位数で重み付けします。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
文字評価と単位時間を持つ科目の一覧から、標準的な 4.0 スケールで成績評価点の平均を計算し、加重 GPA・総単位・クオリティポイント・科目数を返します。
4.0 の評価テーブルと単位の加重
この計算ツールは、固定のテーブルを用いて各文字評価を標準的な 4.0 スケールのクオリティポイントに変換します。A は 4.0、A- は 3.7、B+ は 3.3、B は 3.0、B- は 2.7、C+ は 2.3、C は 2.0、C- は 1.7、D+ は 1.3、D は 1.0、F は 0 です。
courses 配列の各要素は grade と credits の値を携えます。エンジンは各評価のポイントにその credits を掛けて加重クオリティポイントを得て、それらを合計し、credits を合計し、割って単位で加重した GPA — 成績ポイントの素朴な平均ではなく — を生みます。
丸め・小数・小数の単位
ヘルパは sign * Math.floor(abs(x) * 10^decimals + 0.5) / 10^decimals を計算しますので、ちょうど中点の値は常に 0 から遠ざかる方向に丸められます。
decimals パラメータは精度を制御し、既定は 2、0 から 3 までの整数でなければなりません — 整数の GPA には 0 を、近いレコードを比較するより細かい粒度には 3 を渡します。評価は入力が照合の前に大文字化されるため大文字小文字を区別せず読み取られますので、'a-' と 'A-' は同等です。
credits は 1.5 のような小数の重みを含む任意の正の有限な数で構いませんので、実験や半単位のセミナーをモデル化できます。
検証・上限・型付きエラー
検証は算術の前に実行されます。courses は 1 から 50 個の項目を持つ配列でなければなりませんので、空の一覧も過大なバッチもいずれも速やかに失敗し、タブを止めることはできません。各要素はオブジェクトでなければなりません。
11 個の値のテーブルの外の grade は 'grade inválido' を送出し(未知の文字を最も近い区分に丸めることはありません)、欠けている・数値でない・非有限・0 以下の credits の値は 'credits inválido' を送出します。
0-3 の外の decimals は 'decimals fuera de rango' を送出し、オブジェクトでない最上位の入力はきっぱり拒否されます。
活用例
学生のダッシュボード
評価や単位の値が変わった瞬間に、学期または累積の GPA を再計算します。
奨学金の確認
申請を承認する前に、加重 GPA がしきい値を超えているか検証します。
よくある質問
どの評価スケールが使われますか?
A(4.0)から F(0)まで、プラス・マイナスの段階を含む固定の 4.0 テーブルです。
GPA は単位で加重されますか?
はい。 各評価のポイントにその credits を掛けて合計し、総単位で割ります。
科目に小数の単位を持たせられますか?
はい。 credits は半単位の科目の 1.5 のような任意の正の有限な数で構いません。
クオリティポイントとは何ですか?
各科目の評価の点数に、その科目の単位数を掛けて合計したものです。これを総単位数で割るとGPAになるため、単位数の多い科目ほど平均に大きく影響します。
表にない評価を入力するとどうなりますか?
近い文字に丸めずに受け付けません。使えるのは4.0の表にあるAからFまでの11種類だけで、大文字でも小文字でも同じに扱われます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/dev/gpa-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"courses":[{"grade":"A","credits":3}]}'const res = await fetch("https://api.kit.forhosting.com/dev/gpa-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"courses": [
{
"grade": "A",
"credits": 3
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/gpa-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"courses": [
{
"grade": "A",
"credits": 3
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/gpa-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"courses":[{"grade":"A","credits":3}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"courses":[{"grade":"A","credits":3}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/gpa-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"courses": [
{
"grade": "A",
"credits": 3
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.gpa_calculator",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
4.0 の評価テーブルと単位の加重
応答は gpa・total_credits(すべての credits の合計)・quality_points(成績ポイントの合計)・courses_count を返します。3 単位の A と 3 単位の B では、quality_points は 21、total_credits は 6、gpa は 3.5 です。
丸め・小数・小数の単位
total_credits は credits の正確な合計として返され、gpa と quality_points はいずれも選んだ小数桁に丸められます。
連携の活用例
教務の自動化
成績表を API に一括で通し、公式の GPA を決定的に掲示します。
技術的な質問
いくつの科目を提出できますか?
1 回のリクエストで 1 から 50 個です。その範囲の外は invalid_input を返します。
無料ですか?
ブラウザ widget では無料です。API は同じ処理を呼び出しごとに $0.002 から実行します。