Trilhas
/
AWK
AWK
/
Exercícios
/
Índice de legibilidade automatizado
Índice de legibilidade automatizado

Índice de legibilidade automatizado

Médio

Instruções

Conforme crescemos, conseguimos entender textos cada vez mais complexos. Mas como se avalia o nível de complexidade de um texto, e como podemos criar programas que façam isso? Neste exercício, você vai escrever um programa que determina o quão difícil um texto é de ler e para qual idade ele é mais adequado.

Vamos usar a fórmula do índice de legibilidade automatizado (ARI) para calcular a complexidade de um texto. O ARI foi desenvolvido em 1967 para avaliar o nível escolar (nos Estados Unidos) necessário para ler um trecho de texto. Ele faz isso medindo a complexidade das palavras e das frases. A complexidade é medida em caracteres por palavra e palavras por frase. Um valor mais alto significa mais complexidade.

Prévia do texto

Seu programa deve mostrar as três primeiras frases do texto, mas não mais que 50 caracteres de cada frase. Se alguma frase passar de 50 caracteres, imprima apenas os primeiros 50 caracteres seguidos de reticências (...). Se o texto tiver mais de três frases, imprima apenas as reticências como quarta linha.

Suponha que exista um arquivo chamado "ari.txt" com o seguinte conteúdo (este texto será usado em todos os exemplos abaixo):

ARI was designed for military use in 1967. It was for real-time monitoring of readability on typewriters. It offered an automated counting method. It has similar results to other frameworks. This validates its accuracy.

Então o programa deve imprimir:

The text is:
ARI was designed for military use in 1967.
It was for real-time monitoring of readability on ...
It offered an automated counting method.
...

Estatísticas do texto

O programa deve calcular e imprimir o número de caracteres, palavras e frases do texto. As frases podem terminar com ponto final, ponto de exclamação ou ponto de interrogação. Os espaços em branco separam as palavras em uma frase. Ao contar o número de caracteres por palavra, conte todos os caracteres que não sejam espaço em branco, incluindo os sinais de pontuação. Imprima as estatísticas depois da prévia do texto, separadas por uma linha em branco.

Veja um exemplo de saída apenas para a parte das estatísticas do texto:

Words: 34
Sentences: 5
Characters: 186

Índice de legibilidade automatizado

Com esses dados sobre o texto, podemos calcular o nível de complexidade dele usando a seguinte fórmula:

score = 4.71 * chars / words + 0.5 * words / sentences - 21.43

O programa deve calcular e imprimir a pontuação e a idade aproximada necessária para compreender o texto.

Score Age Grade Level
1 5-6 Jardim de infância
2 6-7 1º ano
3 7-8 2º ano
4 8-9 3º ano
5 9-10 4º ano
6 10-11 5º ano
7 11-12 6º ano
8 12-13 7º ano
9 13-14 8º ano
10 14-15 9º ano
11 15-16 10º ano
12 16-17 11º ano
13 17-18 12º ano
14 18-22 Estudante universitário

A pontuação deve ser impressa com duas casas decimais. Ao ser usada para encontrar a idade ou o nível escolar, a pontuação deve ser arredondada para o número inteiro mais próximo e limitada a 14. Veja abaixo um exemplo de saída do programa:

The text is:
ARI was designed for military use in 1967.
It was for real-time monitoring of readability on ...
It offered an automated counting method.
...

Words: 34
Sentences: 5
Characters: 186
Score: 7.74
This text should be understood by 12-13 year-olds.
Editar via GitHub O link abre em uma nova janela ou aba
AWK Exercism

Tudo pronto para começar Índice de legibilidade automatizado?

Crie sua conta no Exercism para aprender e dominar AWK com 3 conceitos92 exercícios e mentoria humana de verdade, tudo de graça.