तार्किक संचालन क्या हैं। माइक्रोकंट्रोलर और तर्क संचालन। तार्किक संचालन और उनका अनुप्रयोग

पोस्ट का वीडियो संस्करण:

आइए विकिपीडिया में परिभाषा के साथ शुरू करें - प्रोग्रामिंग में एक तार्किक ऑपरेशन, यह एक तार्किक (बूलियन) प्रकार के भावों पर एक ऑपरेशन है, जो तर्क के बीजगणित में बयानों पर कुछ ऑपरेशन के अनुरूप है। पहली नज़र में, कुछ भी स्पष्ट नहीं है, आइए एक तार्किक या बूलियन प्रकार के साथ-साथ तर्क के बीजगणित पर करीब से नज़र डालें।

संख्यात्मक चर विभिन्न संख्याओं की एक श्रृंखला को संग्रहीत कर सकते हैं। बूलियन केवल दो मानों को संग्रहीत कर सकते हैं, जिन्हें हां या नहीं, सही या गलत, 1 के रूप में दर्शाया गया है या स्पष्ट रूप से हम उनकी सीमित सीमा के कारण गणना करने के लिए कभी भी बूलियन ऑपरेशन का उपयोग नहीं करते हैं। हम स्थितियों का मूल्यांकन करने के लिए बूलियन मानों का उपयोग करते हैं।

तार्किक ऑपरेटर मूल रूप से बूलियन पर काम करते हैं और वे वास्तव में बहुत तार्किक हैं। जैसा कि आपको याद है, बूलियन के केवल दो मान हो सकते हैं। बूलियन गणित जॉर्ज बुल द्वारा विकसित किया गया था और आज वे पूरे डिजिटल उद्योग के केंद्र में हैं। बूलियन बीजगणित हमें डेटासेट का विश्लेषण, तुलना और वर्णन करने के लिए उपकरण प्रदान करता है। हालांकि बूले ने मूल रूप से छह बूलियन ऑपरेटरों को परिभाषित किया था, हम उनमें से केवल तीन पर चर्चा करेंगे।

वाक्यांश तार्किक (उर्फ बूलियन) अभिव्यक्ति प्रकार का अर्थ है कि यह अभिव्यक्ति केवल दो मान ले सकती है - झूठा या सत्य, 0 या 1. यदि हम एक चर को इंगित करते हैं कि यह प्रकार बूल (बूलियन) है, तो, जो कुछ भी हो सकता है कहें, जिसे वह अपने साथ ले जा सकता है या तो 0 या 1 होगा। याद रखें, पिछले मुद्दों में हमने सच्चाई या झूठ के आधार पर स्थितियां बनाई थीं, जिनमें से कुछ क्रियाएं हुईं - बस तब हम पहले से ही बूलियन अभिव्यक्तियों के साथ काम कर रहे थे।

इसके बजाय, यह केवल दाईं ओर वाले को उलट देता है। यदि ब्लॉक परिभाषा मौजूद नहीं है, तो हम उपयोगकर्ता को सूचित करना चाहते हैं और निरस्त करना चाहते हैं। और, और शायद दोनों पक्षों के दो तर्क लें। जैसा कि आप देख सकते हैं, तार्किक ऑपरेटरों के साथ समस्या सिद्धांत नहीं है, ऐसा तब होता है जब आपको किसी चीज़ का मूल्यांकन करने के लिए उनमें से बहुत से की आवश्यकता होती है। उन्हें जल्दी से एक साथ घुमाने से भ्रमित करने वाला कोड बन जाता है; ऑपरेटर वरीयता मुद्दों का उल्लेख नहीं करना।

तर्क का बीजगणित। बूलियन संचालन

अपने बूलियन तर्क को लागू करने का एक अच्छा तरीका वेन आरेखों का उपयोग करना है। एक वेन आरेख बूलियन सेट का एक ग्राफिकल प्रतिनिधित्व है, जहां प्रत्येक क्षेत्र में मूल्यों का एक सेट होता है जो एक सामान्य संपत्ति साझा करता है। इनमें से सबसे प्रसिद्ध 3डी चार्ट है।

तो, ऐसा लगता है कि अब परिभाषा की पहली पंक्ति अधिक समझ में आ रही है - एक तार्किक ऑपरेशन, यह एक तार्किक (बूलियन) प्रकार के भावों पर एक ऑपरेशन है। अब दूसरे भाग के साथ तर्क के बीजगणित के संचालन के बारे में।

आप में से प्रत्येक को स्कूल में गणित का पाठ याद है, जहाँ हमने अपने लिए सामान्य तरीके से संख्याओं के साथ काम किया था, दशमलव प्रणालीकलन - यानी 0 से 9 तक की संख्या के साथ। लेकिन तर्क की दुनिया, अगर मैं ऐसा कह सकता हूं, तो हमारे से अलग है, क्योंकि सभी मूल्यों में केवल दो राज्य हैं - 0 या 1, इसलिए विशेष गणित की आवश्यकता है तार्किक अभिव्यक्तियों के साथ काम करने के लिए। इस गणित को तर्क का बीजगणित कहा जाता है।

तुलना और तार्किक ऑपरेटर

क्षेत्रों को रंगकर, हम कोड में बूलियन मूल्यांकन की नकल कर सकते हैं। सूत्र संवाद बॉक्स में निम्नलिखित अंकगणित शामिल हैं और सामान्य संचालक. फॉर्मूला डायलॉग बॉक्स में निम्नलिखित तुलना और तार्किक ऑपरेटर शामिल हैं। यदि तुलना या बूलियन परीक्षण सत्य है, तो परिणाम हैं: यदि तुलना या बूलियन परीक्षण गलत है, तो परिणाम है।

इस वर्कशीट में डेटा की एक लाइन होती है। आप मॉड्यूल 1 में क्या सीखेंगे। अगर कोई चीज़ 1 नहीं है, तो उसे 0 होना चाहिए, अगर वह चालू नहीं है, तो उसे बंद कर देना चाहिए। एक लॉजिक गेट एक छोटा ट्रांजिस्टर सर्किट है, जो मूल रूप से एक प्रकार का एम्पलीफायर है, जिसे एक एकीकृत सर्किट में विभिन्न रूपों में लागू किया जाता है। प्रत्येक गेट प्रकार में एक या अधिक प्रवेश द्वार और एक निकास होता है।

इस बीजगणित में तीन बुनियादी संक्रियाएँ हैं - योग, गुणातथा नकार, किसी भी तार्किक कार्यों को लागू करने की अनुमति देता है। आइए माइक्रोकंट्रोलर के उदाहरण देखें, जहां हमें इनमें से प्रत्येक ऑपरेशन की आवश्यकता हो सकती है।

संचालन अतिरिक्त, वह एक ऑपरेशन है वियोजनया तार्किक या. आप में से कई लोगों को याद है कि पिछले अंक में, साइकिल और शर्तों का अध्ययन करते समय, हमने बसों और स्टॉप के साथ उदाहरण लिया था, आइए इस उदाहरण को फिर से देखें - आपने शायद देखा कि अपेक्षाकृत नई बसों में, पूरे केबिन में स्टॉप अनुरोध बटन वितरित किए जाते हैं। जब यह बटन दबाया जाता है, तो डैशबोर्ड पर ड्राइवर रोशनी करता है और स्टॉप सिग्नल लगता है।

संचालन का सिद्धांत यह है कि सर्किट केवल दो वोल्टेज स्तरों पर संचालित होता है, जिसे तर्क 0 और तर्क कहा जाता है। जब इनमें से कोई भी वोल्टेज स्तर इनपुट पर लागू होता है, तो गेट आउटपुट विशिष्ट गेट लॉजिक के आधार पर 1 या 0 के स्तर को मानकर प्रतिक्रिया करता है। प्रत्येक प्रकार के गेट के लिए तार्किक नियमों को एक क्रिया, एक सत्य तालिका, या एक बूलियन बीजगणित ऑपरेटर के लिखित विवरण के माध्यम से अलग तरह से वर्णित किया जा सकता है।

तार्किक संचालन और उनका अनुप्रयोग

सर्किट में विभिन्न बिंदुओं को संदर्भित करने के अलावा, अक्षरों का अपने आप में कोई अर्थ नहीं है। तब अक्षरों को एक प्रतीक द्वारा जोड़ा जाता है जो गेट की तार्किक क्रिया को दर्शाता है। यद्यपि प्रतीक समान होते हैं जो सामान्य बीजगणित में क्रमशः उत्पाद और योग का प्रतिनिधित्व करने के लिए उपयोग किए जाते हैं, द्विआधारी तर्क में प्रतीक बिल्कुल योग के अनुरूप नहीं होता है।

आइए Arduino पर एक ही प्रणाली को लागू करने का प्रयास करें - उदाहरण के लिए, तीन बटन लें और उन्हें माइक्रोकंट्रोलर से कनेक्ट करें, साथ ही सर्किट में एक एलईडी जोड़ें और, यदि उपलब्ध हो, तो एक पीजो डिटेक्टर।



ऐसी प्रणाली का संचालन एल्गोरिथ्म काफी सरल है और जैसा कि हमने एक बटन और एक एलईडी के लिए लिखा था, लेकिन इस मामले में एक समस्या है - हमारे पास एक बटन नहीं है जिसके लिए आप एक शर्त लिख सकते हैं, लेकिन तीन। और जब आप किसी भी बटन को दबाते हैं, तो हमें एक संकेत देना चाहिए और एलईडी प्रकाश करना चाहिए। क्या करें? बेशक, आप प्रत्येक बटन को नियंत्रित करने के लिए तीन अलग-अलग शर्तें लिख सकते हैं, लेकिन इस मामले में कोड अव्यवस्थित दिखता है और बटनों की संख्या में वृद्धि के साथ बहुत असुविधाजनक हो जाता है।

चावल। 2 बूलियन फ़ंक्शन एनिमेशन

चित्रा 1 बुनियादी लॉजिक गेट्स का चयन दिखाता है जो मानक एकीकृत सर्किट परिवारों में कई निर्माताओं से उपलब्ध हैं। चित्रा 2 में, आप अपने लिए बुनियादी तर्क द्वार की जांच कर सकते हैं। दिए गए सत्य तालिकाओं के साथ आपके द्वारा देखे जाने वाले परिणामों की तुलना करके प्रत्येक गेट के संचालन के साथ खुद को परिचित करने के लिए एनीमेशन का उपयोग करें। अधिक जटिल को आसानी से समझने के लिए डिजिटल सर्किटकिसी भी संभावित इनपुट के लिए प्रत्येक गेट से अपेक्षित आउटपुट की एक अच्छी मानसिक तस्वीर विकसित करना महत्वपूर्ण है।

यहां, तार्किक संचालन हमारी सहायता के लिए आते हैं, जिससे हम पहले की तरह एकल शर्तों की रचना नहीं कर सकते हैं, बल्कि लचीली और सुविधाजनक संयुक्त स्थितियां बना सकते हैं।

हमारे कार्य में, पहला ट्रिगर ट्रिगर होने पर हमें अधिसूचना सक्षम करने की आवश्यकता होती है। यादूसरा यातीसरा बटन और, यदि आपको याद हो, अतिरिक्त ऑपरेशन कहा जाता था - तार्किक OR.

हालाँकि, कुछ गेट प्रकार भी उपलब्ध हैं बड़ी मात्राइनपुट इन द्वारों के लिए, सभी संभावित इनपुट स्थितियों को शामिल करने के लिए सत्य तालिकाओं का विस्तार करने की आवश्यकता है। सबसे अच्छा समाधानकिसी भी आवश्यक तार्किक संचालन को करने के लिए केवल एक प्रकार का गेट हो सकता है।

ऐसे रूपांतरणों का कारण आमतौर पर इसके लायक होता है। इलेक्ट्रॉनिक्स में बाइनरी को इतना उपयोगी बनाने वाली चीजों में से एक यह है कि यह तार्किक संचालन नामक विशेष संचालन को संभालने में बहुत कुशल है। बूलियन संचालनदो बाइनरी बिट्स की तुलना करना और परिणामस्वरूप तीसरे बाइनरी बिट को आउटपुट करना। 16 संभावित तार्किक संचालन हैं।

