ट्रैक
/
AWK
AWK
/
अभ्यास
/
स्वचालित पठनीयता सूचकांक
स्वचालित पठनीयता सूचकांक

स्वचालित पठनीयता सूचकांक

मध्यम

निर्देश

जैसे-जैसे हम बड़े होते हैं, हम और ज़्यादा जटिल टेक्स्ट समझ पाते हैं। लेकिन किसी दिए गए टेक्स्ट की जटिलता का स्तर कैसे आँका जाता है, और हम ऐसे प्रोग्राम कैसे बना सकते हैं जो यह काम करें? इस अभ्यास में आप एक ऐसा प्रोग्राम लिखेंगे जो बताएगा कि कोई टेक्स्ट पढ़ने में कितना कठिन है और वह किस उम्र के लिए सबसे उपयुक्त है।

टेक्स्ट की जटिलता निकालने के लिए हम स्वचालित पठनीयता सूचकांक (ARI) सूत्र का उपयोग करेंगे। ARI को 1967 में इस उद्देश्य से विकसित किया गया था कि किसी टेक्स्ट को पढ़ने के लिए ज़रूरी अमेरिकी ग्रेड लेवल का आकलन किया जा सके। इसके लिए यह शब्दों और वाक्यों की जटिलता मापता है। जटिलता को प्रति शब्द अक्षरों और प्रति वाक्य शब्दों के रूप में मापा जाता है। वैल्यू जितनी ज़्यादा होती है, जटिलता उतनी ही ज़्यादा होती है।

टेक्स्ट का पूर्वावलोकन

आपके प्रोग्राम को टेक्स्ट के पहले तीन वाक्य प्रदर्शित करने चाहिए, लेकिन हर वाक्य 50 अक्षरों से ज़्यादा नहीं होना चाहिए। अगर कोई वाक्य 50 अक्षरों से लंबा है, तो सिर्फ पहले 50 अक्षर छापिए और उनके बाद एक एलिप्सिस (...) लगाइए। अगर टेक्स्ट में तीन से ज़्यादा वाक्य हैं, तो चौथी पंक्ति के रूप में सिर्फ एक एलिप्सिस दीजिए।

मान लीजिए कि "ari.txt" नाम की एक फाइल है जिसकी सामग्री यह है (नीचे दिए गए सभी उदाहरणों में यही टेक्स्ट इस्तेमाल होगा):

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.

तब प्रोग्राम को यह छापना चाहिए:

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 = 4.71 * chars / words + 0.5 * words / sentences - 21.43

प्रोग्राम को स्कोर निकालकर छापना चाहिए और यह भी बताना चाहिए कि टेक्स्ट को समझने के लिए लगभग कितनी उम्र ज़रूरी है।

स्कोर उम्र ग्रेड लेवल
1 5-6 Kindergarten
2 6-7 First Grade
3 7-8 Second Grade
4 8-9 Third Grade
5 9-10 Fourth Grade
6 10-11 Fifth Grade
7 11-12 Sixth Grade
8 12-13 Seventh Grade
9 13-14 Eighth Grade
10 14-15 Ninth Grade
11 15-16 Tenth Grade
12 16-17 Eleventh Grade
13 17-18 Twelfth Grade
14 18-22 College student

स्कोर को दशमलव बिंदु के बाद दो सार्थक अंकों के साथ छापना चाहिए। जब स्कोर का उपयोग उम्र या ग्रेड लेवल निकालने के लिए किया जाए, तो उसे निकटतम पूर्ण संख्या तक पूर्णांकित करना चाहिए और 14 पर सीमित रखना चाहिए। नीचे प्रोग्राम का एक नमूना आउटपुट दिया गया है:

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.
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
AWK Exercism

स्वचालित पठनीयता सूचकांक शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और AWK को 3 कॉन्सेप्ट92 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।