加重スコアを満点換算
宿題85/100、中間16/20、期末42/50を重み30・30・40で合成すると、20点満点で16.62点になります。各カテゴリをそれぞれの満点に対する比率に直し、重み付けした結果をお使いの尺度に換算します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Out of
- 20
- 得点
- 16.62
- 表示用の得点
- 16.62 / 20
- 加重割合
- 83.1
- 加重比率
- 0.831
シラバスが単一の生パーセントだけで評価することは稀です。宿題・実験・中間・期末がそれぞれ異なる満点と重みで混在し、学習者は公開スケール上の一つの数値——20点満点、10点満点、100点満点の総合点——を必要とします。
満点の違う得点を1つの点数にまとめる
宿題、実験、中間試験、期末試験は満点がそろわないことが多く、シラバスではそれぞれに重みが決められています。この計算では、まず各カテゴリを比率に直します。100点満点の85点は0.85、20点満点の16点は0.80、50点満点の42点は0.84です。次に各比率に重みを掛けて合計し、重みの合計で割ると、加重比率は0.831になります。これに報告で使う満点、この例では20を掛けると、20点満点で16.62点、百分率では83.1パーセントです。
使う場面と気をつけたい点
フランスの20点満点や、ヨーロッパの多くの中等教育のように、0から100ではない固定の尺度で成績を出す場合に役立ちます。10点満点や、100点満点の合計点にも使えます。学期の途中でも、結果が出たカテゴリから更新すれば、期末試験の採点前に現在の点数を確認できます。注意点は2つです。各カテゴリには、そのカテゴリ自体の満点を入力してください。また、重みが影響の大きさを決めるため、比率が近くても重み40の期末は重み30の宿題より点数を大きく動かします。
満点スケール上の加重スコアが意味すること
満点スケール上の加重スコアは、シラバスがカテゴリ重みと、単純な0〜100ではない報告スケールを公開しているときの自然な答えです。フランスや多くの欧州中等教育では note sur 20 が報告され、他の制度では10点・4点・独自上限が使われます。計算はどこでも同じです。
三つの比率は 0.85・0.80・0.84、加重平均比率は 0.831、マークは約 16.62 / 20 です。これは加重パーセントだけを返す一般的な成績計算機や、共通の満点・スケールのない任意値の統計的加重平均とは別のプロダクト意図です。「
活用例
学期途中の重み確認
カテゴリ得点が届くたびに更新し、期末採点前に公開スケール上の進行中の加重マークを再計算します。
よくある質問
カテゴリ重みは合計100である必要がありますか?
いいえ。 重みは相対値で、エンジンは重み合計で割ります。同じ比率なら 30/30/40 と 0.3/0.3/0.4 は同じマークになります。
加重した成績を20点満点に換算するには?
満点の欄に20を入力します。カテゴリの加重比率にその値を掛けるので、比率0.831は20点満点で16.62点になります。
カテゴリごとに満点が違っても使えますか?
使えます。各カテゴリに得点と満点を入力すると、重み付けの前に比率へ直します。20点満点の中間16点は0.80、50点満点の期末42点は0.84として数えます。
各カテゴリは最終点にどれだけ寄与しますか?
内訳に点数で表示されます。20点満点の例では、宿題が5.1点、中間が4.8点、期末が6.72点を占め、合計で16.62点になります。
20点満点以外の尺度でも計算できますか?
できます。10点満点や100点満点のほか、4.0を上限とする尺度にも換算できます。同じ加重比率を、指定した満点に合わせて掛け直すだけです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/weighted-score-out-of \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"categories":[{"label":"Homework","score":85,"max_score":100,"weight":30},{"label":"Midterm","score":16,"max_score":20,"weight":30},{"label":"Final","score":42,"max_score":50,"weight":40}],"out_of":20}'const res = await fetch("https://api.kit.forhosting.com/edu/weighted-score-out-of", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"categories": [
{
"label": "Homework",
"score": 85,
"max_score": 100,
"weight": 30
},
{
"label": "Midterm",
"score": 16,
"max_score": 20,
"weight": 30
},
{
"label": "Final",
"score": 42,
"max_score": 50,
"weight": 40
}
],
"out_of": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/weighted-score-out-of",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"categories": [
{
"label": "Homework",
"score": 85,
"max_score": 100,
"weight": 30
},
{
"label": "Midterm",
"score": 16,
"max_score": 20,
"weight": 30
},
{
"label": "Final",
"score": 42,
"max_score": 50,
"weight": 40
}
],
"out_of": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/weighted-score-out-of", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"categories":[{"label":"Homework","score":85,"max_score":100,"weight":30},{"label":"Midterm","score":16,"max_score":20,"weight":30},{"label":"Final","score":42,"max_score":50,"weight":40}],"out_of":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"categories":[{"label":"Homework","score":85,"max_score":100,"weight":30},{"label":"Midterm","score":16,"max_score":20,"weight":30},{"label":"Final","score":42,"max_score":50,"weight":40}],"out_of":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/weighted-score-out-of", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"categories": [
{
"label": "Homework",
"score": 85,
"max_score": 100,
"weight": 30
},
{
"label": "Midterm",
"score": 16,
"max_score": 20,
"weight": 30
},
{
"label": "Final",
"score": 42,
"max_score": 50,
"weight": 40
}
],
"out_of": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.weighted_score_out_of",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本計算機は、その加重カテゴリ得点集合を、ご指定の満点(out_of)上の単一マークへ変換します。各カテゴリに取得点・満点・重みを入力し、out_of を設定してください(例:古典的な20点満点なら20)。エンジンは各行を比率に正規化し、重み付き平均を取り、満点を掛け、mark・mark_display・カテゴリ別内訳を返します。
満点スケール上の加重スコアが意味すること
各カテゴリは score を max_score で割った比率を寄与し、その比率にカテゴリ重みを掛け、積を合計し、合計を総重みで割り、結果に out_of を掛けます。例:宿題が100点中85点で重み30、中間が20点中16点で重み30、期末が50点中42点で重み40、out_of が20。満点への加重スコア」「20点満点の成績」「固定スケールのカテゴリ評価」を探す利用者は、報告書や保護者連絡に貼れる明確な mark_display を見出し結果として求めます。各カテゴリが独自の max_score で正規化されるため、10点満点の小テストと100点満点の課題を、生点の単一プールに無理に揃えずに混ぜられます。
入力契約・丸め・エラー時の振る舞い
任意の label は内訳上のカテゴリ名です。重みは100に合計する必要はなく、エンジンが自動で再正規化するため、30・30・40 でも 0.3・0.3・0.4 でも同じ比率なら同じマークになります。POST で JSON 本体に必須フィールドを二つ送ります。categories は最大50件の非空配列で、各オブジェクトに score(非負の有限取得点)、max_score(正の満点)、weight(正の相対重み)が必要です。別名 items・rows・components は categories に対応します。out_of は結合マークの正の目標満点で、別名 total・scale・max_mark を受け付けます。任意の decimals は0〜6の整数で既定は2、別名 precision も可です。成功時は mark(decimals へ half-up 丸め)、out_of、16.62 / 20 のような mark_display、weighted_percent、weighted_ratio、total_weight、category_count、decimals、各行の ratio・weight_share・contribution_to_mark を含む categories 配列、ならびに安定クライアント向けの formula と method weighted_category_scale を返します。categories や out_of の欠落、空配列、配列内の非オブジェクト、負の score、正でない max_score や weight、正でない out_of、0〜6外の decimals は invalid_input で失敗し、フィールド名付きメッセージを返し、課金されません。
満点Nへの加重マーク API が価値を生む場面
混合評価で採点しつつ制度上の固定スケールで報告する教員には、学習者・保護者・表計算が信頼できる単一の基準が必要です。中間前後の相談窓口は「重み込みで20点満点だと何点か」を何十回も答えます。チューターは毎回独自算術を発明せず、カテゴリ寄与を案内できます。検証失敗は残高を消費しません。共有の決定論エンドポイントは Discord ボットのずれと手計算ミスを除きます。実装は純粋 parse ティア A のため、成功呼び出しは公開の基本料金 $0.002 で、モデルトークンも外向き通信もありません。リクエストを小さく保ち、テストで mark と mark_display を固定すれば、授業デモ・エッジワーカー・シラバス計算機向けに再現可能な換算点を、独自採点基盤なしで得られます。
連携の活用例
混合カテゴリから20点満点へ
宿題・試験・課題の行に各自の満点と重みを入れ、out_of を20に設定し、結合マークを mark_display で確認します。
LMS とチュータリングの自動化
ポータルやチューター用ツールから同じ決定論 API を呼び、同一入力で全クライアントが換算マークに一致します。
技術的な質問
満点への加重スコア計算機の仕組みは?
各カテゴリで score を max_score で割り、weight を掛け、その積を合計し、総重みで割り、out_of を掛け、指定 decimals へ half-up 丸めします。
カテゴリごとに異なる満点を使えますか?
はい。各行に独自の max_score があるため、10点満点の小テストと100点満点の課題を同じ加重マークに含められます。
通常の成績計算機や加重平均と同じですか?
いいえ。それらは平均やパーセントを返します。本エンドポイントは選んだ満点上の単一マーク(mark / out_of)、例として20点満点、という検索意図向けです。
満点への加重スコアツールの料金は?
ブラウザ版は無料です。API は成功呼び出しごとにプリペイド KIT 残高から $0.002 です。無効入力は課金されません。