चलो तीन बनाते हैं चर टाइप करेंबूलियन, जिसमें हम प्रत्येक बटन से रीड सिग्नल को स्टोर करेंगे, और इन वेरिएबल्स को एक कंडीशन में लॉजिकल या उनके बीच में जोड़ देंगे। यह ऑपरेशन दो लंबवत रेखाओं के रूप में लिखा गया है और, इसके कार्य के तर्क को समझने के लिए, आइए तथाकथित सत्य तालिका पर एक नज़र डालें, जो उस ऑपरेंड को इंगित करती है जिस पर ऑपरेशन किया जाता है।

निम्नलिखित सूची इन तीन बुनियादी तार्किक संक्रियाओं को प्रस्तुत करती है। यदि उनमें से बिल्कुल 1 है, तो परिणाम यह है कि यदि दोनों मान 0 हैं या दोनों मान 1 हैं, तो परिणाम समान है। आप लॉजिकल ऑपरेशंस को लागू कर सकते हैं द्विआधारी संख्या, जिसमें एक से अधिक बाइनरी अंक होते हैं, जो एक बार में एक बिट ऑपरेशन को लागू करते हैं। हाथ से ऐसा करने का सबसे आसान तरीका दो बाइनरी नंबरों को एक दूसरे के ऊपर संरेखित करना है और फिर प्रत्येक बाइनरी अंक के तहत ऑपरेशन का परिणाम लिखना है।

ऑपरेटर हर भाषा में समान भूमिका निभाते हैं: वे गणितीय, तार्किक या अन्य संदर्भ प्रदान करते हैं। दरअसल, यह कोई विरोधाभास नहीं है। ये कोच स्नोफ्लेक जैसी वस्तुएं हैं जिनमें ये गुण हैं। वे इतने दिलचस्प हैं कि इस संपत्ति का प्रमाण इतना आसान है। प्रत्येक पक्ष की एक ही संरचना है और इसलिए एक ही डिजाइन है।

पहले दो कॉलम संभावित इनपुट मान हैं - उदाहरण के लिए, यदि हमारे पास दो बटन थे और हम उनके बीच अलग हो गए थे। जैसा कि आप देख सकते हैं, 00 के संयोजन के साथ, तार्किक जोड़ का परिणाम भी 0 होगा। लेकिन अगला संयोजन - 0 या 1 पहले से ही शेष संयोजनों की तरह, आउटपुट पर एक तार्किक इकाई देता है। निचला रेखा 11 भी 1 लौटाएगा क्योंकि हम दो सकारात्मक मूल्यों की तुलना कर रहे हैं।

यह प्रक्रिया वृत्त के प्रत्येक सीधे भाग पर प्रत्येक बाद की पीढ़ी में दोहराई जाती है। प्रमाण अब बहुत सरल है। लंबाई के सभी पक्षों को जोड़कर एक वृत्त परिभाषित किया गया है। भग्न में स्पष्ट रूप से ऐसी विशेषताएं होती हैं जो सामान्य वस्तुओं से बहुत भिन्न होती हैं। गणित का यह क्षेत्र अभी बहुत छोटा है, और अन्य विज्ञानों पर प्रभाव का अनुमान लगाना मुश्किल है। निम्नलिखित खंडों में, "आत्म-समानता" उन क्षेत्रों में दिखाई जाएगी जो अभी तक गहन शोध का विषय नहीं हैं क्योंकि वे बहुत सरल लगते हैं।

घूर्णन चुंबकीय क्षेत्र में बूंदें तार्किक संचालन करती हैं

हालाँकि, कुछ विचारों और परिस्थितियों पर पहले से संक्षेप में विचार करने की आवश्यकता है। ड्रॉप गणना: तार्किक संचालन के लिए, इस कंप्यूटर को केवल पानी की बूंदों, कुछ लोहे की छड़ और एक चुंबकीय क्षेत्र की आवश्यकता होती है। ऐसा करने के लिए, बिट्स विद्युत संकेतों से नहीं, बल्कि बूंदों से बने होते हैं। अब वे दुनिया भर के पुरातत्वविदों को ऐसे बाहरी कंप्यूटर बनाने और विकसित करने के लिए आमंत्रित कर रहे हैं।

नतीजतन, हम यह निष्कर्ष निकाल सकते हैं कि तार्किक संचालन या एक परिणाम उत्पन्न करेगा यदि इसके किसी भी इनपुट में कम से कम एक इकाई दिखाई देती है। हमारे सिस्टम के लिए, हम तीन कॉलम की एक तालिका बना सकते हैं और सभी संभावित बटन प्रेस पर पुनरावृति कर सकते हैं, तर्क वही रहता है - यदि कम से कम एक इकाई है, तो उत्तर एक के बराबर होगा।

शोधकर्ता बताते हैं कि पानी की बूंदों से बना कंप्यूटर - यह कैसे काम करता है। यह एक सामान्य स्थिति है: अधिकांश कंप्यूटर शून्य और डिजिटल कोड वर्णों को विद्युत संकेतों के रूप में संसाधित करते हैं - चाहे करंट प्रवाहित हो या नहीं। पहले प्रयासों में, प्रकाश के स्पंदन इस कार्य को संभाल लेते हैं, और पहले से ही बिट्स हैं।

बूंदें, चुंबकीय क्षेत्र और लोहे की भूलभुलैया

लेकिन आप कंप्यूटर कैसे बना सकते हैं? प्रकाश और उनके सहयोगी पानी की बूंदों का उपयोग करते हैं जिनमें लोहे की छोटी छड़ें होती हैं। इस प्रकार चुम्बकित, चुंबकीय क्षेत्रों को बदलकर इन बूंदों की गति को नियंत्रित किया जा सकता है। इस प्रकार, बूँदें वास्तव में पारंपरिक सर्किट में इलेक्ट्रॉनों के कार्य करती हैं। इस योजना में एक भूलभुलैया के रूप में व्यवस्थित एक छोटी सी भूलभुलैया शामिल है।





