अंकगणितीय व्यंजक लिखने की विधि को अंकन कहते हैं। एक अंकगणितीय व्यंजक को तीन अलग-अलग लेकिन समकक्ष अंकन में लिखा जा सकता है, अर्थात, किसी व्यंजक के सार या आउटपुट को बदले बिना। ये संकेतन हैं -
-
इंफिक्स
-
उपसर्ग
-
पोस्टफिक्स
इंफिक्स नोटेशन सामान्य नोटेशन हैं, जिनका उपयोग हम विभिन्न गणितीय अभिव्यक्तियों को लिखते समय करते हैं। उपसर्ग और पोस्टफ़िक्स नोटेशन काफी भिन्न हैं।
उपसर्ग संकेतन
इस नोटेशन में, ऑपरेटर उपसर्ग . है ऑपरेंड के लिए, यानी ऑपरेटर को ऑपरेंड के आगे लिखा जाता है। उदाहरण के लिए, +ab . यह इसके इंफिक्स नोटेशन a + b . के बराबर है . उपसर्ग संकेतन को पोलिश संकेत . के रूप में भी जाना जाता है ।
पोस्टफ़िक्स नोटेशन
इस संकेतन शैली को रिवर्स पोलिश नोटेशन . के रूप में जाना जाता है . इस संकेतन शैली में, ऑपरेटर पोस्टफिक्स्ड . है ऑपरेंड के लिए यानी ऑपरेटर को ऑपरेंड के बाद लिखा जाता है। उदाहरण के लिए, ab+ . यह इसके इंफिक्स नोटेशन a + b . के बराबर है ।
उदाहरण
अभिव्यक्ति संख्या | इन्फिक्स नोटेशन | उपसर्ग संकेतन | पोस्टफिक्स नोटेशन |
1 | a + b | + a b | a b + |
2 | (a + b) * c | * + a b c | a b + c * |
3 | a * (b + c) | * a + b c | a b c + * |
4 | a / b + c / d | + / a b / c d | a b / c d / + |
5 | (a + b) * (c + d) | * + a b + c d | a b + c d + * |
6 | ((a + b) * c) - d | - * + a b c d | a b + c * d - |
अभिव्यक्ति को पार्स करना
जैसा कि हमने चर्चा की है, इंफिक्स नोटेशन को पार्स करने के लिए एल्गोरिदम या प्रोग्राम को डिजाइन करने का यह एक बहुत ही कुशल तरीका नहीं है। इसके बजाय, इन इंफ़िक्स नोटेशन को पहले या तो पोस्टफ़िक्स या प्रीफ़िक्स नोटेशन में बदल दिया जाता है और फिर गणना की जाती है।
किसी भी अंकगणितीय व्यंजक को पार्स करने के लिए, हमें संचालिका वरीयता और संबद्धता का भी ध्यान रखना होगा।
वरीयता
जब एक ऑपरेंड दो अलग-अलग ऑपरेटरों के बीच में होता है, तो कौन सा ऑपरेटर पहले ऑपरेंड लेगा, यह एक ऑपरेटर की प्राथमिकता से तय होता है। उदाहरण के लिए -
𝑎 + 𝑏 ∗ 𝑐 → 𝑎 + (𝑏 ∗ 𝑐)
चूंकि गुणन संक्रिया को जोड़ पर प्राथमिकता दी जाती है, b * c का मूल्यांकन पहले किया जाएगा। ऑपरेटर वरीयता तालिका बाद में प्रदान की जाती है।