चुनौती:
किसी दिए गए पाठ में सबसे अधिक इस्तेमाल किए जाने वाले शब्दों के ASCII चार्ट का निर्माण करें।
नियम:
- केवल एक शब्द के भाग के रूप में स्वीकार
a-z
औरA-Z
(अक्षर वर्ण)। - आवरण (
She
==she
हमारे उद्देश्य के लिए) को अनदेखा करें । - निम्नलिखित शब्दों को अनदेखा करें (काफी मध्यस्थता, मुझे पता है):
the, and, of, to, a, i, it, in, or, is
स्पष्टीकरण: पर विचार
don't
: यह 2 विभिन्न श्रेणियों में 'शब्द' के रूप में ले जाया जाएगाa-z
औरA-Z
: (don
औरt
)।वैकल्पिक रूप से (अब विनिर्देशों को औपचारिक रूप से बदलते हुए बहुत देर हो चुकी है) आप सभी एकल-अक्षर 'शब्द' को छोड़ सकते हैं (यह संभवतः अनदेखी सूची को छोटा करने के लिए भी बना सकता है)।
दिए गए पार्स text
(कमांड लाइन आर्ग्युमेंट्स के माध्यम से निर्दिष्ट कोई फ़ाइल पढ़ें या उसमें अनुमान लगाया गया है us-ascii
) और word frequency chart
निम्नलिखित विशेषताओं के साथ हमें बनाएँ :
- 22 सबसे सामान्य शब्दों (अवरोही आवृत्ति द्वारा आदेशित) के लिए चार्ट (नीचे का उदाहरण भी देखें) प्रदर्शित करें।
- बार
width
शब्द के आनुपातिक (आवृत्ति) की संख्या (आनुपातिक) का प्रतिनिधित्व करता है। एक स्थान को जोड़ें और शब्द प्रिंट करें। - सुनिश्चित करें कि ये बार (प्लस स्पेस-वर्ड-स्पेस) हमेशा फिट होते हैं :
bar
+[space]
+word
+[space]
हमेशा होना चाहिए <=80
वर्ण (सुनिश्चित करें कि आप अलग-अलग बार और शब्द की लंबाई के लिए खाते हैं: उदाहरण के लिए: दूसरा सबसे आम शब्द अब बहुत हो सकता है पहले जबकि आवृत्ति में इतना अंतर नहीं)। इन अवरोधों के भीतर बार की चौड़ाई को अधिकतम करें और सलाखों को उचित रूप से मापें (वे प्रतिनिधित्व की आवृत्तियों के अनुसार)।
एक उदाहरण:
उदाहरण के लिए पाठ यहां पाया जा सकता है ( एलिस एडवेंचर्स इन वंडरलैंड, लुईस कैरोल द्वारा )।
यह विशिष्ट पाठ निम्नलिखित चार्ट प्राप्त करेगा:
_________________________________________________________________________ | _________________________________________________________________________ | वह | _______________________________________________________________ | आप | ____________________________________________________________ | कहा हुआ | ____________________________________________________ | ऐलिस | ______________________________________________ | था | __________________________________________ | उस | ___________________________________ | जैसा | _______________________________ | उसके | ____________________________ | साथ में | ____________________________ | पर | ___________________________ | रों | ___________________________ | टी | _________________________ | पर | _________________________ | सब | ______________________ | यह | ______________________ | के लिये | ______________________ | था | _____________________ | परंतु | ____________________ | होना | ____________________ | नहीं | ___________________ | वे | __________________ | इसलिए
आपकी जानकारी के लिए: ये आवृत्तियाँ हैं ऊपर चार्ट बनाया गया है:
[('वह', ५५३), ('आप', ४1१), ('कहा', ४६२), ('ऐलिस', ४०३), ('था', ३५)), ('' ', 330), (' as ', 274), (' her ', 248), (' with ', 227), (' at ', 227), (' s ', 219), (' t ') , 218), ('ऑन', 204), ('ऑल', 200), ('दिस', 181), ('फॉर', 179), ('हैव', 178), (' लेकिन '175), (' हो ', 167), (' नहीं ', 166), (' वे ', 155), (' ऐसा ', 152)]
एक दूसरा उदाहरण (यह जांचने के लिए कि क्या आपने पूरी कल्पना लागू की है):you
लिंक किए गए ऐलिस
की हर घटना को वंडरलैंड फाइल में बदलें superlongstringstring
:
________________________________________________________________ | ________________________________________________________________ | वह | _______________________________________________________ | superlongstringstring | _____________________________________________________ | कहा हुआ | ______________________________________________ | ऐलिस | ________________________________________ | था | _____________________________________ | उस | ______________________________ | जैसा | ___________________________ | उसके | _________________________ | साथ में | _________________________ | पर | ________________________ | रों | ________________________ | टी | ______________________ | पर | _____________________ | सब | ___________________ | यह | ___________________ | के लिये | ___________________ | था | __________________ | परंतु | _________________ | होना | _________________ | नहीं | ________________ | वे | ________________ | इसलिए
विजेता:
सबसे छोटा समाधान (वर्ण गणना के अनुसार, प्रति भाषा)। मज़े करो!
संपादित करें : अब तक के परिणामों को सारांशित करते हुए (2012-02-15) (मूल रूप से उपयोगकर्ता नास बानोव द्वारा जोड़ा गया):
लैंग्वेज रिलैक्स्ड स्ट्रिक्ट ========= ======= ====== गोल्फस्क्रिप्ट 130 143 पर्ल 185 विंडोज पॉवरशेल 148 199 गणितज्ञ 199 रूबी 185 205 यूनिक्स टूलचैन 194 228 अजगर 183 243 क्लोजर 282 स्काला 311 हास्केल 333 अवाक ३३६ आर 298 जावास्क्रिप्ट 304 354 ग्रोवी 321 मतलब 404 सी # 422 स्मालटाक 386 PHP 450 एफ # 452 TSQL 483 507
संख्या एक विशिष्ट भाषा में सबसे छोटे समाधान की लंबाई का प्रतिनिधित्व करती है। "स्ट्रिक्ट" एक ऐसे समाधान को संदर्भित करता है जो कल्पना को पूरी तरह से लागू करता है ( |____|
बार खींचता है, एक ____
पंक्ति के साथ शीर्ष पर पहली पट्टी को बंद करता है , उच्च आवृत्ति आदि के साथ लंबे शब्दों की संभावना के लिए खाता है)। "रिलैक्स्ड" का अर्थ है कि समाधान के लिए कुछ स्वतंत्रताएँ ली गईं।
केवल छोटे समाधान तो 500 वर्ण शामिल हैं। भाषाओं की सूची को 'सख्त' समाधान की लंबाई के अनुसार क्रमबद्ध किया गया है। 'यूनिक्स टूलचिन ’का उपयोग विभिन्न समाधानों को दर्शाने के लिए किया जाता है जो पारंपरिक * निक्स खोल के साथ-साथ औजारों के मिश्रण (जैसे कि जीआरपी, ट्र, सॉर्ट, यूनीक, हेड, पर्ल, ऑक) का उपयोग करते हैं।
s
और t
प्रतिनिधित्व हैं।