Encontre livros adequados ao nível de leitura do aluno
Para um aluno no nível 4,5, uma margem de 0,75 abaixo e 1 acima mantém os livros entre 3,75 e 5,5, e ficam três títulos de cinco. Cole a sua lista com o nível de cada livro e receba só os adequados, na sua ordem. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Nível do estudante
- 4,5
- Intervalo inferior
- 0,75
- Intervalo superior
- 1
- Correspondências
- 3
Um nível de leitura se torna mais útil quando transforma uma lista extensa de livros em um conjunto prático de opções. Esta ferramenta compara o nível equivalente à série de um aluno com o nível informado para cada livro e retorna somente os títulos dentro de uma faixa adequada. Você pode usar o padrão de uma série abaixo e acima ou ajustar cada lado para oferecer mais apoio ou desafio. A ordem original é preservada, facilitando o uso do resultado em planos de aula, listas de biblioteca ou conversas sobre leitura.
Monte uma lista útil de candidatos
Comece com o nível atual de leitura do aluno, expresso como equivalente à série, e uma lista de livros cujos níveis venham do mesmo sistema de avaliação ou de fontes razoavelmente comparáveis. Cada registro precisa de título e nível numérico. A consistência importa porque editoras diferentes podem estimar a dificuldade do texto de maneiras distintas, mesmo quando ambas exibem um número semelhante a uma série.
A ferramenta não inventa, deduz nem pesquisa níveis; ela avalia os valores fornecidos por você. Por padrão, são aceitos livros desde uma série abaixo até uma série acima do nível do aluno, incluindo os dois limites. A ordem da entrada é mantida, permitindo organizar previamente os títulos por tema, disponibilidade ou preferência.
Livros fora do intervalo calculado são apenas omitidos. Um resultado vazio é válido e indica que a coleção precisa de outros títulos ou de uma faixa maior, e não que o cálculo falhou.
Ajuste apoio e desafio separadamente
Essa assimetria é útil porque uma seleção adequada nem sempre fica centrada em uma única pontuação. Para leitura independente, você pode permitir mais espaço abaixo do nível medido e manter o limite superior próximo. Em uma leitura guiada com apoio de um adulto, o intervalo superior pode ser maior.
O valor zero faz aquele lado coincidir com o nível do aluno. O limite inferior nunca cai abaixo da série zero. Use esses controles como auxiliares de seleção, não como diagnóstico.
Pontuações equivalentes à série resumem aspectos da dificuldade do texto, mas não abrangem conhecimentos prévios, motivação, perfil de decodificação, experiência linguística nem interesses. Depois do filtro, confira conteúdo, objetivo, formato e apoio disponível. A melhor faixa gera escolhas produtivas para a atividade e ainda preserva o julgamento profissional e a voz do aluno.
Interprete e reutilize o resultado
A resposta informa o nível do aluno, os valores mínimo e máximo usados, a quantidade de correspondências e os registros selecionados. Assim, a decisão fica fácil de explicar: todo título retornado tem nível informado maior ou igual ao mínimo e menor ou igual ao máximo. O algoritmo é determinístico, portanto a mesma entrada sempre produz a mesma saída.
Ele também não consulta catálogos externos nem envia a lista para enriquecimento. Esse comportamento atende ferramentas escolares, rotinas de biblioteca e fluxos de dados repetíveis. Salve a faixa junto com a lista gerada quando precisar de um histórico, especialmente se atividades diferentes usarem tolerâncias distintas.
Se o nível de um livro mudar na fonte, atualize o registro e execute novamente. Um título ausente não representa julgamento sobre seu valor literário ou sobre a capacidade do aluno; significa apenas que o número ficou fora do intervalo. A escolha final também deve considerar acessibilidade, idade, objetivos curriculares e interesses.
Casos de uso
Prepare uma estante de leitura independente
Filtre o acervo da sala por uma faixa favorável antes de o aluno escolher temas e formatos.
Planeje uma leitura guiada
Use um limite superior maior quando a orientação e a conversa apoiarem livros um pouco mais desafiadores.
Analise recomendações da biblioteca
Reduza uma lista extensa a candidatos compatíveis com o nível, mantendo a curadoria original.
Perguntas frequentes
Qual faixa é usada por padrão?
São incluídos livros entre uma série abaixo e uma série acima do nível equivalente à série do aluno, com os dois limites incluídos.
A ferramenta pesquisa o nível dos livros?
Não. Ela apenas filtra os títulos e níveis fornecidos na solicitação; nenhuma base externa é consultada.
O que acontece quando nenhum livro está na faixa?
Você pode ajustar a faixa ou enviar outra lista.
A equivalência à série constitui uma recomendação completa?
Não. É uma triagem numérica. Considere também interesse, conteúdo, acessibilidade, experiência linguística, objetivo pedagógico e apoio disponível.
Posso ampliar a faixa só de um lado?
Sim. A distância abaixo e a distância acima do nível do aluno são definidas separadamente, então você pode aceitar livros mais fáceis para a leitura independente sem subir o limite superior. Com distância zero, aquele extremo fica igual ao nível do aluno.
Ferramentas relacionadas
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/reading-level-book-match \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"student_level":4.5,"books":[{"title":"The Wild Robot","reading_level":4.2},{"title":"Charlotte'\''s Web","reading_level":4.4},{"title":"The Giver","reading_level":6.8}]}'const res = await fetch("https://api.kit.forhosting.com/edu/reading-level-book-match", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"student_level": 4.5,
"books": [
{
"title": "The Wild Robot",
"reading_level": 4.2
},
{
"title": "Charlotte's Web",
"reading_level": 4.4
},
{
"title": "The Giver",
"reading_level": 6.8
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/reading-level-book-match",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"student_level": 4.5,
"books": [
{
"title": "The Wild Robot",
"reading_level": 4.2
},
{
"title": "Charlotte's Web",
"reading_level": 4.4
},
{
"title": "The Giver",
"reading_level": 6.8
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/reading-level-book-match", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"student_level":4.5,"books":[{"title":"The Wild Robot","reading_level":4.2},{"title":"Charlotte\'s Web","reading_level":4.4},{"title":"The Giver","reading_level":6.8}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"student_level":4.5,"books":[{"title":"The Wild Robot","reading_level":4.2},{"title":"Charlotte's Web","reading_level":4.4},{"title":"The Giver","reading_level":6.8}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/reading-level-book-match", 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
{
"student_level": 4.5,
"books": [
{
"title": "The Wild Robot",
"reading_level": 4.2
},
{
"title": "Charlotte's Web",
"reading_level": 4.4
},
{
"title": "The Giver",
"reading_level": 6.8
}
]
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.reading_level_book_match",
"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. |
Notas técnicas
Ajuste apoio e desafio separadamente
As distâncias inferior e superior podem ser alteradas de forma independente com range_below e range_above.
Perguntas técnicas
As faixas inferior e superior podem ser diferentes?
Sim. Defina range_below e range_above separadamente conforme o apoio, o objetivo e o desafio da atividade.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. A versão no navegador executa a mesma lógica determinística sem consulta de rede.