পটভূমি
echoপ্রোগ্রাম তাই ঝরঝরে হয়। আপনি এটিকে কিছু বলতে পারেন এবং এটি প্রতিবার আপনার শব্দগুলিকে পুরোপুরি পুনরাবৃত্তি করে! কিভাবে শীতল হয়! হতাশাজনকভাবে, এটি টাইপ করার গতি নির্বিশেষে এটি একবারে ইনপুটটি পুনরাবৃত্তি করে, যা খুব বাস্তববাদী নয়। আমাদের এটি ঠিক করতে হবে।
কাজটি
আপনার প্রোগ্রামটি এসটিডিএন বা নিকটতম সমতুল্য থেকে এর ইনপুট নেবে। এটি ব্যবহারকারীর কাছ থেকে একের পর এক লাইন পড়বে, সম্ভবত কিছু প্রম্পট প্রদর্শিত হবে, যতক্ষণ না তারা খালি লাইন প্রবেশ করে। এরপরে, এটি লাইনগুলি প্রেরণ করা হবে STDOUT বা নিকটতম সমতুল্য, একই ক্রমে যেমন তারা দেওয়া হয়েছিল। শেষ (খালি) লাইনটি প্রিন্ট করা হয়নি, এবং শেষ মুদ্রিত লাইনে ট্রেলিং করা নতুন লাইন থাকা দরকার নেই।
অতিরিক্তভাবে, প্রোগ্রামটি প্রতিটি লাইনের মধ্যবর্তী সময়ের ব্যবধানগুলি সংরক্ষণ করবে: এটি যদি xকোনও লাইনে প্রবেশ করতে ব্যবহারকারীকে কয়েক সেকেন্ড সময় নেয় xতবে প্রোগ্রামটি মুদ্রণ করতে কয়েক সেকেন্ড সময় নিতে হবে। এটি প্রথম এবং শেষ লাইনেও প্রযোজ্য; খালি লাইনটি মুদ্রিত হয় না, তবে প্রোগ্রামটি শেষ হওয়ার আগেই যাই হোক না কেন অপেক্ষা করে।
উদাহরণ
প্রোগ্রামটির সাথে এখানে উদাহরণস্বরূপ একটি সেশন রয়েছে। পাঠ্য উত্পাদন করে না এমন সমস্ত ক্রিয়া বন্ধনীগুলিতে বর্ণিত হয় এবং (alচ্ছিক) প্রম্পট হিসাবে প্রদর্শিত হয় >।
[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, যা ছিল জটিল।