Tracks
/
AWK
AWK
/
Ejercicios
/
Índice de legibilidad automatizado
Índice de legibilidad automatizado

Índice de legibilidad automatizado

Intermedia

Instrucciones

A medida que crecemos, podemos entender textos cada vez más complejos. Pero, ¿cómo se evalúa el nivel de complejidad de un texto y cómo podemos hacer programas que lo hagan? En este ejercicio vas a escribir un programa que determine qué tan difícil es de leer un texto y para qué edad es más adecuado.

Usaremos la fórmula del índice de legibilidad automatizado (ARI) para calcular la complejidad de un texto. El ARI se desarrolló en 1967 para evaluar el nivel escolar de Estados Unidos que se necesita para leer un texto. Lo hace midiendo la complejidad de las palabras y las oraciones. La complejidad se mide como caracteres por palabra y palabras por oración. Un valor más alto es más complejo.

Vista previa del texto

Tu programa debe mostrar las primeras tres oraciones del texto, pero con un máximo de 50 caracteres por oración. Si alguna oración supera los 50 caracteres, imprime solo los primeros 50 caracteres seguidos de puntos suspensivos (...). Si el texto contiene más de tres oraciones, imprime solo puntos suspensivos como cuarta línea.

Supón que hay un archivo llamado «ari.txt» con el siguiente contenido (este texto se usará en todos los ejemplos de abajo):

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.

Entonces el programa debe 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.
...

Estadísticas del texto

El programa debe calcular e imprimir el número de caracteres, palabras y oraciones del texto. Las oraciones pueden terminar con un punto, un signo de exclamación o un signo de interrogación. Los espacios en blanco separan las palabras dentro de una oración. Al contar el número de caracteres por palabra, cuenta todos los caracteres que no sean espacios, incluidos los signos de puntuación. Imprime las estadísticas después de la vista previa del texto, dejando una línea vacía de por medio.

Aquí tienes un ejemplo de salida solo de la parte de estadísticas del texto:

Words: 34
Sentences: 5
Characters: 186

Índice de legibilidad automatizado

Con estos datos sobre el texto, podemos calcular su nivel de complejidad con la siguiente fórmula:

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

El programa debe calcular e imprimir la puntuación y la edad aproximada que se necesita para comprender el texto.

Puntuación Edad Grado escolar
1 5-6 Kínder
2 6-7 Primer grado
3 7-8 Segundo grado
4 8-9 Tercer grado
5 9-10 Cuarto grado
6 10-11 Quinto grado
7 11-12 Sexto grado
8 12-13 Séptimo grado
9 13-14 Octavo grado
10 14-15 Noveno grado
11 15-16 Décimo grado
12 16-17 Undécimo grado
13 17-18 Duodécimo grado
14 18-22 Estudiante universitario

La puntuación debe imprimirse con dos dígitos después del punto decimal. Cuando se use para hallar la edad o el grado escolar, la puntuación debe redondearse al número entero más cercano y limitarse a un máximo de 14. Abajo hay un ejemplo de salida del 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 en GitHub El enlace se abre en una ventana o una pestaña nuevas
AWK Exercism

¿Todo listo para empezar Índice de legibilidad automatizado?

Regístrate en Exercism para aprender y dominar AWK con 3 conceptos92 ejercicios y mentoría humana real, todo gratis.