Dividir o tempo da prova por questão conforme os pontos
Crie um roteiro prático para a prova usando a duração total e os pontos de cada questão.
Executar grátis
A calculadora divide os minutos de forma proporcional: tarefas com maior peso recebem mais tempo e itens de menor valor recebem menos. O arredondamento mantém a duração completa e a ordem original, oferecendo ao estudante uma referência clara e permitindo ao professor comparar a pontuação com o esforço esperado.
Informe toda a estrutura de pontuação
Digite a duração completa em minutos e liste as questões na ordem da prova. Use um rótulo fácil de reconhecer e copie exatamente o valor máximo de cada item. Cada questão recebe a mesma proporção do tempo que representa na soma dos pontos. Itens com zero ponto podem ser incluídos, mas pelo menos um valor precisa ser positivo; caso contrário, a solicitação retorna um erro. Confira os dados no documento oficial, pois uma pontuação digitada incorretamente altera todas as parcelas.
Entenda o arredondamento do resultado
O resultado mostra centésimos de minuto e mantém uma soma exata. Primeiro, o cálculo atribui os centésimos inteiros de cada parcela matemática; depois, distribui os restantes conforme as maiores sobras decimais. Em um empate, a ordem original decide. A mesma entrada sempre gera o mesmo resultado. Em provas muito curtas, uma questão pequena pode aparecer com zero minuto; isso indica uma estrutura apertada, e não uma orientação para ignorar o item.
Transforme o roteiro em marcos
Use as parcelas como uma referência flexível. Você pode somar os tempos para anotar marcos no início de cada seção e reservar antes alguns minutos para leitura ou revisão. O professor pode comparar a divisão com a dificuldade real, as fontes e os cálculos exigidos. Para uma adaptação, informe primeiro a duração aprovada. A ferramenta não estima velocidade de leitura, transições nem habilidades individuais; portanto, ajuste essa base transparente quando necessário.
Casos de uso
Preparar um roteiro de ritmo
Converta pontos em metas por questão e marcos acumulados antes da prova.
Avaliar o equilíbrio da prova
Compare o tempo derivado dos pontos com o esforço esperado para cada tarefa.
Aplicar tempo adicional aprovado
Recalcule as mesmas proporções com uma duração adaptada.
Perguntas frequentes
Como os tempos sugeridos são calculados?
Cada questão recebe a proporção da duração correspondente à sua parcela dos pontos totais.
O que acontece quando o total é zero?
A solicitação retorna um erro de entrada inválida porque não há proporção possível com uma soma nula.
Uma questão pode ter zero ponto?
Sim. Ela recebe zero minuto desde que outra questão tenha pontuação positiva.
Os tempos arredondados somam exatamente o total?
Sim. Os centésimos restantes são distribuídos para preservar a duração exibida.
Quanto custa uma solicitação de API?
O preço da API é US$ 0,002 por solicitação.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/edu/exam-time-per-question \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_minutes":120,"questions":[{"question":"Definitions","points":15},{"question":"Analysis","points":35},{"question":"Essay","points":50}]}'const res = await fetch("https://api.kit.forhosting.com/edu/exam-time-per-question", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_minutes": 120,
"questions": [
{
"question": "Definitions",
"points": 15
},
{
"question": "Analysis",
"points": 35
},
{
"question": "Essay",
"points": 50
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/exam-time-per-question",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_minutes": 120,
"questions": [
{
"question": "Definitions",
"points": 15
},
{
"question": "Analysis",
"points": 35
},
{
"question": "Essay",
"points": 50
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/exam-time-per-question", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_minutes":120,"questions":[{"question":"Definitions","points":15},{"question":"Analysis","points":35},{"question":"Essay","points":50}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_minutes":120,"questions":[{"question":"Definitions","points":15},{"question":"Analysis","points":35},{"question":"Essay","points":50}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/exam-time-per-question", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"duration_minutes": 120,
"questions": [
{
"question": "Definitions",
"points": 15
},
{
"question": "Analysis",
"points": 35
},
{
"question": "Essay",
"points": 50
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.exam_time_per_question",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |