加重コース成績計算機
宿題92点(重み20)、小テスト85点(15)、中間78点(25)、期末88点(40)なら、コース成績は85.85パーセントです。各区分の得点に重みを掛けて合計し、区分ごとに何点分寄与したかも分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
高校や大学の多くの科目は、小テストと宿題を単純に算術平均しただけの点数を付けません。シラバスは各カテゴリに配点(重み)を定めます。たとえば宿題が二十パーセント、小テストが十五パーセント、中間試験が二十五パーセント、期末試験が四十パーセントといった具合で、公式の成績はそのカテゴリ得点の加重結合です。この加重コース成績計算機は、名前付きカテゴリの一覧とゼロから百までの百分率スコア、および正の重みを受け取り、各スコアに重みを掛け、重みの合計で割り、総合の加重百分率と各行の寄与の内訳を返します。
加重コース成績とは何か、均等平均が誤る理由
すべての課題を単純に算術平均すると、五点の小テストと百点の期末試験が同じ一票になってしまいます。シラバスはそのモデルを採りません。宿題・小テスト・実験・プロジェクト・中間・期末といったカテゴリに作業を分け、コース全体に対する百分率としての重みを公開します。
宿題が二十パーセントで期末が四十パーセントなら、期末の九十は宿題の九十の二倍だけ総合点を動かさなければなりません。正しい式は加重平均です。各カテゴリの得点にシラバスの重みを掛け、その積を合計し、重みの合計で割ります。
重みがすでに百になる場合、その商がそのまま公式のコース百分率です。三・二・五のように百にならない相対単位でも、合計重みで割るため同じ式が使えます。均等重みはすべての重みが同一という特殊ケースにすぎず、成績付きコースの既定ではありません。
カテゴリ重みなしで生の課題パーセントを平均する学生は、事務が掲示する成績を過大または過小評価しがちです。セクションごとに表計算へ重みを打ち直す教員は、一つの誤セルで文字評価の境界が動く危険を負います。専用の加重コース成績計算機はシラバス契約を一度だけ符号化し、総合百分率と各カテゴリ寄与を返し、重み欠落やゼロのときに静かなNaNを捏造しません。
加重成績の計算が役立つ場面
学習管理システムやチュータリング基盤は、学期半ばにカテゴリ平均を入力して公式百分率を確認できるよう、加重コース成績計算機を使います。アドバイザーや学習コーチは、学生がカテゴリを落とす検討をするときや、シラバス改訂で期末の重みが変わるときに、仮定シナリオを再計算します。検証失敗は残高を消費しません。
加重百分率と寄与の内訳だけを計算し、文字評価の割当て、曲線付け、最低小テストの除外は行いません。それらの方針は数値が分かった後に呼び出し側が担います。
活用例
学期半ばの進行中コース百分率
学生が現在のカテゴリ平均とシラバス配点を入力し、期末週の前に公式の加重コース百分率を確認します。
成績簿エクスポート時の検算
教員がカテゴリ行から学生ごとの加重百分率を再計算し、公開前に表計算の重みやスコアの打ち間違いを見つけます。
よくある質問
加重コース百分率はどのように計算しますか?
各カテゴリの得点に重みを掛け、その積を合計し、重みの合計で割ります。
重みの合計は100でなければなりませんか?
いいえ。 合計が100の重みは古典的なシラバス百分率表と一致しますが、式が合計重みで割るため、正の相対重みであればどれでも使えます。
受け付けるスコアの範囲は?
各カテゴリのscoreは0から100までの有限数である必要があります。
contributions配列は何を示しますか?
各要素はname・score・weightを返し、同じhalf-up丸め後の総合百分率に対するそのカテゴリの寄与contributionを付けます。
加重成績が単純な平均と違うのはなぜですか?
単純な平均はすべての区分を同じ重さで扱いますが、シラバスは違うためです。期末の重みが40で宿題が20なら、期末の1点は宿題の1点の2倍、コース成績を動かします。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/weighted-course-grade \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}'const res = await fetch("https://api.kit.forhosting.com/edu/weighted-course-grade", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/weighted-course-grade",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/weighted-course-grade", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"categories":[{"name":"homework","score":92,"weight":20},{"name":"quizzes","score":85,"weight":15},{"name":"midterm","score":78,"weight":25},{"name":"final","score":88,"weight":40}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/weighted-course-grade", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"categories": [
{
"name": "homework",
"score": 92,
"weight": 20
},
{
"name": "quizzes",
"score": 85,
"weight": 15
},
{
"name": "midterm",
"score": 78,
"weight": 25
},
{
"name": "final",
"score": 88,
"weight": 40
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_course_grade",
"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で利用でき、ホットパス上に言語モデルや外部の成績簿サービスは一切ありません。
加重コース成績とは何か、均等平均が誤る理由
空のカテゴリ一覧、空白の名前、ゼロから百の外のスコア、正でない重みは即座にinvalid_inputで失敗し、自動化が不正入力と正当な低得点を区別できるようにします。
入力契約・式・丸め・応答の形
nameはhomeworkやmidtermのような空でない文字列ラベル、scoreはそのカテゴリで得た百分率を表すゼロから百までの有限数、weightはパーセントポイントまたは任意の正の相対単位としてのシラバス重みで、ゼロより厳密に大きい有限数です。任意のdecimalsはゼロから六の整数で、総合百分率と各寄与のhalf-up丸め桁数を制御します。既定は小数第二位で、八十五点八五のような結果が一般的な成績簿表示と一致します。例:宿題九十二・重み二十、小テスト八十五・十五、中間七十八・二十五、期末八十八・四十のとき、decimalsが二なら合計重みは百、総合加重百分率は八十五点八五になります。必須のcategories配列(一から四十個のオブジェクト)を含むJSON本体をPOSTしてください。各オブジェクトには三つのフィールドが必要です。categoriesフィールドにはitems・components・rowsという別名も受け付けるため、すでにその用語で書かれたスクリプトはリネーム不要です。コアは一覧を一度走査し、scoreとweightの積の和と重みの和を累積し、weighted_percentageをその積和を合計重みで割った値として計算します。合計重みがゼロならリクエストは失敗します(受理される重みはすべて正なので、この経路は検証を迂回した場合にのみ現れます)。成功時の本体にはweighted_percentage、total_weight、categories_count、各name・score・weightとその行の総合百分率への寄与を返すcontributions配列、および契約を言い直すformula文字列が含まれます。
シラバス加重の成績APIが役立つ場面
教員とTAは成績簿エクスポート時に学生ごとにAPIを一括呼び出しし、検証済みの加重列を付け、重みが空欄の行や百十と入力されたスコアを拾います。実装は純粋parseのティアAのため、成功した呼び出しはいずれも公開の基本価格$0.002で、モデルトークンも外向きネットワークもありません。カテゴリ一覧を短く保ち、丸め済み百分率と寄与フィールドをテストに固定すれば、宿題チェッカーやLMSプラグイン、エッジワーカー向けに再現可能なコース成績が得られ、本格的な成績簿データベースを立てる必要はありません。この能力は意図的に狭い範囲です。
連携の活用例
LMSとチュータリングの自動化
プラットフォームが宿題・小テスト・中間・期末の行でAPIを呼び出し、プラグインがシラバス式と同じ数値を表示します。
技術的な質問
エラーになる条件と呼び出しの料金は?
空のcategories、空白の名前、正でない重み、0–100外のscore、必須フィールド欠落はinvalid_inputを返し課金されません。成功したAPI呼び出しは$0.002から課金されます。