अभिव्यक्ति (कंप्यूटर विज्ञान): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Syntactic entity in a programming language with a determinable value}} कंप्यूटर विज्ञान में, एक अभिव्...")
 
No edit summary
Line 1: Line 1:
{{Short description|Syntactic entity in a programming language with a determinable value}}
{{Short description|Syntactic entity in a programming language with a determinable value}}
[[कंप्यूटर विज्ञान]] में, एक अभिव्यक्ति एक [[प्रोग्रामिंग भाषा]] में एक [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] इकाई है जिसका मूल्य निर्धारित करने के लिए मूल्यांकन किया जा सकता है।<ref>[[John C. Mitchell|Mitchell, J.]] (2002). Concepts in Programming Languages. Cambridge: Cambridge University Press, ''3.4.1 Statements and Expressions'', p. 26</ref> यह एक या एक से अधिक कॉन्स्टेंट (प्रोग्रामिंग), [[चर (प्रोग्रामिंग)]], [[समारोह (प्रोग्रामिंग)]] और [[ऑपरेटर (प्रोग्रामिंग)]] का एक संयोजन है जो प्रोग्रामिंग लैंग्वेज व्याख्या करती है (ऑपरेशन के अपने विशेष क्रम और सहयोगी संपत्ति के अनुसार) और उत्पादन करने के लिए गणना करता है (वापसी के लिए, एक [[राज्य (कंप्यूटर विज्ञान)]] पर्यावरण में) एक और मूल्य। [[गणितीय अभिव्यक्ति]]यों के लिए इस प्रक्रिया को मूल्यांकन कहा जाता है।
[[कंप्यूटर विज्ञान]] में, एक अभिव्यक्ति एक [[प्रोग्रामिंग भाषा]] में एक [[सिंटेक्स (प्रोग्रामिंग भाषाएं)]] इकाई है जिसका मूल्यांकन इसके मूल्य को निर्धारित करने के लिए किया जा सकता है।<ref>[[John C. Mitchell|Mitchell, J.]] (2002). Concepts in Programming Languages. Cambridge: Cambridge University Press, ''3.4.1 Statements and Expressions'', p. 26</ref> यह एक या एक से अधिक स्थिरांक (प्रोग्रामिंग), [[चर (प्रोग्रामिंग)]], [[समारोह (प्रोग्रामिंग)]] और [[ऑपरेटर (प्रोग्रामिंग)]] का एक संयोजन है जो प्रोग्रामिंग भाषा की व्याख्या करता  है (इसके पूर्वता और संघ के विशेष नियमों के अनुसार) और उत्पादन करने के लिए गणना करता है ("वापसी के लिए", एक [[राज्य (कंप्यूटर विज्ञान)]] वातावरण में) एक और मूल्य। [[गणितीय अभिव्यक्ति]]यों के लिए इस प्रक्रिया को मूल्यांकन कहलाती है।


सरल सेटिंग्स में, रिटर्न प्रकार आमतौर पर विभिन्न [[आदिम डेटा प्रकार]]ों में से एक होता है, जैसे संख्यात्मक, [[स्ट्रिंग (कंप्यूटर विज्ञान)]], [[बूलियन अभिव्यक्ति]], [[जटिल डेटा प्रकार]] या अन्य प्रकार।
सरल सेटिंग्स में, परिणामी मूल्य सामान्य रूप से विभिन्न [[आदिम डेटा प्रकार]]ों में से एक होता है, जैसे संख्यात्मक, [[स्ट्रिंग (कंप्यूटर विज्ञान)]], [[बूलियन अभिव्यक्ति]], [[जटिल डेटा प्रकार]] या अन्य प्रकार है।


अभिव्यक्ति अक्सर कथन (कंप्यूटर विज्ञान) के विपरीत होती है - एक वाक्यात्मक इकाई जिसका कोई मूल्य नहीं है (एक निर्देश)।
अभिव्यक्ति अक्सर कथन (कंप्यूटर विज्ञान) के विपरीत माना जाता है - एक वाक्य-विन्यास इकाई जिसका कोई मूल्य नहीं है (एक निर्देश)।


== उदाहरण ==
== उदाहरण ==


