आपके सबसे अच्छे दोस्त मार्ता को हाल ही में अपने सपनों की नौकरी मिली है। उस नौकरी में उन्हें एक स्थानीय इतिहास संग्रहालय के संग्रह के साथ काम करना है। आपको प्रोग्रामिंग में रुचि है, यह जानते हुए वे अपने काम की एक समस्या आपसे साझा करते हैं। यह समस्या कंप्यूटिंग के इतिहास पर होने वाली एक आगामी प्रदर्शनी से जुड़ी है। एक स्थानीय विश्वविद्यालय के गणित विभाग ने ऐतिहासिक प्रिंटआउट के कई डिब्बे दान किए थे। लेकिन दस्तावेज़ों की हालत बहुत खराब थी, इसलिए यह तय किया गया है कि टेक्स्ट को डिजिटल रूप में बदल दिया जाए। लेकिन उस विश्वविद्यालय के पुराने प्रिंटर में टेक्स्ट को दिखाने के कुछ अजीब तरीके थे। डेटा को सफलतापूर्वक निकालने में आपकी मदद आपके दोस्त के बहुत काम आ सकती है।
ऑप्टिकल कैरेक्टर रिकग्निशन या OCR एक ऐसा सॉफ्टवेयर है जो टेक्स्ट की छवियों को मशीन द्वारा पढ़े जा सकने वाले टेक्स्ट में बदल देता है।
कुछ अंकों को दर्शाने वाले अक्षरों का एक ग्रिड दिया गया है। इस ग्रिड को अंकों की स्ट्रिंग में बदलिए।
अगर ग्रिड में सेलों की कई पंक्तियाँ हों, तो आउटपुट में उन पंक्तियों को "," से अलग किया जाना चाहिए।
"|"), अंडरस्कोर ("_") और स्पेस (" ") से बनाया जाता है।"?" आउटपुट करना चाहिए।नीचे दिया गया इनपुट (कमेंट के बिना) "1234567890" में बदल दिया जाता है।
_ _ _ _ _ _ _ _ #
| _| _||_||_ |_ ||_||_|| | # Decimal numbers.
||_ _| | _||_| ||_| _||_| #
# The fourth line is always blank,
नीचे दिया गया इनपुट "123,456,789" में बदल दिया जाता है।
_ _
| _| _|
||_ _|
_ _
|_||_ |_
| _||_|
_ _ _
||_||_|
||_| _|
ग्रिड को नल-टर्मिनेटेड स्ट्रिंग के रूप में दर्शाया जाता है। हर पंक्ति के अंत में एक न्यूलाइन अक्षर होता है।
| रजिस्टर | उपयोग | टाइप | विवरण |
|---|---|---|---|
$a0 |
इनपुट | एड्रेस | नल-टर्मिनेटेड इनपुट स्ट्रिंग |
$a1 |
इनपुट/आउटपुट | एड्रेस | नल-टर्मिनेटेड परिणाम स्ट्रिंग, जो ग्रिड के आयाम अमान्य होने पर खाली रहती है |
$v0 |
आउटपुट | पूर्णांक | ग्रिड की स्थिति (0 = ok, -1 = invalid columns, -2 = invalid rows) |
$t0-9 |
अस्थायी | कोई भी | अस्थायी भंडारण के लिए |
Exercism पर साइन अप कीजिए और MIPS Assembly को 70 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।