आशा, पाश के लिए, स्थिति के शरीर में स्थित, अब के बाद आपको समझने में कोई कठिनाई नहीं होती है। जैसा कि आप देख सकते हैं, जब आप किसी भी बटन पर क्लिक करते हैं, तो कंडीशन सही हो जाती है और कंडीशन के बॉडी में लिखे गए लूप के लिए एक्जीक्यूट हो जाता है।

सभी तार्किक संबंध संभव हैं

इस प्रकार, एक छोटी बूंद कंप्यूटर एक पारंपरिक इलेक्ट्रॉनिक कंप्यूटर के समान तार्किक संचालन कर सकता है, भले ही वह बहुत धीमी गति से हो। इसके अलावा एक योजक जो बूंदों को गिनता है, इस सरल प्रणाली के साथ बनाया जाता है। "हमारी प्रणाली दोनों संयोजन और अनुक्रमिक तर्क प्रदर्शित करती है, जो भौतिक तर्क और भंडारण के एक अद्वितीय रूप की अनुमति देती है, " शोधकर्ताओं का कहना है।

संभावित अनुप्रयोग, उदाहरण के लिए, स्वचालित जैविक और रासायनिक विश्लेषण करने वाली प्रयोगशालाओं में। अभिकर्मक जहाजों में प्रतिक्रियाओं को अंजाम देने और पाइपलाइनों और पिपेट के माध्यम से नमूने वितरित करने के बजाय, प्रत्येक बूंद रसायनों को सटीक रूप से परिवहन कर सकती है और इस प्रकार विश्लेषण के लिए प्रतिक्रिया पोत या ट्रांसपोर्टर के रूप में काम करती है। हालांकि, शोधकर्ता सूक्ष्म सामग्री या वस्तुओं के उत्पादन के लिए आवेदन भी प्रस्तुत कर सकते हैं।

आइए अगले लॉजिक ऑपरेशन पर चलते हैं। संयोजकया तार्किक और, दूसरे शब्दों में, गुणा। यदि पिछले ऑपरेशन ने स्थिति को सही बना दिया जब कोईदबाया गया बटन, फिर गुणन ऑपरेशन को तुरंत दबाने की आवश्यकता होगी सबबटन और उसके बाद ही यह हमें एक तार्किक इकाई देगा।

इसे सत्य तालिका में अधिक स्पष्ट रूप से देखा जा सकता है। जैसा कि आप देख सकते हैं, यदि संयोजन में कम से कम एक शून्य हो, तो पूरा फलन शून्य के बराबर हो जाता है।

वैज्ञानिकों ने अपने कंप्यूटर के आगे लघुकरण पर काम जारी रखने की योजना बनाई है। चर में संग्रहीत मूल्यों के साथ "काम" करने के लिए एक कार्यक्रम के लिए, विभिन्न प्रकार के संचालन होते हैं जिन्हें लागू किया जा सकता है अलग - अलग प्रकारजानकारी। प्रोग्रामिंग भाषाओं में इन कार्यों को कुछ प्रतीकों द्वारा दर्शाया जाता है, जिन्हें हम ऑपरेटर कहते हैं।

ऑपरेटर कमांड हैं, उदाहरण के लिए, मूल्यों को जोड़ना, तुलना करना या बदलना। विभिन्न प्रोग्रामिंग भाषाएं कभी-कभी समान कथनों के लिए अलग-अलग प्रतीकों का उपयोग करती हैं, लेकिन वे आमतौर पर समान होती हैं। निम्न तालिका ऑपरेटरों का एक सिंहावलोकन प्रदान करती है।



यह ऑपरेशन एक डबल एम्परसेंड (&&) के रूप में लिखा गया है, और ऐसा प्रतीक - और, वास्तव में, शब्द और (अंग्रेजी से और) को प्रतिस्थापित करता है। इस प्रकार, यदि आपको एक ही समय में कई सच्ची घटनाओं के साथ एक शर्त को सच करने की आवश्यकता है, तो यह ऑपरेटर वही है जो आपको चाहिए।

पी. निम्नलिखित समूह। असाइनमेंट ऑपरेटर अंकगणित ऑपरेटर तुलना ऑपरेटर तार्किक ऑपरेटर। इसके अलावा, ऑपरेटरों को तथाकथित यूनरी और बाइनरी ऑपरेटरों में विभाजित किया जा सकता है। इसका सीधा सा मतलब है ऑपरेंड की संख्या। यूनरी ऑपरेटर एक ही मान पर काम करता है। एक बाइनरी ऑपरेटर को दो मानों की आवश्यकता होती है, ऑपरेटर के प्रत्येक तरफ एक। संकार्य के साथ संचालिका का सही संयोजन व्यंजक कहलाता है। एक अभिव्यक्ति के परिणाम को एक ऑपरेंड के रूप में पुन: उपयोग किया जा सकता है।

हम असाइनमेंट ऑपरेटर से पहले ही मिल चुके हैं। अधिकांश प्रोग्रामिंग भाषाओं में, समान चिह्न का उपयोग असाइनमेंट ऑपरेटर के रूप में किया जाता है। अंकगणित ऑपरेटर हमेशा की तरह गणना कर सकते हैं। नियम गणित के समान हैं, अर्थात। ब्रैकेट को डॉट पर वरीयता मिलती है, और डॉट को डैश पर प्राथमिकता मिलती है। ज्ञात गणितीय प्रतीकों से एक महत्वपूर्ण अंतर स्लैश है, जिसका उपयोग अलग करने वाले वर्ण के रूप में किया जाता है।

यदि आप पिछले कोड में OR को AND से प्रतिस्थापित करते हैं तो आप इसे देख सकते हैं।



कोड लोड करने के बाद, हम देखेंगे कि एक बटन दबाने से किसी भी तरह से स्थिति की सच्चाई प्रभावित नहीं होती है और अब हमें सभी बटनों को एक साथ दबाने की आवश्यकता है।

हम एक फ़ंक्शन में जोड़ और गुणा संचालन को भी जोड़ सकते हैं। उदाहरण के लिए, हमें अधिसूचना को तभी चालू करना होगा जब 1 और . से कोई संकेत हो दूसरा बटन, या 2 और 3 से। तब स्थिति इस तरह दिखेगी:

मान या तो समान हैं या भिन्न हैं। सभी डेटा प्रकार मानों के लिए एक निश्चित क्रम है। इसे लेक्सिकल ऑर्डर कहा जाता है और यह निर्धारित करता है कि अनुक्रम के क्रम में कौन सी स्थिति मायने रखती है। शाब्दिक क्रम के कारण, वर्ण तुलना और जाँच भी कर सकते हैं। उदाहरण के लिए, कार्यक्रमों में अक्सर की जाने वाली प्रक्रियाओं को छांटने में, यह बहुत महत्वपूर्ण है जब नामों की सूची को क्रमबद्ध करने की आवश्यकता होती है, आदि। यह ध्यान दिया जाना चाहिए कि 0 से 9 की संख्या "सबसे कम" है, इसके बाद अपरकेस और लोअरकेस अक्षर हैं।

तुलना ऑपरेटरों का उपयोग करके किसी क्रम में सापेक्ष स्थिति की जाँच की जा सकती है। ऐसा करने के लिए, प्रसिद्ध गणितीय प्रतीकों का उपयोग अधिक और कम के साथ-साथ कुछ संयोजनों के लिए भी किया जाता है। तुलनात्मक अभिव्यक्तियों में निम्नलिखित विशेषताएं हैं।

  • तुलना ऑपरेटरों को वर्णों पर लागू करते समय, शाब्दिक क्रम का उपयोग किया जाता है।
  • ऑपरेटरों को सभी डेटा प्रकारों पर समान रूप से और गैर-समान रूप से लागू किया जा सकता है।
  • तुलना किए जा रहे मान समान डेटा प्रकार के होने चाहिए!
  • उदाहरण के लिए, आप अक्षरों से तुलना नहीं कर सकते!
नीचे तुलना ऑपरेटरों की एक तालिका है।



ब्रैकेट अलग-अलग स्थितियों के बीच अंतर करते हैं और वास्तव में, अब हमारे पास एक में दो स्थितियां हैं: पहला पहला और दूसरा बटन दबा रहा है, दूसरा इन दो स्थितियों में से किसी एक के निष्पादन को ध्यान में रखने के लिए दूसरा और तीसरा बटन दबा रहा है, हम उनके बीच एक तार्किक OR डालते हैं।

और, अंत में, यह हमारे लिए तीसरे तार्किक संचालन से निपटने के लिए रहता है, शायद सबसे सरल - यह एक तार्किक है नकारया तार्किक नोट. इसका एकमात्र कार्य किसी वेरिएबल या फ़ंक्शन के मान को विपरीत में बदलना है।

एक ऑपरेशन को विस्मयादिबोधक बिंदु द्वारा दर्शाया जाता है, जिसे एक चर या फ़ंक्शन के सामने रखा जाता है। उदाहरण के लिए, पहला बटन चर, जब माइक्रोकंट्रोलर पोर्ट से मान पढ़ता है, तो शून्य के बराबर हो जाता है, लेकिन इसके सामने विस्मयादिबोधक चिह्न जोड़ने से यह मान विपरीत हो जाता है - यानी अब यह बंडल एक के बराबर है।

शुभ दिन प्रिय रेडियो शौकिया!
मैं "" साइट पर आपका स्वागत करता हूं

तार्किक संचालन और उनका अनुप्रयोग

हमारे जीवन में ऐसे समय होते हैं जब किसी विशेष मुद्दे की गहराई में जाने की आवश्यकता नहीं होती है, और इसकी सतही समझ ही काफी होती है। कभी-कभी यह हमारी "अनिच्छा" के कारण होता है, अन्य मामलों में इस मुद्दे की जटिलता। तो अब, तार्किक संक्रियाओं का अध्ययन करते हुए, हम गहराई में नहीं जाएंगे, लेकिन बस इस तथ्य से खुद को इस्तीफा दे देंगे कि वे मौजूद हैं और आपको उन्हें जानने की जरूरत है।

हर चीज का आधार "तर्क" शब्द है।
(प्राचीन यूनानी λογική) - "सही सोच का विज्ञान", "तर्क करने की कला" (λόγος - "भाषण", "तर्क", "विचार") से।
जैसा कि आप देख सकते हैं, तर्क केवल एक प्राचीन ग्रीक शब्द नहीं है, बल्कि एक संपूर्ण विज्ञान है, जिसका अध्ययन हमें सही और समझदारी से तर्क करने की अनुमति देता है, और, तदनुसार, हमारे तर्क से सही निष्कर्ष निकालता है, जिसमें बहुत कमी है हमारी आधुनिक दुनिया में।
किसी बात पर बहस करते हुए हम तार्किक निष्कर्ष के आधार पर उचित निष्कर्ष निकालते हैं। उदाहरण के लिए, हमारे कॉमरेड के बारे में सोचकर, कुछ तथ्यों के आधार पर, जो उसे चित्रित करते हैं, हम यह निष्कर्ष निकाल सकते हैं कि वह हमारे लिए एक दोस्त है या नहीं (या: "दोस्त नहीं, और एक दुश्मन नहीं, लेकिन ऐसा")।


19वीं सदी के अंत में, "गणितज्ञ" कहे जाने वाले लोगों के एक समूह ने हमारी पूरी विचार प्रक्रिया को एक ऐसे रूप में अनुवाद करने का फैसला किया, जो उनके लिए अधिक समझ में आता है - गणितीय। और सरल, मानवीय तर्क से प्रकट हुआ गणितीयया - प्रतीकात्मक तर्क. यानी उनकी समझ के अनुसार न केवल "ग्रे मैटर" को हिलाकर, बल्कि गणितीय विधियों का उपयोग करके भी सत्य का पता लगाना संभव है। इस पद्धति का सार क्या है। हमारे द्वारा व्यक्त किया गया कोई भी विचार कुछ तथ्यों पर आधारित होता है - ईंटें जो इसका आधार बनाती हैं। तो, गणितीय तर्क में, इन "ईंटों" की केवल दो अवस्थाएँ हैं - "असत्य"या "सच". विचार पर, और मानव में तर्क भी होना चाहिए। लेकिन इसलिए हम "इंसान" हैं।
1+1 बराबर 2 सत्य है, 1+1 बराबर नहीं है 2 गलत है। सब कुछ सरल और स्पष्ट है। लेकिन यह केवल गणितीय तर्क में है, और लोगों के लिए 1 + 1 3 के बराबर हो सकता है। तो, इन "ईंटों" से, और गणितज्ञों के बीच उन्हें कहा जाता है - "सरल भाव", जो केवल "सत्य" या "झूठा" हो सकता है, जोड़ें "जटिल अभिव्यक्तियाँ", जो, निश्चित रूप से, केवल "सत्य" या "झूठा" भी हो सकता है। और सरल व्यंजकों से जटिल व्यंजक प्राप्त करने की इस पूरी प्रक्रिया का वर्णन किया जा सकता है "तार्किक सूत्र"या, जैसा कि वे कहते हैं, "तार्किक अभिव्यक्ति".
और यहाँ हम मुख्य बात पर आते हैं - तार्किक संचालन के लिए:
बूलियन अभिव्यक्तितार्किक मात्राओं को मिलाकर एक उच्चारण का प्रतीकात्मक रिकॉर्ड है तार्किक संचालन. बूलियन मान या तो "1" या "0" हैं। यदि व्यंजक "सत्य" है, तो इसका मान 1 है, यदि यह "गलत" है, तो इसका मान 0 है (जैसा कि प्रथागत है)।
तार्किक संचालन आपको जोड़ने की अनुमति देता है, या बल्कि, सरल भाव (वही "ईंटों") - तार्किक मात्राओं को जोड़ता है।
उदाहरण के लिए, विलियम, हमारे, शेक्सपियर को समझने के लिए, आइए इस वाक्य को लेते हैं:
"अध्ययन करना या न करना (माइक्रोकंट्रोलर), यही सवाल है।"
आइए "सीखें" शब्द को "ए", "नहीं सीखें" - "बी" के रूप में निरूपित करें और देखते हैं कि यह वाक्य तार्किक ऑपरेशन का उपयोग करके प्रतीकात्मक संकेतन में कैसा दिख सकता है:
ए या बी =?

उसी तरह, प्रोग्राम बनाते समय लॉजिकल ऑपरेशंस रिकॉर्ड किए जाते हैं। प्रोग्रामिंग की प्रत्येक "भाषा" में प्रतीकात्मक कमांड का एक समान सेट होता है, जिसकी मदद से प्रोग्राम में लॉजिकल ऑपरेशंस रिकॉर्ड किए जाते हैं।

खैर, अब मैं इस सवाल का जवाब देने की कोशिश करूंगा - "हमें, केवल नश्वर, इन दार्शनिक और गणितीय अवधारणाओं से दूर, इसकी आवश्यकता क्यों है।"
पहले तो । कोई भी ज्ञान कभी निरर्थक नहीं होता। नई चीजें सीखते हुए, हम अपने लिए कुछ अज्ञात खोजते हैं, अपने क्षितिज का विस्तार करते हैं, अपनी अल्प शब्दावली को फिर से भरते हैं (जो हमें अपने विचारों को अधिक स्पष्ट रूप से व्यक्त करने की अनुमति देता है, और इसे आवाज देने के लिए शब्द के माध्यम से अश्लील स्नायुबंधन का सहारा नहीं लेता है), और सबसे महत्वपूर्ण बात यह है कि हम सीखते हैं अलग तरह से सोचने के लिए, उच्च श्रेणियां, जिससे खुद को "पूर्वजों" - बंदरों से दूर किया जा सके।
दूसरा। गणितज्ञों का काम व्यर्थ नहीं गया और केवल एक सिद्धांत नहीं रह गया।
सभी आधुनिक डिजिटल प्रौद्योगिकियां तार्किक संचालन पर आधारित हैं, उनके बिना कोई पलायन नहीं है। लगभग सभी (और शायद सभी भी) डिजिटल माइक्रोक्रिकिट अपने काम में तार्किक सर्किट का उपयोग करते हैं (माइक्रोकंट्रोलर सहित तार्किक संचालन करते हैं)।
अब विशेष रूप से हमारे लिए माइक्रोकंट्रोलर और उनकी प्रोग्रामिंग का अध्ययन:
1. प्रोग्राम बनाते समय, हम तार्किक संचालन का उपयोग करते हुए हमारे तर्क के आधार पर माइक्रोकंट्रोलर की सभी क्रियाओं को निर्धारित करते हैं, कभी-कभी बिना संदेह के भी (अब, हम न केवल "संदेह नहीं करते"), जिसे हम तार्किक अभिव्यक्तियों पर लागू करते हैं।
एक उदाहरण - "यदि कार्यक्रम के निष्पादन के दौरान ऐसा परिणाम प्राप्त होता है, तो कार्यक्रम इस तरह से चलेगा, और यदि हमें एक अलग परिणाम मिलता है, तो कार्यक्रम इस तरह से चलेगा" - एक तार्किक का एक विशिष्ट निष्पादन संचालन।
2. प्रोग्रामिंग में, एक लॉजिकल ऑपरेशन न केवल एक लॉजिकल एक्सप्रेशन (पैराग्राफ 1 देखें) पर लागू होता है, बल्कि बाइनरी नंबर्स के साथ ऑपरेशंस पर भी लागू होता है, तथाकथित "तार्किक बिटवाइज़ (बिटवाइज़) ऑपरेशंस", जो एक प्रोग्रामर के कठिन जीवन को बहुत सुविधाजनक बनाता है (माइक्रोकंट्रोलर कमांड का अध्ययन करते समय हम इस बिंदु पर विस्तार से विचार करेंगे)।
3. आप केवल एक माइक्रोकंट्रोलर पर डिज़ाइन नहीं बना सकते। वह अर्थहीन होगी। माइक्रोकंट्रोलर के अलावा, सर्किट में इसका "स्ट्रैपिंग" होना चाहिए - रेसिस्टर्स, कैपेसिटर, डायोड, ट्रांजिस्टर, इंडिकेटर्स, रिले आदि। बहुत बार, माइक्रोकंट्रोलर सर्किट डिजिटल माइक्रोक्रिकिट्स का उपयोग करते हैं, जो तार्किक संचालन के सिद्धांत पर आधारित होते हैं। तार्किक संचालन का ज्ञान और एक माइक्रोकंट्रोलर के साथ ऐसे माइक्रोक्रिकिट्स का सक्षम उपयोग आपको सरल और अधिक कुशल शौकिया रेडियो डिज़ाइन बनाने की अनुमति देता है।

तीन बुनियादी तार्किक संक्रियाएँ हैं जिनसे आप कोई भी तार्किक व्यंजक लिख सकते हैं (यहाँ, आपको ध्यान केंद्रित करने की आवश्यकता है):

1. उलटा
2. संयोजन
3. वियोजन

संयोजक, यह वही है, वही है "तार्किक गुणन" .
हम एक नाम चुनते हैं - यह प्रोग्रामिंग में अधिक सामान्य है।
मान लें कि हमारे पास दो सरल व्यंजक हैं - A और B. इन व्यंजकों का मान या तो 1 (सत्य) या 0 (गलत) हो सकता है। "लॉजिकल एंड" ऑपरेशन करते समय, हमें एक जटिल अभिव्यक्ति मिलेगी जो मान 1 (सत्य) पर तभी ले जाएगी जब ए और बी दोनों 1 (सत्य) हों, अन्य सभी मामलों में परिणाम 0 (झूठा) होगा।
"लॉजिकल एंड" ऑपरेशन में संकेतन (प्रोग्रामिंग भाषाओं में) है: और, &&, और, और।
तालिका को देखें (ऐसी तालिकाओं को कहा जाता है "सत्य तालिका" ):
ए बी ए एंड बी
1 1 1
0 0 0
1 0 0
0 1 0
जैसा कि आप देख सकते हैं, परिणाम "सत्य" होगा, 1 के बराबर, केवल तभी जब ए और बी दोनों 1 (सत्य) के बराबर हों।
उदाहरण के लिए, प्रोग्राम के एल्गोरिदम को निर्धारित करते समय, हम इस ऑपरेशन को इस तरह "आवाज" कर सकते हैं: "यदि प्रोग्राम के निष्पादन के दौरान परिणाम ए और बी" सत्य "हैं, तो हम इसे जारी रखते हैं यदि परिणाम ए और बी, दोनों, या उनमें से एक - "झूठा", तो हम ऐसा करते हैं।"
और ऑपरेशन का तीसरा नाम - "लॉजिकल गुणन" (अंकगणितीय गुणन के साथ भ्रमित न हों) बाइनरी नंबरों के लिए उपयोग किया जाता है।

अलगाव, यह वही है, वही है "तार्किक जोड़".
हम एक नाम चुनते हैं। वैसे, यदि आप तार्किक रूप से सोचते हैं, तो आप अनुमान लगा सकते हैं कि इस ऑपरेशन को करते समय क्या परिणाम होंगे।
"तार्किक और" में परिणाम 1 है अगर तथालेकिन, तथा B 1 के बराबर है, और "लॉजिकल OR" में परिणाम 1 के बराबर होगा यदि यालेकिन, याबी एक के बराबर है।
ऑपरेशन "लॉजिकल या" में पदनाम हैं: या, ||, या, |।
आइए सत्य तालिका देखें:
ए बी ए||बी
1 1 1
0 0 0
1 0 1
0 1 1
और "तार्किक जोड़" लागू किया जाता है… .. मुझे लगता है कि आपने अनुमान लगाया था।

उलट देना, यह वही है, वही है "नकार".
हम एक नाम चुनते हैं।
ऑपरेशन "लॉजिकल नॉट" में पदनाम हैं: नहीं,!, नहीं।
यहाँ सब कुछ सरल है:
यदि ए = 1 (सत्य) है, तो "नकारात्मक" ऑपरेशन करने के बाद, ए मान 0 लेगा, यानी यह झूठा हो जाता है। और इसके विपरीत।
इस ऑपरेशन का एक और नाम "इन्वर्टर" है, और इसे डिजिटल सर्किट पर लागू किया जाता है।

प्रोग्रामिंग में, एक और लॉजिकल ऑपरेशन का अक्सर उपयोग किया जाता है - "लॉजिकल एंड" और "लॉजिकल ओआर" का सहजीवन:
सख्त विच्छेद, यह वही है, वही है "तार्किक जोड़, एकमात्र", यह है "मॉड्यूलो 2 अतिरिक्त"
हम एक नाम चुनते हैं
एक्सओआर ऑपरेशन में संकेतन है: एक्सओआर, एक्सओआर, ^।
ट्रुथ टेबल
ए बी एक्सोरबी
1 1 0
0 0 0
1 0 1
0 1 1
इस मामले में, एक्सओआर ऑपरेशन करते समय, परिणाम सही होगा (1 के बराबर) यदि ए बी के बराबर नहीं है। अन्यथा, परिणाम 0 (गलत) होगा।


जैसा कि मैंने कहा, लॉजिकल ऑपरेशंस न केवल एक्सप्रेशन पर लागू होते हैं, बल्कि बाइनरी नंबरों पर भी लागू होते हैं - तथाकथित लॉजिकल बिटवाइज़ (बिटवाइज़) ऑपरेशंस। और मैं खुद को केवल इसलिए दोहराता हूं क्योंकि कुछ प्रोग्रामिंग भाषाओं में भावों के साथ तार्किक संचालन, और तार्किक बिट संचालनवर्तनी समान हो, और यदि आप ऐसी भाषा का प्रयोग करते हैं, तो गलतियों से बचने के लिए इस क्षण को हमेशा ध्यान में रखना चाहिए।

