試験勉強スケジュール
数学3、物理2、歴史1の重みで1日4時間勉強すると、数学は1日2時間、10日間で40時間中20時間になります。難しい科目に多く配分しても、ほかの科目の時間がなくなりません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 試験までの日数
- 10
- 1日あたりの時間
- 4
- 科目数
- 3
- 難易度の合計
- 6
- 総学習時間
- 40
複数の科目が同じ試験日を共有する場合、難しいのは何時間あるかではなく、難しい科目により多くの練習を割り当てつつ易しい科目を枯渇させないよう、その時間をどう分けるかです。この試験勉強スケジュール作成ツールは、相対的な難易度の重みを持つ科目の一覧、試験までの日数、固定の1日あたり学習時間予算を受け取ります。透明な比例規則で各科目の1日あたり時間と合計時間を返します。各科目は、その難易度を全難易度の合計で割った分だけ日次予算を受け取ります。試験まで0日の場合は学習枠が残っていないため invalid input として拒否されます。
難易度加重の学習時間がどう定義されるか
試験前にまだカバーすべき科目の正直な一覧から始めてください。各科目に、絶対的な成績ではなく相対的な労力を表す非負の難易度重みを割り当てます。重み3の数学と重み1の歴史復習が同じ一覧にある場合、数学は歴史の3倍の1日あたり分を受けるべきです。
それらの重みを1つの難易度合計に足します。次に、現実的に1日に学習できる時間を取り、各科目のシェアを掛けます。シェアはその科目の難易度を難易度合計で割った値です。
積がその科目の1日あたり時間です。試験までの日数をさらに掛けて、復習期間全体の合計時間を得ます。難易度合計が0のときシェア式は0除算となり、依頼していない均等分割を捏造するのではなく invalid input で失敗します。
試験までちょうど0日の場合はカレンダー枠が残らないため、バグのあるプランナーが成功と誤認しうる空洞の0スケジュールを返す代わりに、やはり invalid input で失敗します。負の日数、負の1日時間、空の科目一覧、欠落した名前も同様に拒否されます。本ツールは間隔反復カレンダーを発明せず、ライブのシラバスを読み込まず、タイムゾーン変換もしません。
それらはカバレッジ拡大時に別ランディングを持つ別の製品意図です。
試験勉強スケジュール作成が役立つ場面
中等教育・大学の復習週間では、学生は固定の夜間予算を難易度の異なる4〜5科目に分けざるを得ません。信頼できる比例オラクルは、計画を比べるルームメイト間のスプレッドシートのズレを取り除きます。個別指導プラットフォームや試験対策アプリは、難しい科目がなぜカレンダーの多くを占めるかを学習者が理解できるよう、フラッシュカード横に示せる決定的な配分を必要とします。
間隔反復の日次マップ、タイムゾーン付きカレンダー出力、過去のクイズ得点からの適応難易度が後で必要なら、本ページを過負荷にせず別の検索意図とランディングとして扱ってください。
活用例
複数科目の復習週間
共有の試験日の前に、難しめの科目が比例してより多くの時間を受けるよう、固定の1日予算を数学・歴史・物理に分けます。
よくある質問
一部の科目の難易度重みを0にできますか?
個別科目では可能ですが、全重みの合計は0より大きくなければなりません。すべて0の一覧は比例シェアが0除算になるため失敗します。
勉強時間は科目にどう配分されますか?
各科目の難易度を全科目の難易度の合計で割った割合で、1日の勉強時間を分けます。その1日分に残りの日数を掛けると合計時間になり、6のうち3の数学は毎日の半分を使います。
試験が今日の場合はどうなりますか?
残り0日では配分する時間がないため、空の予定を返さずに計算を受け付けません。日数には小数も使えるので、残り半日でも計算できます。
難易度の重みは科目の成績を入れますか?
成績ではなく、必要な努力の相対的な大きさを入れます。重み3の科目と重み1の科目が同じリストにあれば、前者に後者の3倍の時間が割り当てられます。
復習の日程表まで作ってくれますか?
作りません。1つの比例のルールで、科目ごとの1日あたりの時間と合計時間を出すだけです。特定の日に復習を割り当てたり、シラバスを読み込んだりはしません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/study-schedule-build \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"subjects":[{"name":"Math","difficulty":3},{"name":"History","difficulty":1},{"name":"Physics","difficulty":2}],"days_until_exam":10,"hours_per_day":4}'const res = await fetch("https://api.kit.forhosting.com/life/study-schedule-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"subjects": [
{
"name": "Math",
"difficulty": 3
},
{
"name": "History",
"difficulty": 1
},
{
"name": "Physics",
"difficulty": 2
}
],
"days_until_exam": 10,
"hours_per_day": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/study-schedule-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"subjects": [
{
"name": "Math",
"difficulty": 3
},
{
"name": "History",
"difficulty": 1
},
{
"name": "Physics",
"difficulty": 2
}
],
"days_until_exam": 10,
"hours_per_day": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/study-schedule-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"subjects":[{"name":"Math","difficulty":3},{"name":"History","difficulty":1},{"name":"Physics","difficulty":2}],"days_until_exam":10,"hours_per_day":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"subjects":[{"name":"Math","difficulty":3},{"name":"History","difficulty":1},{"name":"Physics","difficulty":2}],"days_until_exam":10,"hours_per_day":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/study-schedule-build", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"subjects": [
{
"name": "Math",
"difficulty": 3
},
{
"name": "History",
"difficulty": 1
},
{
"name": "Physics",
"difficulty": 2
}
],
"days_until_exam": 10,
"hours_per_day": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.study_schedule_build",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
難易度加重の学習時間がどう定義されるか
演算は安定した丸めを持つ決定的な浮動小数点で、同一入力は常に同一JSONを生み、壁時計のタイムスタンプ、乱数シード、ネットワーク呼び出し、モデルのドリフトはありません。
入力契約、応答の形、エラーの扱い
subjects は空でないオブジェクト配列で、各要素は空でない name 文字列と有限の非負 difficulty 数値を持ちます。0は上述の明示的なハード失敗です。個人計画セッションには無料ブラウザフォームを配線し、一括シナリオ表や回帰フィクスチャが必要なときは同一契約をスクリプトから呼び出してください。検証失敗は前払い残高を消費しません。必須3フィールドのJSONボディをPOSTしてください。存在する場合、difficulty の任意エイリアス weight もソルバーが受け付けます。days_until_exam は試験までの整数日または小数日を表す、厳密に0より大きい有限数です。hours_per_day は典型的な1日における全科目合計の学習予算を表す、0より大きい有限数です。欠落フィールド、非有限数、空の科目一覧、0または負の1日時間、負の難易度、難易度重みの合計0は invalid_input で失敗し課金されません。成功時、ボディは整形済みの days_until_exam と hours_per_day を返し、subject_count と difficulty_sum を報告し、日次予算と日数の積である total_study_hours を返し、schedule 配列を提供します。各 schedule 行には index、name、difficulty、難易度合計に対する単位分数 share、その科目の hours_per_day、期間全体の total_hours が含まれます。method は difficulty_proportional_study_hours に設定され、formula は2つの乗算を再記するので、チューターや自動採点器が同じ式を引用できます。古典的チェック:数学の重み3、歴史の重み1、物理の重み2、10日、1日4時間なら difficulty_sum は6となり、数学は1日2時間・合計20時間、歴史は1日2/3時間、物理は1日4/3時間を受けます。成功したAPI呼び出しの料金は公開ベースの $0.002 毎項目です。
試験勉強スケジュール作成が役立つ場面
学習管理プラグインや保護者ポータルは、独自ルールエンジンを立てずに週次の時間目標を埋めるためAPIを呼べます。学習スキル教材の著者は、試験開始後に作られた計画を自動採点が決して受理しないよう、0日の地平を拒否するJSONフィクスチャを必要とします。本能力は純粋な parse エンジンであるため、API料金は成功項目あたり公開ベースの $0.002 で、検証失敗は残高を消費しません。
連携の活用例
個別指導・試験対策アプリ
難易度の重みから導いた1日あたり時間の透明な表を学習者に示し、無料ウィジェットと有料APIで同じ数値を使います。
LMSとコーチ計画のフィクスチャ
コホート向けに比例スケジュールを一括生成し、試験まで0日は偽の空プランではなく硬い invalid_input で拒否します。
技術的な質問
学習時間は科目間でどう配分されますか?
各科目は hours_per_day に(difficulty を全難易度の合計で割った値)を掛けた分を受けます。科目の合計時間はその1日分に days_until_exam を掛けたものです。
試験まで0日の場合はどうなりますか?
タスクは invalid_input で失敗します。割り当てる学習枠が残っていないため、APIは空の成功ではなく0日スケジュールを拒否します。
必須の入力は何ですか?
空でない {name, difficulty} の subjects 配列、0より大きい days_until_exam、0より大きい hours_per_day です。欠落または非有限の値は検証に失敗します。
試験勉強スケジュール作成の料金は?
ブラウザツールは無料です。APIリクエストは成功1回あたり $0.002 の前払いKIT残高を使い、無効な入力は課金されません。