कैलकुलेटर से जुड़े कई सवाल हैं; हालाँकि, ऐसा नहीं लगता है कि किसी भी रेखांकन कैलकुलेटर को लागू करना शामिल है।
चुनौती
आपको एक पूरा कार्यक्रम लिखना है जो STDIN से इनपुट के रूप में कई सूत्र लेता है और उन्हें STDOUT में रेखांकन करता है। इनपुट फॉर्म लेंगे f1(x)=x^2-x-1। वहाँ एक हो जाएगा fएक नंबर 0-9 (सम्मिलित) के द्वारा पीछा किया, जिसके बाद (x)=, ग्राफ के लिए सूत्र के द्वारा पीछा किया। आपका प्रोग्राम इनपुट, ग्राफ, अधिक इनपुट, ग्राफ आदि लेने में सक्षम होना चाहिए।
यह कोड गोल्फ है।
आपके ग्राफ़ में प्रत्येक 1/2 यूनिट में कम से कम एक बिंदु के रिज़ॉल्यूशन के साथ -5 से 5 तक एक्स-एक्सिस रेंज होनी चाहिए। Y- अक्ष आवश्यकताएँ समान हैं। यह आधुनिक कैलकुलेटर की तुलना में एक छोटी रेंज की तरह लग सकता है, लेकिन इसे बढ़ाने में यह सबसे अधिक संभावना है। ग्राफ़ +में पूर्णांक के रूप में टिक के निशान के साथ उन पर खींची गई धुरी होनी चाहिए ।
सूत्र को ऑपरेशन के सामान्य आदेश के साथ मूल्यांकन किया जाना चाहिए। इन योगों में कोई ऊर्ध्वाधर असममित / अपरिभाषित क्षेत्र नहीं होंगे। चर हमेशा x होगा। यदि दो सूत्र समान समीकरण संख्या के साथ दर्ज किए जाते हैं, तो सबसे पुराना मिटा दिया जाना चाहिए और नए सूत्र के साथ प्रतिस्थापित किया जाना चाहिए। रिक्त फ़ार्मुलों को शून्य का मूल्यांकन करना चाहिए। चूंकि यह संभावना है कि सूत्र हमेशा 1/2 का अच्छा गुणक नहीं देगा, आप निकटतम 1/2 के लिए गोल होंगे।
जब किसी सूत्र को रेखांकन किया जाता है, तो सूत्र की संख्या से इसकी रेखा बनाई जानी चाहिए। जब कोई रेखा किसी अक्ष को पार करती है, तो अक्ष को शीर्ष पर खींचा जाना चाहिए। जब दो लाइनें एक-दूसरे को पार करती हैं, तो इससे कोई फर्क नहीं पड़ता है जो दिखाया गया है।
उदाहरण इनपुट
f1(x)=x+1
उत्पादन
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
|1
+
1|
+-+-+-+-+-+-+-+-+-+-+
1 |
1 +
1 |
1 +
1 |
1 +
1 |
1 +
|
+
इनपुट
f2(x)=(x^2)^0.25
उत्पादन
+ 1
| 1
+ 1
| 1
+ 1
| 1
2222 + 1 2222
222 |1 222
22 + 22
2|2
+-+-+-+-+-+-+-+-+-+-+
1 |
1 +
1 |
1 +
1 |
1 +
1 |
1 +
|
+
इनपुट
f1(x)=-x
(ध्यान दें, यह आपके प्रोग्राम को इस इनपुट को अस्वीकार करने के लिए स्वीकार्य है और केवल 0-x या x * -1 को छोड़कर, लेकिन इसे प्रलेखित किया जाना चाहिए)
उत्पादन
1 +
1 |
1 +
1 |
1 +
1 |
2222 1 + 2222
2221 | 222
22 + 22
2|2
+-+-+-+-+-+-+-+-+-+-+
|1
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
y*0.5को बदल सकते हैंy/2और निकाल सकते हैं? मैं रूबी को नहीं जानता, इसलिए मैं सही नहीं हो सकता।