हमने यह भी सीखा कि तार्किक संचालन डिजिटल तकनीक का आधार है। यहां तक ​​​​कि डिजिटल सर्किट जिन्हें केवल तार्किक संचालन करने के लिए डिज़ाइन किया गया है, उन्हें "लॉजिकल सर्किट" कहा जाता है, या इससे भी अधिक सरल - "तर्क"।
आइए लॉजिक चिप्स पर थोड़ा रुकें और हम।
डिजिटल लॉजिक सर्किट का काम तीन बुनियादी लॉजिकल ऑपरेशंस के प्रदर्शन पर आधारित होता है, जिसे हमने ऊपर पढ़ा है। इन लॉजिक ऑपरेशंस के संयोजन ने डिजिटल लॉजिक सर्किट की एक महान (अच्छी तरह से, शायद बहुत बढ़िया नहीं) विविधता बनाना संभव बना दिया।
ऐसे microcircuits का आधार है तार्किक तत्व:
तर्क तत्व - डिजिटल रूप में सूचना को संसाधित करने के लिए डिज़ाइन किए गए उपकरण।
तर्क तत्व इनपुट संकेतों (संचालन, डेटा) पर एक तार्किक कार्य (संचालन) करते हैं।

1. ऑपरेशन करने वाला तार्किक तत्व:
एक तार्किक तत्व जो संयोजन कार्य ("तार्किक और") को लागू करता है उसे संयोग सर्किट कहा जाता है। इनपुट की किसी भी संख्या के साथ संयोजन के लिए स्मरक नियम है: आउटपुट होगा:
- "1" यदि और केवल यदि सभी इनपुट "1" हैं,
- "0" यदि और केवल तभी जब कम से कम एक इनपुट में "0" हो



:
किसी भी संख्या में इनपुट के साथ संयोजन के लिए स्मरक नियम है: आउटपुट होगा:
- "1" यदि और केवल तभी जब कम से कम एक इनपुट में "1" हो,
- "0" यदि और केवल यदि सभी इनपुट "0" हैं



:
निषेध के लिए स्मरक नियम है: उत्पादन होगा:
- "1" अगर और केवल अगर इनपुट "0" है,
- "0" अगर और केवल अगर इनपुट "1" है



ये मुख्य तार्किक तत्व हैं।
और यहाँ बुनियादी तार्किक संचालन के संयोजन के उदाहरण हैं:

1. तार्किक तत्व जो फ़ंक्शन को लागू करता है (कोई समानता नहीं):
किसी भी संख्या में इनपुट के साथ योग मॉड्यूल 2 के लिए स्मरक नियम है: आउटपुट होगा:
- "1" अगर और केवल अगर एक विषम संख्या इनपुट पर कार्य करती है,
- "0" अगर और केवल अगर इनपुट एक सम संख्या है
मौखिक विवरण: "आउटपुट सत्य - केवल इनपुट 1 सत्य होने पर, या केवल इनपुट 2 सत्य होने पर।"



2. तार्किक तत्व जो फ़ंक्शन को लागू करता है (डिसजंक्शन फ़ंक्शन का उलटा):
किसी भी संख्या में इनपुट के साथ NORing के लिए स्मरक नियम है: आउटपुट होगा:
- "1" यदि और केवल यदि "0" सभी इनपुट पर सक्रिय है,
- "0" यदि और केवल तभी जब कम से कम एक इनपुट में "1" हो



3. तार्किक तत्व जो फ़ंक्शन को लागू करता है:
NAND के लिए किसी भी इनपुट के साथ स्मरक नियम है: आउटपुट होगा:
- "1" अगर और केवल अगर "0" कम से कम एक इनपुट पर सक्रिय है,
- "0" यदि और केवल यदि सभी इनपुट "1" हैं


तार्किक संचालन के इन संयोजनों के अलावा, कई अन्य हैं।

तर्क चिप्स के उपयोग का एक व्यावहारिक उदाहरण।
मान लीजिए कि हम एक घर के लिए चोर अलार्म इकट्ठा करते हैं। हमारे पास चार सेंसर हैं (दरवाजे पर और तीन खिड़कियां)। जब उनमें से कोई भी चालू हो जाता है, तो एक श्रव्य संकेत बजना चाहिए।
अतिरिक्त microcircuits के उपयोग के बिना, हमें इन चार सेंसर को माइक्रोकंट्रोलर के चार इनपुट से जोड़ना होगा। फिर, प्रोग्रामेटिक रूप से, सेंसर ट्रिगर सिग्नल की उपस्थिति के लिए चार इनपुट में से प्रत्येक की जांच करें। एक लॉजिक चिप का उपयोग करते समय जो "लॉजिकल या ऑपरेशन" करता है और इसमें चार इनपुट होते हैं, उदाहरण के लिए, K561LE6 (इस चिप में 3 तार्किक चार-इनपुट तत्व हैं जो तार्किक "OR-NOT" फ़ंक्शन को लागू करते हैं), हम सेंसर को कनेक्ट कर सकते हैं माइक्रोक्रिकिट के एक तत्व के इनपुट, और इसके एकमात्र आउटपुट को माइक्रोकंट्रोलर के एक इनपुट से कनेक्ट करें। अब, जब कोई सेंसर चालू होता है, तो माइक्रोक्रिकिट के आउटपुट पर एक ट्रिगर सिग्नल उत्पन्न होगा, जिसे माइक्रोकंट्रोलर के इनपुट को फीड किया जाएगा। हमारी जीत:
- माइक्रोकंट्रोलर का केवल एक इनपुट शामिल है (चार के बजाय)
- कार्यक्रम की मात्रा कम हो जाती है (चार इनपुट को मतदान करने के बजाय, हमें माइक्रोकंट्रोलर के केवल एक इनपुट को नियंत्रित करने की आवश्यकता होती है)।

वैसे, एक और तरह का तर्क है - स्त्री तर्क। एक बहुत ही रोचक बात। लेकिन चूंकि यह आज के विषय पर लागू नहीं होता है, दुर्भाग्य से, इस प्रश्न को छोड़ना होगा।


पिछले लेख: