[S S N
_Push_0][S N
S _Duplicate_0][T N
T T _Read_STDIN_as_integer][T T T _Retrieve_input][T N
S T _Print_as_integer]
বর্ণ S(স্থান), T(ট্যাব) এবং N(নতুন-লাইন) কেবল হাইলাইট হিসাবে যুক্ত করা হয়েছে।
[..._some_action]শুধুমাত্র ব্যাখ্যা হিসাবে যুক্ত।
এটি অনলাইনে চেষ্টা করুন। অনলাইন হোয়াইটস্পেস-সংকলক vii5ard এ কোড চালানোর জন্য আপনাকে কোডটি নিজেই কপি-পেস্ট করতে হবে (নোট করুন যে এসই ট্যাবগুলিকে একগুচ্ছ স্পেসে রূপান্তরিত করে!) রান ক্লিক করার সময়, এটি একটি ইনপুট (অর্থাত্ -285.5) জিজ্ঞাসা করবে এবং এন্টার ক্লিক করার পরে এটি চালিয়ে যাবে এবং আউটপুট হবে -283।
সিউডো-কোডে ব্যাখ্যা:
Integer i = STDIN as integer
Print i as integer
হোয়াইটস্পেস কেবলমাত্র I / O কে পূর্ণসংখ্যা বা একক অক্ষর হিসাবে ব্যবহার করতে পারে, সুতরাং এই ক্ষেত্রে এটি ইনপুটটিকে পূর্ণসংখ্যা হিসাবে পড়তে পারে এবং অন্য কোনও চলমান অক্ষর উপেক্ষা করতে পারে। অর্থাত-283.5 বা -283abc5উভয় ইনপুট (এবং এইভাবে আউটপুট) হিসেবে হবে -283।
দুর্ভাগ্যক্রমে এই উপরের কাজ করে না দুটি কারণে টিআইওতে (সমস্ত সাদা স্থান সংকলক কিছুটা পৃথক ..):
no parseআমরা পূর্ণসংখ্যার হিসাবে কোনও ইনপুট পড়ার চেষ্টা করার সময় এটি একটি ত্রুটি ঘটবে , যা কোনও বৈধ পূর্ণসংখ্য নয়। সুতরাং, পরিবর্তে আমরা একবারে একটি অক্ষর পড়ব এবং এর মুখোমুখি হওয়ার সাথে সাথে (ত্রুটি সহ) থামাব. বা অন্য কোনও ইনপুট (যেমন 50/ -50) না পাওয়ার ।
- Vii5ard সংকলকটিতে 0 দিয়ে কেবল 0 দিয়ে ধাক্কা দেওয়া সম্ভব হয়
SSN, তবে টিআইওতে এটি অতিরিক্ত Sবা T: SSSN/ প্রয়োজন হয় SSTN। প্রথম Sহয় স্ট্যাক ম্যানিপুলেশন সক্ষম ; দ্বিতীয় Sহয় পুশ কি পূর্ণসংখ্যা হিসাবে অনুসরণ করে ; তৃতীয় S/ Tযথাক্রমে ধনাত্মক / নেতিবাচক; এবং যে কোনও S/ এর Tপরে (একটি এর পরে N) হল বাইনারিটিতে আমরা যে নম্বরটি চাপতে চাই সেখানে S=0এবং কোথায় T=1। পূর্ণসংখ্যার 0 এর জন্য এই বাইনারি অংশটি গুরুত্বপূর্ণ নয় কারণ এটি 0 ডিফল্টরূপে। তবে টিআইওতে আমরা এখনও ইতিবাচক / নেতিবাচক এবং vii5ard এর মতো অন্যান্য বেশিরভাগ হোয়াইটস্পেস সংকলকগুলির সাথে নির্দিষ্ট করতে হবে।
[N
S S N
_Create_Label_LOOP][S S S N
_Push_0][S N
S _Duplicate_0][T N
T S _Read_STDIN_as_character][T T T _Retrieve_input][S N
S _Duplicate_input][S S S T S T T T S N
_Push_46_.][T S S T _Subtract][N
T S S N
_If_0_Jump_to_Label_EXIT][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP]
বর্ণ S(স্থান), T(ট্যাব) এবং N(নতুন-লাইন) কেবল হাইলাইট হিসাবে যুক্ত করা হয়েছে।
[..._some_action]শুধুমাত্র ব্যাখ্যা হিসাবে যুক্ত।
এটি অনলাইনে চেষ্টা করুন (কেবলমাত্র কাঁচা জায়গা, ট্যাব এবং নতুন লাইন সহ)।
সিউডো-কোডে ব্যাখ্যা:
Start LOOP:
Character c = STDIN as character
If(c == '.'):
Exit program
Print c as character
Go to the next iteration of LOOP
3.00জন্য3.14?