現在の成績パーセント計算
現在の成績率は、「すでに採点された課題では、今どの程度の成績なのか」という問いに答えます。各課題の獲得点と満点を入力し、まだ得点が公開されていない課題は未採点に設定してください。計算では、未採点の課題を獲得点と満点の両方から除外し、採点済みの点数だけを合計して現在の割合を表示します。これにより、これから提出する課題や返却前の課題を0点として扱わず、今日の状況を明確に把握できます。
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
成績表の点数を正確に入力します
まず、コースの成績表に表示されている課題を確認し、それぞれの獲得点と満点を入力します。20点満点で18点の小テストなら、獲得点を18、満点を20とします。後から元の記録と照合できるよう、課題ごとに別の行を使ってください。教員が実際の得点を公開した課題だけを採点済みにします。100点満点のプロジェクトが表示されていても得点がなければ、未採点のままにすると計算から除外されます。正式な得点が0点でない限り、仮の0を入力しないでください。実際の0点は計算対象ですが、空欄や保留中の得点は対象外です。課題名は任意ですが、「小テスト1」などを付けると重複や入力漏れを確認しやすくなります。
ポイント方式の計算を理解します
採点済みの行について獲得点を合計し、同じ行の満点も合計します。獲得点の合計を満点の合計で割り、100を掛けて割合を求めます。たとえば、20点中18点と50点中42点なら、70点中60点となり、小数点以下2桁では85.71パーセントです。未採点の行は分子と分母の両方から除かれるため、保留中の課題が誤って0点として扱われません。この結果はポイントに基づく現在値であり、公式の成績と一致しない場合があります。試験、宿題、参加度を別々に重み付けしたり、最低点を除外したり、加点を行ったりするコースでは、シラバスと表示された合計もご確認ください。
現時点のスナップショットとして使います
この割合は現在の状況を示すもので、最終成績の予測ではありません。採点済みの実績だけを反映するため、大きな試験やプロジェクトが返却されると大幅に変わることがあります。獲得点と満点の合計を成績表と比べ、差があれば入力を確認してください。新しい得点が公開されたとき、入力を訂正したとき、空欄が実際には0点だと判明したときには再計算できます。採点済みと未採点の件数は、一覧の漏れを見つける手掛かりにもなります。今後を計画する際は、残りの課題と配点比率も併せてご確認ください。計算は決定的で、通信、乱数、日時を使いません。ブラウザーでは無料で、APIリクエストは$0.002です。
活用例
今日の状況を確認します
公開済みの得点をまとめ、まだ返却されていない課題を計算から外します。
成績表の合計を照合します
獲得点と満点の合計を、コースシステムに表示された値と比較します。
新しい得点を反映します
保留中だった課題を採点済みに変更し、現在の割合をすぐに再計算します。
よくある質問
何が計算から除外されますか?
未採点に設定したすべての課題について、獲得点と満点の両方を除外します。
得点のない課題は0点にしますか?
0点が正式に公開された場合だけ入力します。評価前の課題は未採点のままにしてください。
重み付きカテゴリーに対応していますか?
対応していません。入力した点数による割合なので、カテゴリーの重みがある公式成績とは異なる場合があります。
獲得点が満点を超えてもよいですか?
はい。教員が採点済み課題にボーナスポイントを付ける場合があるため許容しています。
割合はどのように求めますか?
採点済み課題の獲得点を満点で割り、100を掛けて指定桁数に丸めます。
APIリクエストの料金はいくらですか?
基本料金は1回につき$0.002です。同じ決定的な計算をブラウザーでは無料で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/edu/current-grade-percentage \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"assignments":[{"name":"Quiz 1","earned":18,"possible":20,"graded":true},{"name":"Essay","earned":42,"possible":50,"graded":true},{"name":"Final project","possible":100,"graded":false}]}'const res = await fetch("https://api.kit.forhosting.com/edu/current-grade-percentage", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"assignments": [
{
"name": "Quiz 1",
"earned": 18,
"possible": 20,
"graded": true
},
{
"name": "Essay",
"earned": 42,
"possible": 50,
"graded": true
},
{
"name": "Final project",
"possible": 100,
"graded": false
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/current-grade-percentage",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"assignments": [
{
"name": "Quiz 1",
"earned": 18,
"possible": 20,
"graded": true
},
{
"name": "Essay",
"earned": 42,
"possible": 50,
"graded": true
},
{
"name": "Final project",
"possible": 100,
"graded": false
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/current-grade-percentage", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"assignments":[{"name":"Quiz 1","earned":18,"possible":20,"graded":true},{"name":"Essay","earned":42,"possible":50,"graded":true},{"name":"Final project","possible":100,"graded":false}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"assignments":[{"name":"Quiz 1","earned":18,"possible":20,"graded":true},{"name":"Essay","earned":42,"possible":50,"graded":true},{"name":"Final project","possible":100,"graded":false}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/current-grade-percentage", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"assignments": [
{
"name": "Quiz 1",
"earned": 18,
"possible": 20,
"graded": true
},
{
"name": "Essay",
"earned": 42,
"possible": 50,
"graded": true
},
{
"name": "Final project",
"possible": 100,
"graded": false
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.current_grade_percentage",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 500 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |