थोड़ी देर के लूप के छोटे चरण के संचालन शब्दार्थ में राज्य अपरिवर्तित क्यों रहता है?


9

आमतौर पर मैं देखता हूं कि लूप के लिए संरचनात्मक परिचालनात्मक शब्दार्थ निरूपण में, कार्यक्रम की स्थिति नहीं बदलती है:

(whileBdoS,σ)(ifBthenS;(whileBdoS)elseSKIP,σ)

मेरे लिए, यह सहज नहीं है, अगर राज्य नहीं बदलता है (यानी मेमोरी की स्थिति समान रहती है) तो B सत्य बना रहेगा और कार्यक्रम कभी समाप्त नहीं होगा।

क्या कोई यह बता सकता है कि राज्य इस नियम में क्यों नहीं बदलता?


ध्यान दें कि यह केवल तभी सही है जब हम ऐसा मान सकते हैं बीइसके साइड-इफेक्ट्स नहीं हैं। अधिकांश प्रोग्रामिंग भाषाओं में यह सच नहीं है।
राफेल

जवाबों:


10

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

रों:वीआरजेड

जो चर के मूल्यों को रिकॉर्ड करता है। तो अगररोंएक्स=v, फिर परिवर्तनशील एक्स मूल्य है v। राज्य अनिवार्य रूप से एक आंशिक कार्य है, क्योंकि यह केवल चर के मूल्यों को रिकॉर्ड करने के लिए समझ में आता है जो वास्तव में होते हैं।

सामने वाला स्वयंसिद्ध है

जबकिकरनाएस,रोंअगरफिरएस;जबकिकरनाएसऔर छोड़ें,रों

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


10

राज्य बाद में कमी के चरणों में बदल सकता है क्योंकि दाहिने हाथ की तरफ

wमैंएल बी  एस,σमैं बी टीn (एस; wमैंएल बी  एस) एलरों रोंमैंपी,σ

wमैंएल-लूप द्वारा पहरा (पूर्ववर्ती) लगाया जाता है एस। की गणनाएस स्थिति बदल सकते हैं ताकि हालत बी का मूल्यांकन कर सकते हैं एलरों


तो, इसका मतलब यह है कि राज्य परिवर्तन को अन्य नियमों में व्यक्त किया जाना चाहिए जिससे एस संभावित रूप से एक ठोस कार्यक्रम में कम हो सकता है?
एल मार्स

@ElMarce हां। मैं एक सरल उदाहरण के माध्यम से जाने का सुझाव देता हूंएक्स: =2; wमैंएल एक्स>0  एक्स: =एक्स-1और देखें कि यह कैसे काम करता है।
मार्टिन बर्गर

9

राज्य σ जब हम विचार करते हैं तो परिवर्तन नहीं होता है बीयह तय करने के लिए कि क्या पाश का एक चलना है, लेकिन यह बाद में बदल सकता है जब हम शरीर को चलाते हैंएस। और इसलिए, अगली बार जब हम विचार करेंगेबीका परिवर्तन हो सकता है σ


यह स्पष्टीकरण, अनिवार्य रूप से सही होने पर, यह नहीं बताता है कि राज्य क्या हैं (अर्थात् एक ऐसा फ़ंक्शन जो हमें वैरिएबल के मूल्यों को बताता है) और एक राज्य परिवर्तन क्या दर्शाता है (अर्थात कम से कम एक चर परिवर्तन का मूल्य)।
हंस ह्यूटल

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

लेकिन सवाल एक विशिष्ट लघु-चरण संचालन शब्दार्थ से संबंधित है, जिसके लिए एक राज्य की धारणा अच्छी तरह से परिभाषित है।
हंस हौटल

मैंने कभी नहीं कहा कि यह नहीं था। मैं सिर्फ इतना कह रहा हूं कि आपकी टिप्पणी आवश्यक है, क्योंकि मेरा विवरण इस बात का स्पष्ट उल्लेख किए बिना है कि राज्य किस प्रकार तैयार किया गया है। शायद आपने पाया कि ओपी यह नहीं जानता था कि राज्य चर से मूल्यों तक का मानचित्र था। आपके लिए अच्छा है, आपको अपना उत्तर स्वीकार कर लिया गया है, और मैंने नहीं किया। बधाई हो। अब आप मुझ पर अपना जवाब देने के लिए मजबूर क्यों हो रहे हैं, यह मेरी समझ से परे है। क्यों ठीक है तुम मेरे जवाब की जरूरत महसूस करते हो तुम्हारा जैसा? मेरा जवाब टिप्पणी के बिना समझ में आता है जो आपको लगता है कि आवश्यक है। शायद कोई एक दिन मेरे उत्तर की तलाश में आ जाएगा।
बाउर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.