Kurzusok
/
AWK
AWK
/
Feladatok
/
Automatikus olvashatósági index
Automatikus olvashatósági index

Automatikus olvashatósági index

Közepes

Utasítások

Ahogy felnövünk, egyre összetettebb szövegeket is megértünk. De hogyan állapítható meg egy adott szöveg összetettségének szintje, és hogyan írhatunk olyan programokat, amelyek ezt elvégzik? Ebben a feladatban olyan programot írsz, amely meghatározza, mennyire nehéz elolvasni egy szöveget, és milyen életkornak felel meg leginkább.

A szöveg összetettségének kiszámításához az Automated readability index (ARI) képletet használjuk. Az ARI-t 1967-ben dolgozták ki, hogy felmérjék, milyen amerikai iskolai évfolyam szükséges egy szöveg elolvasásához. Ezt a szavak és a mondatok összetettségének mérésével teszi. Az összetettséget a szavankénti karakterek és a mondatonkénti szavak számával méri. A nagyobb érték nagyobb összetettséget jelent.

Szöveg előnézete

A programnak a szöveg első három mondatát kell megjelenítenie, de mondatonként legfeljebb 50 karaktert. Ha egy mondat meghaladja az 50 karaktert, csak az első 50 karaktert írd ki, utána pedig egy három pontot (...). Ha a szöveg háromnál több mondatot tartalmaz, negyedik sorként csak egy három pontot írj ki.

Tegyük fel, hogy van egy „ari.txt” nevű fájl a következő tartalommal (ezt a szöveget használjuk az összes alábbi példához):

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.

Ekkor a programnak ezt kell kiírnia:

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.
...

Szövegstatisztika

A programnak ki kell számítania és ki kell írnia a szöveg karaktereinek, szavainak és mondatainak számát. A mondatok ponttal, felkiáltójellel vagy kérdőjellel végződhetnek. A szavakat a mondatban szóközök választják el. Amikor a szavankénti karakterek számát megszámolod, minden nem üres karaktert számolj bele, az írásjeleket is. A statisztikákat a szöveg előnézete után írd ki, egy üres sorral elválasztva.

Íme egy példa kimenet, csak a szövegstatisztika részhez:

Words: 34
Sentences: 5
Characters: 186

Az Automated readability index

A szövegről szerzett adatok birtokában a következő képlettel számíthatjuk ki az összetettségének szintjét:

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

A programnak ki kell számítania és ki kell írnia a pontszámot és a szöveg megértéséhez szükséges hozzávetőleges életkort.

Pontszám Életkor Iskolai évfolyam
1 5-6 Óvoda
2 6-7 Első osztály
3 7-8 Második osztály
4 8-9 Harmadik osztály
5 9-10 Negyedik osztály
6 10-11 Ötödik osztály
7 11-12 Hatodik osztály
8 12-13 Hetedik osztály
9 13-14 Nyolcadik osztály
10 14-15 Kilencedik osztály
11 15-16 Tizedik osztály
12 16-17 Tizenegyedik osztály
13 17-18 Tizenkettedik osztály
14 18-22 Egyetemista

A pontszámot két tizedesjegy pontossággal kell kiírni. Amikor az életkor vagy az iskolai évfolyam meghatározásához használjuk, a pontszámot a legközelebbi egész számra kell kerekíteni, és legfeljebb 14 lehet. Íme egy példa a program kimenetére:

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.
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
AWK Exercism

Készen állsz elkezdeni a(z) Automatikus olvashatósági index feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) AWK nyelvet 3 fogalom92 feladat segítségével, valódi emberi mentorálással, mindez ingyen.