उदाहरण के लिए, <code>2 + 3</code> एक अंकगणितीय और प्रोग्रामिंग अभिव्यक्ति दोनों है, जिसका मूल्यांकन करता है <code>5</code>. एक चर एक अभिव्यक्ति है क्योंकि यह स्मृति में मान को दर्शाता है, इसलिए <code>y + 6</code> भी एक अभिव्यक्ति है। [[रिलेशनल ऑपरेटर]] का एक उदाहरण है <code>4 ≠ 4</code>, जो मूल्यांकन करता है <code>false</code>.<ref>[https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Expressions Javascript expressions, Mozilla] {{Webarchive|url=https://web.archive.org/web/20120309174344/https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Expressions |date=2012-03-09 }} Accessed July 6, 2009</ref><ref>[https://www.cs.drexel.edu/~rweaver/COURSES/ISTC-2/TOPICS/expr.html Programming in C] {{Webarchive|url=https://web.archive.org/web/20150109162605/https://www.cs.drexel.edu/~rweaver/COURSES/ISTC-2/TOPICS/expr.html |date=2015-01-09 }} Accessed July 6, 2009</ref>
उदाहरण के लिए, <code>2 + 3</code> एक अंकगणितीय और प्रोग्रामिंग अभिव्यक्ति दोनों है, जो <code>5</code>का मूल्यांकन करता है।  एक चर एक अभिव्यक्ति है क्योंकि यह मेमोरी में मान को दर्शाता है, इसलिए <code>y + 6</code> भी एक अभिव्यक्ति है। [[रिलेशनल ऑपरेटर]] का एक उदाहरण है <code>4 ≠ 4</code>, जो <code>false</code>का मूल्यांकन करता है।<ref>[https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Expressions Javascript expressions, Mozilla] {{Webarchive|url=https://web.archive.org/web/20120309174344/https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Expressions |date=2012-03-09 }} Accessed July 6, 2009</ref><ref>[https://www.cs.drexel.edu/~rweaver/COURSES/ISTC-2/TOPICS/expr.html Programming in C] {{Webarchive|url=https://web.archive.org/web/20150109162605/https://www.cs.drexel.edu/~rweaver/COURSES/ISTC-2/TOPICS/expr.html |date=2015-01-09 }} Accessed July 6, 2009</ref>




== परिणाम प्रकार == के रूप में शून्य
== परिणाम प्रकार == के रूप में शून्य


[[सी (प्रोग्रामिंग भाषा)]] और अधिकांश सी-व्युत्पन्न भाषाओं में, [[शून्य प्रकार]] के रिटर्न प्रकार वाले फ़ंक्शन के लिए कॉल एक वैध अभिव्यक्ति है, प्रकार शून्य की।<ref>
[[सी (प्रोग्रामिंग भाषा)]] और अधिकांश सी-व्युत्पन्न भाषाओं में, [[शून्य प्रकार]] के रिटर्न प्रकार वाले फ़ंक्शन के लिए कॉल एक वैध अभिव्यक्ति है।<ref>
[http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf ISO/IEC 9899:1999] section 6.3.2.2, accessed August 31, 2009
[http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf ISO/IEC 9899:1999] section 6.3.2.2, accessed August 31, 2009
</ref>
</ref>
शून्य प्रकार के मानों का उपयोग नहीं किया जा सकता है, इसलिए ऐसी अभिव्यक्ति का मान हमेशा फेंक दिया जाता है।
प्रकार के शून्य के मान का उपयोग नहीं किया जा सकता है, इसलिए ऐसी अभिव्यक्ति का मान हमेशा फेंक दिया जाता है।


== दुष्प्रभाव और उन्मूलन ==
== दुष्प्रभाव और उन्मूलन ==

Revision as of 16:52, 27 February 2023

कंप्यूटर विज्ञान में, एक अभिव्यक्ति एक प्रोग्रामिंग भाषा में एक सिंटेक्स (प्रोग्रामिंग भाषाएं) इकाई है जिसका मूल्यांकन इसके मूल्य को निर्धारित करने के लिए किया जा सकता है।[1] यह एक या एक से अधिक स्थिरांक (प्रोग्रामिंग), चर (प्रोग्रामिंग), समारोह (प्रोग्रामिंग) और ऑपरेटर (प्रोग्रामिंग) का एक संयोजन है जो प्रोग्रामिंग भाषा की व्याख्या करता है (इसके पूर्वता और संघ के विशेष नियमों के अनुसार) और उत्पादन करने के लिए गणना करता है ("वापसी के लिए", एक राज्य (कंप्यूटर विज्ञान) वातावरण में) एक और मूल्य। गणितीय अभिव्यक्तियों के लिए इस प्रक्रिया को मूल्यांकन कहलाती है।

सरल सेटिंग्स में, परिणामी मूल्य सामान्य रूप से विभिन्न आदिम डेटा प्रकारों में से एक होता है, जैसे संख्यात्मक, स्ट्रिंग (कंप्यूटर विज्ञान), बूलियन अभिव्यक्ति, जटिल डेटा प्रकार या अन्य प्रकार है।

अभिव्यक्ति अक्सर कथन (कंप्यूटर विज्ञान) के विपरीत माना जाता है - एक वाक्य-विन्यास इकाई जिसका कोई मूल्य नहीं है (एक निर्देश)।

उदाहरण

उदाहरण के लिए, 2 + 3 एक अंकगणितीय और प्रोग्रामिंग अभिव्यक्ति दोनों है, जो 5का मूल्यांकन करता है। एक चर एक अभिव्यक्ति है क्योंकि यह मेमोरी में मान को दर्शाता है, इसलिए y + 6 भी एक अभिव्यक्ति है। रिलेशनल ऑपरेटर का एक उदाहरण है 4 ≠ 4, जो falseका मूल्यांकन करता है।[2][3]


== परिणाम प्रकार == के रूप में शून्य

सी (प्रोग्रामिंग भाषा) और अधिकांश सी-व्युत्पन्न भाषाओं में, शून्य प्रकार के रिटर्न प्रकार वाले फ़ंक्शन के लिए कॉल एक वैध अभिव्यक्ति है।[4] प्रकार के शून्य के मान का उपयोग नहीं किया जा सकता है, इसलिए ऐसी अभिव्यक्ति का मान हमेशा फेंक दिया जाता है।

दुष्प्रभाव और उन्मूलन

कई प्रोग्रामिंग भाषाओं में एक फ़ंक्शन, और इसलिए एक फ़ंक्शन युक्त अभिव्यक्ति का साइड इफेक्ट (कंप्यूटर विज्ञान) हो सकता है। साइड इफेक्ट वाली अभिव्यक्ति में सामान्य रूप से संदर्भित पारदर्शिता की संपत्ति नहीं होती है। कई भाषाओं में (जैसे C++), व्यंजकों को अर्धविराम से समाप्त किया जा सकता है (;) एक्सप्रेशन को एक्सप्रेशन बयान (प्रोग्रामिंग) में बदलने के लिए। यह कार्यान्वयन को केवल इसके दुष्प्रभावों के लिए अभिव्यक्ति का मूल्यांकन करने और अभिव्यक्ति के परिणाम की अवहेलना करने के लिए कहता है (उदा। x+1;) जब तक कि यह एक अभिव्यक्ति बयान का एक हिस्सा नहीं है जो साइड-इफेक्ट्स को प्रेरित करता है (उदाहरण के लिए y=x+1; या func1(func2());).

चेतावनी

ध्यान दें कि साइड इफेक्ट की औपचारिक धारणा चल रहे कार्यक्रम की अमूर्त स्थिति में बदलाव है।

साइड इफेक्ट का एक अन्य वर्ग कम्प्यूटेशनल सिस्टम की ठोस स्थिति में परिवर्तन है, जैसे डेटा को कैश मेमोरी में लोड करना। जिन भाषाओं को अक्सर साइड इफेक्ट-फ्री के रूप में वर्णित किया जाता है, उनके आम तौर पर अभी भी ठोस साइड इफेक्ट होते हैं जिनका शोषण किया जा सकता है, उदाहरण के लिए, साइड-चैनल हमलों में।

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

यह विशेष प्रोग्रामिंग भाषा विनिर्देश पर निर्भर करता है कि क्या बिना सार साइड इफेक्ट वाली अभिव्यक्ति प्रोसेसिंग वातावरण द्वारा निष्पादन पथ से प्रोग्राम अनुकूलन कर सकती है जिसमें अभिव्यक्ति का मूल्यांकन किया जाता है।

यह भी देखें

संदर्भ

  1. Mitchell, J. (2002). Concepts in Programming Languages. Cambridge: Cambridge University Press, 3.4.1 Statements and Expressions, p. 26
  2. Javascript expressions, Mozilla Archived 2012-03-09 at the Wayback Machine Accessed July 6, 2009
  3. Programming in C Archived 2015-01-09 at the Wayback Machine Accessed July 6, 2009
  4. ISO/IEC 9899:1999 section 6.3.2.2, accessed August 31, 2009


बाहरी संबंध

  • This article is based on material taken from Expression at the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.