[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
?