आपके सबसे अच्छे दोस्त मार्ता को हाल ही में अपने सपनों की नौकरी मिली है। उस नौकरी में उन्हें एक स्थानीय इतिहास संग्रहालय के संग्रह के साथ काम करना है। आपको प्रोग्रामिंग में रुचि है, यह जानते हुए वे अपने काम की एक समस्या आपसे साझा करते हैं। यह समस्या कंप्यूटिंग के इतिहास पर होने वाली एक आगामी प्रदर्शनी से जुड़ी है। एक स्थानीय विश्वविद्यालय के गणित विभाग ने ऐतिहासिक प्रिंटआउट के कई डिब्बे दान किए थे। लेकिन दस्तावेज़ों की हालत बहुत खराब थी, इसलिए यह तय किया गया है कि टेक्स्ट को डिजिटल रूप में बदल दिया जाए। लेकिन उस विश्वविद्यालय के पुराने प्रिंटर में टेक्स्ट को दिखाने के कुछ अजीब तरीके थे। डेटा को सफलतापूर्वक निकालने में आपकी मदद आपके दोस्त के बहुत काम आ सकती है।
ऑप्टिकल कैरेक्टर रिकग्निशन या OCR एक ऐसा सॉफ्टवेयर है जो टेक्स्ट की छवियों को मशीन द्वारा पढ़े जा सकने वाले टेक्स्ट में बदल देता है।
कुछ अंकों को दर्शाने वाले अक्षरों का एक ग्रिड दिया गया है। इस ग्रिड को अंकों की स्ट्रिंग में बदलिए।
अगर ग्रिड में सेलों की कई पंक्तियाँ हों, तो आउटपुट में उन पंक्तियों को "," से अलग किया जाना चाहिए।
"|"), अंडरस्कोर ("_") और स्पेस (" ") से बनाया जाता है।"?" आउटपुट करना चाहिए।नीचे दिया गया इनपुट (कमेंट के बिना) "1234567890" में बदल दिया जाता है।
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # Decimal numbers.
||_ _| | _||_| ||_| _||_| #
# The fourth line is always blank,
नीचे दिया गया इनपुट "123,456,789" में बदल दिया जाता है।
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
निर्देशों के चरण 1 में बताए अनुसार recognizeDigit नाम का एक फंक्शन बनाइए, लेकिन इसे 0 से 9 तक के सभी दस अंक पहचानने वाला बनाइए। पैरामीटर और रिटर्न वैल्यू के लिए जो चाहें चुन लीजिए, लेकिन इसे चरण 2 के सबरूटीन की तरह काम का बनाइए।
चरण 2 के लिए यह बनाइए,
func Recognize(string) []string
और इसे recognizeDigit का उपयोग करके लागू कीजिए।
यहाँ जाँची जाने वाली इनपुट स्ट्रिंग में हर लाइन की शुरुआत में एक \n होता है, और अंतिम लाइन के अंत में कोई \n नहीं होता। (इससे रॉ स्ट्रिंग लिटरल पढ़ने में आसान रहते हैं।)
बोनस अंक पाने के लिए गलत फॉर्मैट वाले डेटा को भी सहजता से संभालिए।
अधूरा सेल मिले तो क्या करें?
उसे छोड़ दें?
खाली जगहों से भर दें?
उसे "?" अक्षर के साथ बताएँ?
अगर पहला अक्षर \n न हो तो क्या करें?
Exercism पर साइन अप कीजिए और Go को 34 कॉन्सेप्ट165 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।