固定加点と最低点による成績補正計算機
固定加点と保証最低点を組み合わせた規則を、明確に成績へ適用できます。素点、加点、最低点、最高点をご入力ください。計算機は素点に加点し、その値と最低点を比較して高い方を選び、最高点を超えないよう制限します。どの規則が結果を決めたかも表示するため、学生ごとの説明、再計算、監査を容易に行えます。
無料で実行
成績規則を4つの値でご指定ください
まず、補正前に記録されている素点をそのままご入力ください。次に、この規則の対象となる全成績へ等しく与える固定加点をご指定ください。最低点は保証する最小結果、最高点は許可する上限です。各値を分けることで、5点の加点と70点への引き上げを混同せずに済みます。素点60へ加点して65になっても最低点未満なら、最低点が結果を決めます。素点80にも同じ加点を行いますが、通常は最低点より高いため加点値が採用されます。4項目は有限の0以上の数値でなければなりません。素点と最低点は最高点を超えられません。その組み合わせは一貫して適用できない矛盾した尺度になるためです。小数点以下の点数や割合を記録する授業では、小数もご利用いただけます。
結果の計算順序をご確認ください
計算は常に同じ順序で行います。最初に素点へ加点し、中間値として加点後の点数を示します。次に、その値と最低点を比べ、高い方を残します。最後に選んだ値を最高点と比較し、必要なら上限に合わせます。簡潔に言えば、最終点は最高点と、加点後点数または最低点の高い方とのうち、小さい値です。応答には最終点、素点からの総増加、適用規則が含まれます。minimum_floor は通常の加点が最低点に届かなかった場合、flat_bump は加点だけで範囲内になった場合、maximum_cap は上限を超える加点を制限した場合を表します。この順序は重要です。最低点より先に上限処理をしたり、最低点を適用した後に加点したりすると、明示された方針より高い結果になるおそれがあります。
一貫して適用し、対象外の規則を把握してください
個別確認では、返された素点、加点後点数、最終点を授業の成績規則と照合してください。一括処理では1成績につき1回送信し、最終値とともに適用規則を保存すると、最低点による救済と通常の加点を区別できます。ネットワーク、乱数、現在時刻を使わないため、同じ入力からは必ず同じ出力が得られます。本ツールは、補正が公平か、承認済みか、教育機関の規則に適合するかを判断しません。評語への変換、課題の重み付け、学校独自の桁への丸め、成績簿の更新も行いません。これらは利用前にご決定ください。一定点未満だけを加点する方針、順位を維持する方針、クラス全体を再尺度化する方針には別のモデルが必要です。全対象に同じ加点、最低点、最高点を適用する場合に限りご利用ください。API 自動化は1回 $0.002 です。
活用例
補正後の1成績を確認
指定した加点、保証最低点、最高点による素点の変化をご確認いただけます。
共通の授業規則を適用
同じ決定的規則で各成績を処理し、判定規則も記録できます。
成績簿の補正を監査
素点、加点後点数、最終点を比較し、上下限を守っているか確認できます。
よくある質問
どの計算式を使用しますか?
min(maximum_grade, max(raw_grade + bump_amount, minimum_floor)) を計算します。
最低点に加えて加点されますか?
いいえ。加点後点数と最低点を比較し、高い方を選んでから最高点を適用します。
加点後点数が最高点を超えるとどうなりますか?
最終点を maximum_grade に制限し、適用規則を maximum_cap とします。
小数の成績も入力できますか?
はい。素点と最低点が最高点以下であれば、有限の0以上の数値を指定できます。
API の料金はいくらですか?
API は1回 $0.002 です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/flat-bump-curve \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"raw_grade":67,"bump_amount":5,"minimum_floor":75,"maximum_grade":100}'const res = await fetch("https://api.kit.forhosting.com/edu/flat-bump-curve", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"raw_grade": 67,
"bump_amount": 5,
"minimum_floor": 75,
"maximum_grade": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/flat-bump-curve",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"raw_grade": 67,
"bump_amount": 5,
"minimum_floor": 75,
"maximum_grade": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/flat-bump-curve", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"raw_grade":67,"bump_amount":5,"minimum_floor":75,"maximum_grade":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"raw_grade":67,"bump_amount":5,"minimum_floor":75,"maximum_grade":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/flat-bump-curve", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"raw_grade": 67,
"bump_amount": 5,
"minimum_floor": 75,
"maximum_grade": 100
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.flat_bump_curve",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |