UNITY (programming language)
यूनिटी एक प्रोग्रामिंग भाषा है जिसका निर्माण के. मणि चांडी और जयदेव मिश्रा ने अपनी पुस्तक पैरेलल प्रोग्राम डिजाइनः ए फाउंडेशन के लिए किया है। यह एक सैद्धांतिक भाषा है जो कहाँ, कब या कैसे के बजाय क्या पर केंद्रित है। भाषा में प्रवाह नियंत्रण की कोई विधि नहीं है, और कार्यक्रम कथन गैर-निर्धारक तरीके से तब तक चलते हैं जब तक कि कथन निष्पादन के दौरान परिवर्तन का कारण बनना बंद नहीं कर देते। यह कार्यक्रमों को अनिश्चित काल तक चलाने की अनुमति देता है, जैसे कि ऑटो-पायलट या बिजली संयंत्र सुरक्षा प्रणाली, साथ ही ऐसे कार्यक्रम जो सामान्य रूप से समाप्त हो जाते हैं (जो यहां एक निश्चित बिंदु पर अभिसरण करते हैं)। विवरण सभी कथन असाइनमेंट हैं, और #से अलग किए गए हैं। एक कथन में a, b, c: = x, y, z, या a: = x।। b: = y। c: = z के रूप में कई कार्य शामिल हो सकते हैं। आपके पास एक मात्रात्मक कथन सूची भी हो सकती है, <#x, y: अभिव्यक्तिःः कथन>, जहाँ x और y को अभिव्यक्ति को संतुष्ट करने वाले मूल्यों के बीच यादृच्छिक रूप से चुना जाता है। एक मात्रात्मक कार्य समान है। <। x, y: अभिव्यक्तिःः कथन> में, कथन को x और y के सभी जोड़ों के लिए एक साथ निष्पादित किया जाता है जो अभिव्यक्ति को संतुष्ट करते हैं। उदाहरण बबल सॉर्ट बबल आसन्न संख्याओं की तुलना करके सरणी को क्रमबद्ध करता है, और यदि वे गलत क्रम में हैं तो उन्हें अदला-बदली करता है। अपेक्षित समय, प्रोसेसर और अपेक्षित कार्य का उपयोग करना। आपके पास केवल समय की अपेक्षा करने का कारण यह है कि k को हमेशा यादृच्छिक रूप से चुना जाता है। इसे k को हाथ से फ़्लिप करके ठीक किया जा सकता है। प्रोग्राम बुलबुले घोषणा करते हैं n: पूर्णांक, A: पूर्णांक की सरणी [0.n-1] शुरू में n = 20 #<। i: 0 <= i और i <n:: A [i] = rand ()% 100> असाइन करें <#k: 0 <= k <2:: <। i: i% 2 = k और 0 <= i <n-1:: A [i], A [i + 1]: = A [i + 1], A [i] यदि A [i]> A [i + 1]> अंतिम रैंक-सॉर्ट आप रैंक-सॉर्ट के साथ समय में सॉर्ट कर सकते हैं। आपको प्रक्रमकों की आवश्यकता है, और आप काम करते हैं। प्रोग्राम रैंकसॉर्ट घोषित करता है n: पूर्णांक, A, R: शुरू में पूर्णांक की सरणी [0.n-1] n = 15 #<।। i: 0 <= i <n:: A [i], R [i] = rand ()% 100, i> असाइन करें <। i: 0 <= i <n:: R [i]: = <+ j: 0 <= j <n और (A [j] <A [i] या (A [j] = A [i] और j <i)::: 1> #<। i: 0 <= i <n:: A [R [i]: = A [i]> अंत फ़्लॉइड-वार्श प्रोग्राम का सबसे छोटा पथ n, k: पूर्णांक, D: पूर्णांक की सरणी [0.n-1,0.n-1] शुरू में n = 10 #k = 0 #<। i, j: 0 <= i <n और 0 <= j <n:: D [i, j] = rand ()% 100> असाइन <। i, j: 0 <= i <n और 0 <= j <n:: D [i, j]: = min (D [i, j], D [i, k] + D [k, j])।। k: = k + 1 अगर k <n-1 अंत हम इसे और भी तेजी से कर सकते हैं। निम्नलिखित प्रोग्राम प्रोसेसर और कार्य का उपयोग करके समय में सभी जोड़े के सबसे छोटे पथ की गणना करते हैं। प्रोग्राम का सबसे छोटा पथ 2 घोषित करता है n: पूर्णांक, D: पूर्णांक की सरणी [0.n-1,0.n-1] शुरू में n = 10 #<। i, j: 0 <= i <n और 0 <= j <n:: D [i, j] = rand ()% 10> असाइन करें <। i, j: 0 <= i <n और 0 <= j <n:: D [i, j]: = min (D [i, j], <min k: 0 <= k <n::: D [i, k] + D [k, j]> अंत के बाद, D [i, j] में सबसे छोटे पथ की लंबाई होती है अगले दौर में, लंबाई, और इतने पर। संदर्भ के. मणि चांडी और जयदेव मिश्रा (1988) समानांतर कार्यक्रम डिजाइनः एक फाउंडेशन। प्रायोगिक प्रोग्रामिंग भाषाएँ