यदि आप अपने स्कूल के वर्षों को याद करते हैं, तो आप ट्रू टेबल्स के बारे में सीखना याद रख सकते हैं । वे उबाऊ लग रहे थे, लेकिन वे तर्क के लिए आधार हैं और (कुछ बहस करेंगे) सभी कंप्यूटिंग ...
मुसीबत
आपका मिशन, क्या आपको यह स्वीकार करना चाहिए कि यह एक प्रोग्राम, फ़ंक्शन, या कोड के विजेट को लिखना है जो किसी दिए गए ट्रुथ टेबल को इनपुट कर सकता है।
इनपुट
ट्रुथ ट्रुथ (डेटा संरचना की तरह) लॉजिक स्टेटमेंट बनाने के लिए लॉजिक स्टेटमेंट होगा। उदाहरण के लिए:
p ∧ q
इसका मतलब है p and q
(तार्किक संयोजन) और आउटपुट होगा:
p q p ∧ q
T T T
T F F
F T F
F F F
स्पेसिंग को नोटिस करें: कॉलम का आइटम हेडर के केंद्र में है
पात्र
पात्रों के माध्यम से स्कोर, बाइट्स नहीं । तर्क तुलना वर्ण विशेष होते हैं और हमेशा वे जो दिखते हैं वह नहीं। इन वर्णों का उपयोग करें:
तार्किक संयोजन (और): ∧
U + 2227
तार्किक विघटन (OR): ∨
U + 2228
तार्किक नकारात्मक (नहीं) ~
या ¬
U + 7e और U + एसी क्रमशः
बोनस
ये सभी बोनस वैकल्पिक हैं, लेकिन आपके स्कोर को अंक देंगे। कोई भी उठाओ।
तार्किक नकारात्मकता
लॉजिकल नेगेटिव सत्य तालिकाओं में एक अपर संचालक है। यह !
अधिकांश सी-आधारित भाषाओं में बराबर है । यह false
=> true
और वाइस वर्सा बनाता है । यह एक ¬
या ~
(आप दोनों का समर्थन करना चाहिए) के साथ अंकित नहीं है । इसका समर्थन करने से आपके स्कोर का 10% बंद हो जाएगा। हालाँकि, आपको इसके परिणाम दिखाने के लिए एक अतिरिक्त कॉलम जोड़ना होगा: उदाहरण के लिए:
~p ∧ q
उत्पादन होगा:
p ~p q ~p ∧ q
T F T F
T F F F
F T T T
F T F F
सुंदर प्रिंट
सामान्य टेबल नोटेशन उबाऊ है। चलो इसे सुंदर बनाते हैं! सुंदर प्रिंट प्रारूप इस p ∧ q
प्रकार है:
+---+---+-------+
| p | q | p ∧ q |
+---+---+-------+
| T | T | T |
+---+---+-------+
| T | F | F |
+---+---+-------+
| F | T | F |
+---+---+-------+
| F | F | F |
+---+---+-------+
सुंदर मुद्रण के लिए विशेष विवरण:
- प्रत्येक सेल में 1 स्पेस पैडिंग है
- सेल वैल्यू अभी भी केंद्रित हैं
यदि आप अपने कोड से अपने टेबल को सुंदर प्रिंट करते हैं, और फिर 0.6 से गुणा करें। इस बोनस के लिए इस फ़ंक्शन का उपयोग करें:
score = 0.6 * code
उदाहरण
p ∧ q
:
p q p ∧ q
T T T
T F F
F T F
F F F
p ∨ q
:
p q p ∨ q
T T T
T F T
F T T
F F F
~p ∧ q
:
p ~p q ~p ∧ q
T F T F
T F F F
F T T T
F T F F
~p ∨ q
:
p ~p q ~p ∧ q
T F T T
T F F F
F T T T
F T F T
नियम
- मानक खामियां लागू होती हैं
- कोई बाहरी संसाधन नहीं
- यदि आप नियम तोड़ने जा रहे हैं, तो चतुर हो;)
सबसे छोटा कोड (वर्णों में) जीतता है। शुभ लाभ!
score = 0.6 * (code - 15)
=.6 * code - 9
p
q
और r
सत्य तालिका में नहीं देखेंगे ;)
p
औरq
। जब तक उनके पास हमेशा ये नाम नहीं होंगे, आप परीक्षण के उदाहरणों में कुछ अलग विकल्प दिखाना चाह सकते हैं। क्या वे हमेशा एक ही अक्षर हैं?