Tracks
/
AWK
AWK
/
Übungen
/
Automatischer Lesbarkeitsindex
Automatischer Lesbarkeitsindex

Automatischer Lesbarkeitsindex

Mittel

Anleitung

Je älter wir werden, desto komplexere Texte können wir verstehen. Doch wie wird die Komplexität eines Textes eigentlich bewertet, und wie können wir Programme schreiben, die das tun? In dieser Übung schreibst du ein Programm, das ermittelt, wie schwer ein Text zu lesen ist und für welches Alter er sich am besten eignet.

Zur Berechnung der Textkomplexität verwenden wir die Formel des Automated Readability Index (ARI). Der ARI wurde 1967 entwickelt, um das US-amerikanische Schulniveau zu bestimmen, das man braucht, um einen Text zu lesen. Dazu misst er die Komplexität von Wörtern und Sätzen. Die Komplexität wird als Zeichen pro Wort und Wörter pro Satz gemessen. Ein höherer Wert bedeutet mehr Komplexität.

Textvorschau

Dein Programm soll die ersten drei Sätze des Textes anzeigen, aber höchstens 50 Zeichen pro Satz. Wenn ein Satz mehr als 50 Zeichen hat, gib nur die ersten 50 Zeichen aus, gefolgt von Auslassungspunkten (...). Enthält der Text mehr als drei Sätze, gib als vierte Zeile nur Auslassungspunkte aus.

Angenommen, es gibt eine Datei namens „ari.txt“ mit folgendem Inhalt (dieser Text wird für alle Beispiele weiter unten verwendet):

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.

Dann soll das Programm Folgendes ausgeben:

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

Textstatistik

Das Programm soll die Anzahl der Zeichen, Wörter und Sätze im Text berechnen und ausgeben. Sätze können mit einem Punkt, einem Ausrufezeichen oder einem Fragezeichen enden. Leerzeichen trennen die Wörter in einem Satz. Wenn du die Anzahl der Zeichen pro Wort zählst, zähle alle Zeichen außer Leerzeichen, auch Satzzeichen. Gib die Statistik nach der Textvorschau aus, getrennt durch eine leere Zeile.

Hier ist eine Beispielausgabe nur für den Teil mit der Textstatistik:

Words: 34
Sentences: 5
Characters: 186

Automated Readability Index

Mit diesen Angaben zum Text können wir den Grad seiner Komplexität mit der folgenden Formel berechnen:

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

Das Programm soll den Score und das ungefähre Alter ausgeben, das man braucht, um den Text zu verstehen.

Score Alter Schulstufe
1 5-6 Kindergarten
2 6-7 Erste Klasse
3 7-8 Zweite Klasse
4 8-9 Dritte Klasse
5 9-10 Vierte Klasse
6 10-11 Fünfte Klasse
7 11-12 Sechste Klasse
8 12-13 Siebte Klasse
9 13-14 Achte Klasse
10 14-15 Neunte Klasse
11 15-16 Zehnte Klasse
12 16-17 Elfte Klasse
13 17-18 Zwölfte Klasse
14 18-22 Studierende

Der Score soll mit zwei Nachkommastellen ausgegeben werden. Wenn er verwendet wird, um das Alter oder die Schulstufe zu bestimmen, soll er auf die nächste ganze Zahl gerundet und auf maximal 14 begrenzt werden. Unten siehst du eine Beispielausgabe des Programms:

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.
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
AWK Exercism

Bereit, mit Automatischer Lesbarkeitsindex zu starten?

Melde dich bei Exercism an, um AWK mit 3 Konzepte92 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.