Piano di studio per esami
Con Matematica a peso 3, Fisica 2 e Storia 1, una giornata di 4 ore dà 2 ore a Matematica, cioè 20 delle sue 40 ore in 10 giorni. Le materie difficili ricevono più tempo senza togliere spazio alle altre. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Giorni all'esame
- 10
- Ore al giorno
- 4
- Numero di materie
- 3
- Somma delle difficoltà
- 6
- Ore di studio totali
- 40
Quando più materie condividono la stessa data d'esame, la domanda difficile non è quante ore Lei ha, ma come suddividerle tra gli argomenti affinché i corsi impegnativi ricevano più pratica senza trascurare quelli più facili. Questo generatore di piani di studio accetta un elenco di materie ciascuna con un peso di difficoltà relativo, il numero di giorni rimasti all'esame e un budget giornaliero fisso in ore. Restituisce ore al giorno e totali per ogni materia con una regola proporzionale trasparente: ogni materia riceve una quota del budget giornaliero pari alla sua difficoltà divisa per la somma di tutte le difficoltà. Zero giorni all'esame viene rifiutato come input non valido, perché non resta alcuna finestra di studio da allocare.
Come si definiscono le ore di studio ponderate per difficoltà
Inizi con un elenco onesto delle materie che deve ancora coprire prima dell'esame. A ciascuna assegni un peso di difficoltà non negativo che rifletta lo sforzo relativo, non il voto assoluto: un compito di matematica con peso tre accanto a un ripasso di storia con peso uno significa che la matematica deve ricevere tre volte i minuti giornalieri della storia quando entrambe compaiono nello stesso elenco. Sommi quei pesi in un totale di difficoltà unico.
Poi prenda le ore che può studiare realisticamente ogni giorno e moltiplichi per la quota di ciascuna materia, dove la quota è la difficoltà di quella materia divisa per il totale di difficoltà. Il prodotto sono le ore al giorno di quella materia. Moltiplichi di nuovo per i giorni all'esame per ottenere le ore totali sull'intero orizzonte di ripasso.
Quando il totale di difficoltà è zero, la formula della quota divide per zero e la richiesta fallisce con input non valido anziché inventare ripartizioni uguali che Lei non ha chiesto. Quando i giorni all'esame sono esattamente zero non resta finestra di calendario, quindi la capacità fallisce pure con input non valido invece di restituire un piano vuoto di zeri che un planner difettoso potrebbe trattare come successo. Giorni negativi, ore giornaliere negative, elenchi materie vuoti e nomi mancanti sono ugualmente rifiutati.
Lo strumento non inventa calendari di ripetizione distanziata, non carica programmi live e non converte fusi orari; sono intenzioni di prodotto separate con proprie landing quando la copertura crescerà.
Casi d'uso
Settimane di ripasso multi-materia
Suddivida un budget giornaliero fisso tra Matematica, Storia e Fisica così le prove più difficili ricevono proporzionalmente più ore prima di una data condivisa.
Domande frequenti
I pesi di difficoltà di alcune materie possono essere zero?
Sì per materie individuali, ma la somma di tutti i pesi deve essere maggiore di zero. Un elenco tutto a zero fallisce perché le quote proporzionali dividerebbero per zero.
Quali input sono obbligatori?
Valori mancanti o non finiti falliscono la validazione.
Come vengono ripartite le ore di studio tra le materie?
Ogni materia riceve una quota delle ore giornaliere pari alla sua difficoltà divisa per la somma di tutte. Quel valore giornaliero per i giorni rimasti dà il totale: Matematica, con 3 su 6, prende metà di ogni giornata.
Cosa succede se l'esame è oggi?
Zero giorni rimasti vengono rifiutati invece di restituire un piano vuoto, perché non resta tempo da ripartire. I giorni frazionari sono accettati, quindi anche mezza giornata davanti va bene.
Il peso di difficoltà deve essere il mio voto nella materia?
No. Usi un peso di impegno relativo, non un voto. Un peso 3 accanto a un peso 1 significa semplicemente che la prima materia riceve il triplo dei minuti della seconda nella stessa lista.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
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)Esempio di richiesta
{
"subjects": [
{
"name": "Math",
"difficulty": 3
},
{
"name": "History",
"difficulty": 1
},
{
"name": "Physics",
"difficulty": 2
}
],
"days_until_exam": 10,
"hours_per_day": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.study_schedule_build",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come si definiscono le ore di studio ponderate per difficoltà
L'aritmetica è a virgola mobile deterministica con arrotondamento stabile: input identici producono sempre JSON identico, senza timestamp di orologio, semi casuali, chiamate di rete o deriva del modello.
Contratto di input, forma della risposta ed errori
Invii in POST un corpo JSON con tre campi obbligatori. subjects è un array non vuoto di oggetti, ciascuno con un name stringa non vuota e un difficulty numerico finito non negativo; il risolutore accetta alias opzionali come weight per difficulty quando presenti. days_until_exam è un numero finito strettamente maggiore di zero che rappresenta giorni interi o frazionari rimasti all'esame; zero è il fallimento duro esplicito descritto sopra. hours_per_day è un numero finito maggiore di zero che rappresenta il budget di studio totale di tutte le materie in un giorno tipico. Campi mancanti, numeri non finiti, elenchi vuoti, ore giornaliere nulle o negative, difficoltà negative e somma zero dei pesi falliscono con invalid_input e non vengono fatturati. In caso di successo il corpo restituisce days_until_exam e hours_per_day puliti, riporta subject_count e difficulty_sum, restituisce total_study_hours come prodotto del budget giornaliero e dei giorni, e fornisce un array schedule. Ogni riga di schedule include index, name, difficulty, share come frazione unitaria del totale di difficoltà, hours_per_day per quella materia e total_hours sull'orizzonte. method è impostato a difficulty_proportional_study_hours e formula riafferma le due moltiplicazioni così tutor e correttori automatici citano la stessa espressione. Verifica classica: Matematica peso tre, Storia peso uno, Fisica peso due, dieci giorni, quattro ore al giorno produce un difficulty_sum di sei, quindi Matematica riceve due ore al giorno e venti totali, Storia due terzi d'ora al giorno e Fisica quattro terzi d'ora al giorno. Il prezzo delle chiamate API andate a buon fine è la base pubblicata di $0.002 per elemento; i fallimenti di validazione non consumano il saldo prepagato.
Dove un generatore di piani di studio dimostra il suo valore
Le settimane di ripasso di scuola superiore e università costringono gli studenti a dividere un budget fisso serale tra quattro o cinque prove di difficoltà disuguale; un oracolo proporzionale affidabile elimina la deriva dei fogli di calcolo tra coinquilini che confrontano i piani. Le piattaforme di tutoring e le app di preparazione esami necessitano di un'allocazione deterministica da mostrare accanto alle flashcard così l'apprendente vede perché le materie difficili occupano più calendario. Se in seguito Le servono mappe di ripetizione distanziata, esportazioni calendario con fusi o difficoltà adattiva da punteggi di quiz, li tratti come intenzioni di ricerca e landing separate anziché sovraccaricare questa pagina del piano di studio per esami. Plugin di learning management e portali genitori possono chiamare l'API per precompilare obiettivi orari settimanali senza erigere un motore di regole su misura. Poiché questa capacità è un motore di parse puro, il prezzo API è la base pubblicata di $0.002 per elemento riuscito e la validazione fallita non consuma saldo.
Casi di integrazione
App di tutoring e preparazione esami
Mostri agli apprendenti una tabella trasparente di ore al giorno derivata dai pesi di difficoltà, con gli stessi numeri nel widget gratuito e nell'API a pagamento.
Fixture LMS e piani di coaching
Generi in blocco piani proporzionali per coorti e rifiuti zero giorni all'esame con un invalid_input rigido invece di un piano vuoto finto.
Domande tecniche
Come vengono allocate le ore di studio tra le materie?
Ogni materia riceve hours_per_day moltiplicato per (difficulty diviso per la somma di tutte le difficoltà). Le ore totali di una materia equivalgono a quell'importo giornaliero per days_until_exam.
Cosa succede se i giorni all'esame sono zero?
L'attività fallisce con invalid_input. Non resta alcuna finestra di studio da allocare, quindi l'API rifiuta un piano a zero giorni anziché restituire un successo vuoto.
Quanto costa il generatore di piani di studio?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'input non valido non viene fatturato.