[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 को पूर्णांक या एकल वर्णों के रूप में उपयोग कर सकता है, इसलिए इस मामले में यह पूर्णांक के रूप में इनपुट को पढ़ेगा और किसी अन्य अनुगामी पात्रों को अनदेखा करेगा। Ie -283.5
या -283abc5
दोनों इनपुट (और इस प्रकार आउटपुट) होंगे -283
।
दुर्भाग्य से यह ऊपर दो कारणों से टीआईओ पर काम नहीं करता है (सभी व्हाट्सएप कंपाइलर थोड़ा अलग हैं ..):
no parse
जब हम किसी इनपुट को पूर्णांक के रूप में पढ़ने का प्रयास करते हैं, तो यह एक त्रुटि देगा , जो एक मान्य पूर्णांक नहीं है। इसलिए, इसके बजाय हम एक समय में एक चरित्र को पढ़ेंगे, और जैसे ही हमने सामना किया है (एक त्रुटि के साथ) बंद हो जाएगा .
या कोई और इनपुट नहीं होगा (यानी 50
/ -50
)।
- Vii5ard कंपाइलर में 0 के साथ बस पुश करना भी संभव है
SSN
, जबकि TIO पर इसके लिए अतिरिक्त S
या T
: SSSN
/ की आवश्यकता होती है SSTN
। पहला S
है स्टैक मैनिपुलेशन इनेबल ; दूसरा S
है पुश क्या पूर्णांक के रूप में इस प्रकार है ; तीसरा S
/ T
सकारात्मक / नकारात्मक क्रमशः है; और कोई भी S
/ T
उसके बाद (उसके बाद N
) वह संख्या है जिसे हम बाइनरी में धक्का देना चाहते हैं, कहाँ S=0
और T=1
। पूर्णांक 0 के लिए यह बाइनरी हिस्सा मायने नहीं रखता, क्योंकि यह डिफ़ॉल्ट रूप से 0 है। लेकिन TIO पर हमें अभी भी सकारात्मक / नकारात्मक निर्दिष्ट करना होगा, और अधिकांश अन्य व्हाट्सएप संकलक जैसे vii5ard नहीं।
व्हॉट्सएप ( टीआईओ संकलक के साथ ), 48 बाइट्स
[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
?