पृष्ठभूमि
echoकार्यक्रम इतना साफ है। आप इसे कुछ भी कह सकते हैं, और यह आपके शब्दों को हर बार, पूरी तरह से दोहराता है! कितना मजेदार था वो! निराशाजनक रूप से, यह आपकी टाइपिंग गति की परवाह किए बिना, एक ही बार में सभी इनपुट को दोहराता है, जो बहुत यथार्थवादी नहीं है। हमें इसे ठीक करना होगा।
काम
आपका कार्यक्रम STDIN या निकटतम समकक्ष से इसका इनपुट लेगा। यह उपयोगकर्ता द्वारा एक-एक करके लाइनें पढ़ सकता है, संभवत: कुछ संकेत दिखा रहा है, जब तक कि वे एक खाली लाइन दर्ज नहीं करते हैं। उसके बाद, यह एसटीडीयूएसटी या निकटतम समतुल्य लाइनों को उसी क्रम में प्रिंट करेगा, जैसा कि उन्हें दिया गया था। अंतिम (खाली) लाइन मुद्रित नहीं है, और अंतिम मुद्रित लाइन के लिए एक अनुगामी न्यूलाइन की आवश्यकता नहीं है।
इसके अतिरिक्त, कार्यक्रम प्रत्येक पंक्ति के बीच समय अंतराल को संरक्षित करेगा: यदि उपयोगकर्ता xको एक पंक्ति में प्रवेश करने में सेकंड लगते हैं, तो xप्रोग्राम को इसे प्रिंट करने के लिए सेकंड लगेगा । यह पहली और आखिरी लाइनों पर भी लागू होता है; खाली लाइन मुद्रित नहीं है, लेकिन कार्यक्रम समाप्त होने से पहले वैसे भी इंतजार करता है।
उदाहरण
यहां कार्यक्रम के साथ एक उदाहरण सत्र है। सभी क्रियाएँ जो पाठ का उत्पादन नहीं करती हैं उन्हें कोष्ठक में वर्णित किया गया है, और (वैकल्पिक) संकेत के रूप में प्रदर्शित किया गया है >।
[begin program]
> fhtagn[enter; 1.48s passed since starting program]
> yum yum[enter; 3.33s passed since previous enter]
> so cool![enter; 2.24s passed since previous enter]
> [enter; 0.23s passed since previous enter]
[wait 1.48s]fhtagn
[wait 3.33s]yum yum
[wait 2.24s]so cool!
[wait 0.23s, then end program]
क्रियाओं के बिना, सत्र इस तरह दिखता है:
> fhtagn
> yum yum
> so cool!
>
fhtagn
yum yum
so cool!
नियम और स्कोरिंग
प्रतीक्षा समय 0.01 सेकंड के भीतर सटीक होना चाहिए (व्यवहार में, यदि औसत मानव अंतर नहीं बता सकता है, तो आप ठीक हैं)। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है। यदि आपकी भाषा में इस कार्य के लिए बिल्ट-इन फ़ंक्शन है, तो आप इसका उपयोग नहीं कर सकते हैं।
yum yum, जो कि बोझिल था।