VKontakte फेसबुक ट्विटर RSS फीड

इंटरनेट बँकिंग एक संधी प्रदान करते. इलेक्ट्रॉनिक बँकिंग. बँका टिकून राहण्याचा एक मार्ग

गणना केलेला प्रकार अभिज्ञापकांचा संच म्हणून परिभाषित केला जातो ज्याची भाषा भाषेच्या दृष्टीने, नियमित नामांकित स्थिरांकांसारखीच भूमिका असते, परंतु त्या प्रकाराशी संबंधित असतात. क्लासिक वर्णनपास्कलमधील गणनेचा प्रकार असा दिसतो:

प्रकार कार्डसूट = (क्लब, हिरे, हृदय, हुकुम);

येथेच कार्डसूट डेटा प्रकार घोषित केला जातो ( कार्ड सूट), ज्याची मूल्ये चार सूचीबद्ध स्थिरांकांपैकी कोणतीही असू शकतात. एक कार्डसूट प्रकार व्हेरिएबल व्हॅल्यूज क्लब, डायमंड्स, हार्ट्स, स्पेड्स यापैकी एक घेऊ शकतो, समानता किंवा असमानतेसाठी गणन प्रकार मूल्यांची तुलना करू शकतो, तसेच त्यांना निवड ऑपरेटर्समध्ये (पास्कल - केसमध्ये) वापरण्याची परवानगी आहे; मूल्ये ओळखण्याचे पर्याय.

गणनेचा वापर आपल्याला प्रोग्राम स्त्रोत कोड अधिक वाचनीय बनविण्यास अनुमती देतो, कारण ते आपल्याला "जादू क्रमांक" पुनर्स्थित करण्याची परवानगी देतात जे वाचनीय नावांसह विशिष्ट मूल्ये एन्कोड करतात.

काही भाषांमधील गणनेच्या आधारे सेट प्रकार तयार केले जाऊ शकतात. अशा प्रकरणांमध्ये, एक संच गणनेच्या प्रकारातील अद्वितीय मूल्यांचा अक्रमित संग्रह म्हणून समजला जातो (आणि वर्णन केले जाते).

व्हेरिएबल्स आणि फंक्शन्सच्या औपचारिक पॅरामीटर्स (प्रक्रिया, पद्धती) च्या घोषणांमध्ये गणना केलेला प्रकार वापरला जाऊ शकतो. गणना केलेल्या प्रकाराची मूल्ये संबंधित व्हेरिएबल्सना नियुक्त केली जाऊ शकतात आणि संबंधित प्रकारांच्या पॅरामीटर्समधून फंक्शन्समध्ये पास केली जाऊ शकतात. याव्यतिरिक्त, समानता आणि असमानतेसाठी एनम प्रकार मूल्यांची तुलना नेहमीच समर्थित असते. काही भाषा गणना केलेल्या प्रकारांच्या मूल्यांसाठी इतर तुलना ऑपरेशन्सना देखील समर्थन देतात. अशा प्रकरणांमध्ये दोन गणना केलेल्या मूल्यांची तुलना करण्याचा परिणाम, नियम म्हणून, प्रकार घोषणेमधील या मूल्यांच्या क्रमाने निर्धारित केला जातो - प्रकार घोषणेमध्ये पूर्वी आढळणारे मूल्य त्या मूल्यापेक्षा "कमी" मानले जाते. नंतर उद्भवते. कधीकधी enum प्रकार किंवा enum प्रकाराच्या मूल्यांची काही श्रेणी देखील ॲरेसाठी इंडेक्स प्रकार म्हणून वापरली जाऊ शकते. या प्रकरणात, निवडलेल्या श्रेणीतील प्रत्येक मूल्यासाठी ॲरेमध्ये एक घटक असतो आणि घटकांचा वास्तविक क्रम प्रकार घोषणामधील मूल्यांच्या क्रमाशी संबंधित असतो.

अंमलबजावणी

सामान्यतः, गणन मूल्ये संकलनादरम्यान पूर्णांक वापरून दर्शविली जातात. विशिष्ट प्रोग्रामिंग भाषेवर अवलंबून, असे प्रतिनिधित्व प्रोग्रामरपासून पूर्णपणे लपवले जाऊ शकते किंवा विशिष्ट "वर्कअराउंड्स" वापरून त्याच्यासाठी प्रवेशयोग्य असू शकते (उदाहरणार्थ, गणन मूल्याचे पूर्णांक मूल्यामध्ये रूपांतर करणे) किंवा अगदी नियंत्रित प्रोग्रामर (अशा प्रकरणांमध्ये, प्रोग्रामरला गणन प्रकारातील सर्व किंवा काही मूल्ये कोणत्या क्रमांकासह एन्कोड केली जातील हे स्पष्टपणे निर्दिष्ट करण्याची संधी असते). सर्व पर्यायांमध्ये त्यांचे सकारात्मक आणि आहेत नकारात्मक पैलू. एकीकडे, गणन प्रकार बनवणाऱ्या स्थिरांकांची संख्यात्मक मूल्ये वापरण्याची शक्यता, विशेषत: गैरवर्तन केल्यास, या प्रकारांचा वापर करण्याच्या उद्देशाला पराभूत करते आणि त्रुटींचा धोका निर्माण होतो (जेव्हा अंकीय मूल्ये वापरली जातात ज्यासाठी प्रकारात कोणतेही संबंधित स्थिरांक नाहीत). दुसरीकडे, स्पष्ट मूल्य व्यवस्थापन काही देते अतिरिक्त वैशिष्ट्ये. उदाहरणार्थ, इतर भाषांमध्ये लिहिलेल्या मॉड्यूल्ससह इंटरफेस आयोजित करताना, ते काही पूर्वनिर्धारित सेटमधून पूर्णांक-एनकोड केलेली मूल्ये वापरत असल्यास किंवा परत केल्यास ते तुम्हाला गणनेचे प्रकार वापरण्याची परवानगी देते.

भाषा अंमलबजावणी स्तरावर गणना केलेले प्रकार प्रदान करणारी दुसरी संधी म्हणजे मेमरी बचत. छोट्या गणनेच्या प्रकारासह, त्या प्रकाराचे मूल्य संचयित करण्यासाठी काही बिट्स पुरेसे आहेत (वरील कार्डसूट प्रकारासाठी प्रति मूल्य फक्त दोन बिट्स आवश्यक आहेत, तर वापरात असलेल्या बहुतेक आर्किटेक्चर्सवर एक मानक पूर्णांक 32 बिट घेते - 16 पट जास्त), आणि कंपाइलर मेमरीमधील डेटा स्टोरेज कॉम्प्रेस करण्यासाठी हे तथ्य वापरू शकतो. हे विशेषतः महत्वाचे असू शकते जर एकाच रेकॉर्डमध्ये एकाधिक एनम प्रकारची मूल्ये संग्रहित केली गेली असतील - मोठ्या संख्येने प्रक्रिया करताना रेकॉर्ड कॉम्पॅक्ट केल्याने बरीच मेमरी मोकळी होऊ शकते. तथापि, हे लक्षात घ्यावे की कंपाइलर सहसा हे वैशिष्ट्य लागू करत नाहीत, किमान मध्ये नाही अलीकडे, जेव्हा संगणक मेमरी लक्षणीयरीत्या स्वस्त झाली.

टीका

गणनेचा प्रकार विकसित प्रोग्रामिंग भाषांसाठी पारंपारिक आहे, मोठ्या प्रमाणावर वापरला जातो आणि बऱ्याचदा गृहीत धरला जातो. तथापि, हा प्रकार प्रोग्रामिंग सिद्धांतकार आणि अभ्यासकांकडून टीका केल्याशिवाय नाही. अशा प्रकारे, ओबेरॉन प्रोग्रामिंग भाषेच्या विकासादरम्यान, भाषेतून काढून टाकलेल्या वैशिष्ट्यांच्या सूचीमध्ये असंख्य प्रकार समाविष्ट केले गेले. भाषेचे विकसक निक्लॉस विर्थ यांनी खालील कारणे दिली:

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

विविध भाषांमधील गणनेचे वर्णन

एनम कार्डसूट ( क्लब , हिरे , ह्रदये , हुकुम );

डायनॅमिक, सी-सारखी वाक्यरचना असलेल्या (जसे की पर्ल किंवा JavaScript) कमकुवतपणे टाइप केलेल्या भाषांमध्ये सामान्यत: गणना नसते.

C++

C++ गणने थेट C गणनेच्या वर्तनाचा वारसा घेतात, त्याशिवाय C++ मधील enum प्रकार हा खरा प्रकार आहे आणि enum कीवर्ड फक्त तो प्रकार घोषित करताना वापरला जातो. जर, प्रगणना असलेल्या पॅरामीटरवर प्रक्रिया करताना, गणनेतील कोणत्याही मूल्यावर प्रक्रिया केली गेली नाही (उदाहरणार्थ, गणनेतील घटकांपैकी एक स्विच कंस्ट्रक्टमध्ये प्रक्रिया करणे विसरले होते), तर कंपाइलर एक चेतावणी जारी करू शकतो. विसरलेले मूल्य.

एनम कार्डसूट (क्लब, हिरे, हुकुम, हृदय)

जावा

मूळ Java मध्ये गणना नव्हती; त्याऐवजी, स्थिर स्थिरांकांसह वर्ग वापरण्याचा प्रस्ताव होता. आवृत्ती 5 (1.5) पासून प्रारंभ करून, गणने भाषेमध्ये सादर केली गेली आहेत; प्रकार सुरक्षिततेवर सुधारित नियंत्रण प्रदान करण्यासाठी गणने सादर करण्यात आली.

वर्णन आणि वापर

गणना केलेला प्रकार अभिज्ञापकांचा संच म्हणून परिभाषित केला जातो ज्याची भाषा भाषेच्या दृष्टीने, नियमित नामांकित स्थिरांकांसारखीच भूमिका असते, परंतु त्या प्रकाराशी संबंधित असतात. पास्कलमधील गणन प्रकाराचे क्लासिक वर्णन असे दिसते:

कार्डसूट टाइप करा = (क्लब, हिरे, हृदय, हुकुम);

येथे कार्डसूट डेटा प्रकार घोषित केला आहे, ज्याची मूल्ये चार सूचीबद्ध स्थिरांकांपैकी कोणतीही असू शकतात. एक कार्डसूट प्रकार व्हेरिएबल व्हॅल्यूज क्लब, डायमंड्स, हार्ट्स, स्पेड्स यापैकी एक घेऊ शकतो, समानता किंवा असमानतेसाठी गणन प्रकार मूल्यांची तुलना करू शकतो, तसेच त्यांना निवड ऑपरेटर्समध्ये (पास्कल - केसमध्ये) वापरण्याची परवानगी आहे; मूल्ये ओळखण्याचे पर्याय.

गणनेचा वापर तुम्हाला प्रोग्राम सोर्स कोड अधिक वाचनीय बनविण्यास अनुमती देतो, कारण ते तुम्हाला बदलण्याची परवानगी देतात "जादूची संख्या", काही मूल्ये वाचनीय नावांमध्ये एन्कोड करणे.

गणनेच्या आधारे, काही भाषा तयार करू शकतात सेट प्रकार. अशा प्रकरणांमध्ये, एक संच गणनेच्या प्रकारातील अद्वितीय मूल्यांचा अक्रमित संग्रह म्हणून समजला जातो (आणि वर्णन केले जाते).

व्हेरिएबल्स आणि फंक्शन्सच्या औपचारिक पॅरामीटर्स (प्रक्रिया, पद्धती) च्या घोषणांमध्ये गणना केलेला प्रकार वापरला जाऊ शकतो. गणना केलेल्या प्रकाराची मूल्ये संबंधित व्हेरिएबल्सना नियुक्त केली जाऊ शकतात आणि संबंधित प्रकारांच्या पॅरामीटर्समधून फंक्शन्समध्ये पास केली जाऊ शकतात. याव्यतिरिक्त, समानता आणि असमानतेसाठी एनम प्रकार मूल्यांची तुलना नेहमीच समर्थित असते. काही भाषा गणना केलेल्या प्रकारांच्या मूल्यांसाठी इतर तुलना ऑपरेशन्सना देखील समर्थन देतात. अशा प्रकरणांमध्ये दोन गणना केलेल्या मूल्यांची तुलना करण्याचा परिणाम, नियम म्हणून, प्रकार घोषणेमधील या मूल्यांच्या क्रमाने निर्धारित केला जातो - प्रकार घोषणेमध्ये पूर्वी आढळणारे मूल्य त्या मूल्यापेक्षा "कमी" मानले जाते. नंतर उद्भवते. कधीकधी enum प्रकार किंवा enum प्रकाराच्या मूल्यांची काही श्रेणी देखील ॲरेसाठी इंडेक्स प्रकार म्हणून वापरली जाऊ शकते. या प्रकरणात, निवडलेल्या श्रेणीतील प्रत्येक मूल्यासाठी ॲरेमध्ये एक घटक असतो आणि घटकांचा वास्तविक क्रम प्रकार घोषणामधील मूल्यांच्या क्रमाशी संबंधित असतो.

अंमलबजावणी

सामान्यतः, गणन मूल्ये संकलनादरम्यान पूर्णांक वापरून दर्शविली जातात. विशिष्ट प्रोग्रामिंग भाषेवर अवलंबून, असे प्रतिनिधित्व प्रोग्रामरपासून पूर्णपणे लपवले जाऊ शकते किंवा विशिष्ट "वर्कअराउंड्स" वापरून त्याच्यासाठी प्रवेशयोग्य असू शकते (उदाहरणार्थ, गणन मूल्याचे पूर्णांक मूल्यामध्ये रूपांतर करणे) किंवा अगदी नियंत्रित प्रोग्रामर (अशा प्रकरणांमध्ये, प्रोग्रामरला गणन प्रकारातील सर्व किंवा काही मूल्ये कोणत्या क्रमांकासह एन्कोड केली जातील हे स्पष्टपणे निर्दिष्ट करण्याची संधी असते). सर्व पर्यायांना त्यांच्या सकारात्मक आणि नकारात्मक बाजू आहेत. एकीकडे, गणन प्रकार बनवणाऱ्या स्थिरांकांची संख्यात्मक मूल्ये वापरण्याची शक्यता, विशेषत: गैरवर्तन केल्यास, या प्रकारांचा वापर करण्याच्या उद्देशाला पराभूत करते आणि त्रुटींचा धोका निर्माण होतो (जेव्हा अंकीय मूल्ये वापरली जातात ज्यासाठी प्रकारात कोणतेही संबंधित स्थिरांक नाहीत). दुसरीकडे, स्पष्ट मूल्य व्यवस्थापन काही अतिरिक्त क्षमता प्रदान करते. उदाहरणार्थ, इतर भाषांमध्ये लिहिलेल्या मॉड्यूल्ससह इंटरफेस आयोजित करताना, ते काही पूर्वनिर्धारित सेटमधून पूर्णांक-एनकोड केलेली मूल्ये वापरत असल्यास किंवा परत केल्यास ते तुम्हाला गणनेचे प्रकार वापरण्याची परवानगी देते.

भाषा अंमलबजावणी स्तरावर गणना केलेले प्रकार प्रदान करणारी दुसरी संधी म्हणजे मेमरी बचत. छोट्या गणनेच्या प्रकारासह, त्या प्रकाराचे मूल्य संचयित करण्यासाठी काही बिट्स पुरेसे आहेत (वरील कार्डसूट प्रकारासाठी प्रति मूल्य फक्त दोन बिट्स आवश्यक आहेत, तर वापरात असलेल्या बहुतेक आर्किटेक्चर्सवर एक मानक पूर्णांक 32 बिट घेते - 16 पट जास्त), आणि कंपाइलर मेमरीमधील डेटा स्टोरेज कॉम्प्रेस करण्यासाठी हे तथ्य वापरू शकतो. हे विशेषतः महत्वाचे असू शकते जर एकाच रेकॉर्डमध्ये एकाधिक एनम प्रकारची मूल्ये संग्रहित केली गेली असतील - मोठ्या संख्येने प्रक्रिया करताना रेकॉर्ड कॉम्पॅक्ट केल्याने बरीच मेमरी मोकळी होऊ शकते. तथापि, हे लक्षात घ्यावे की कॉम्प्युटर मेमरी लक्षणीयरीत्या स्वस्त झाली आहे तेव्हा कंपाइलर सहसा या वैशिष्ट्याची अंमलबजावणी करत नाहीत.

टीका

गणनेचा प्रकार विकसित प्रोग्रामिंग भाषांसाठी पारंपारिक आहे, मोठ्या प्रमाणावर वापरला जातो आणि बऱ्याचदा गृहीत धरला जातो. तथापि, हा प्रकार प्रोग्रामिंग सिद्धांतकार आणि अभ्यासकांकडून टीका केल्याशिवाय नाही. तर, प्रोग्रामिंग भाषा विकसित करताना ओबेरॉनभाषेतून काढून टाकलेल्या वैशिष्ट्यांच्या सूचीमध्ये गणना केलेले प्रकार समाविष्ट केले गेले. निकलॉस विर्थ, भाषेच्या विकसकाने खालील कारणे दिली:

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

विविध भाषांमधील गणनेचे वर्णन

अडा

एनम कार्डसूट (क्लब, हिरे, ह्रदये, हुकुम);

डायनॅमिक, सी-सारख्या वाक्यरचनासह कमकुवत टाइप केलेल्या भाषा (उदा. पर्लकिंवा JavaScript), नियमानुसार, गणने नाहीत.

C++

C#

एनम कार्डसूट (क्लब, हिरे, हुकुम, हृदय);

जावा

एनम कार्डसूट (क्लब, हिरे, हुकुम, हृदय)

हॅस्केल

काहींमध्ये प्रोग्रामिंग भाषा(उदाहरणार्थ, भाषेत हॅस्केल) वापरून बीजगणितीय प्रकारगणनेचे अनुकरण केले जाऊ शकते. उदाहरणार्थ, सत्य मूल्यांचे प्रतिनिधित्व करण्यासाठी दोन अभिज्ञापक असलेला बूलियन प्रकार एन्कोड केलेला आहे:

डेटा बूल = असत्य | खरे

नोट्स


विकिमीडिया फाउंडेशन.

2010.

तांत्रिक कारणांसाठी, Bool येथे पुनर्निर्देशित केले आहे. तुम्ही येथे Bool बद्दल वाचू शकता: stdbool.h. तार्किक, बुलियन (इंग्रजी बुलियन किंवा तार्किक डेटा प्रकार) डेटा प्रकार हा संगणक विज्ञानातील एक आदिम डेटा प्रकार आहे जो दोन संभाव्य घेऊ शकतो ... विकिपीडिया

प्रोग्रामिंग सिद्धांतामध्ये, कोणत्याही प्रकारची मूल्ये ज्याची मूल्ये काही इतर प्रकारची मूल्ये आहेत, बीजगणित प्रकाराच्या कन्स्ट्रक्टरद्वारे "गुंडाळलेली". दुसऱ्या शब्दांत, बीजगणितीय डेटा प्रकारात प्रकार रचनाकारांचा संच असतो, त्यातील प्रत्येक... ... विकिपीडिया

इंटीजर, एक पूर्णांक डेटा प्रकार (इंग्रजी पूर्णांक), संगणक विज्ञानातील प्रोग्रामिंग भाषांमधील सर्वात सोपा आणि सर्वात सामान्य डेटा प्रकारांपैकी एक. पूर्णांकांचे प्रतिनिधित्व करण्यासाठी वापरले जाते. या प्रकारच्या संख्यांचा संच आहे... ... विकिपीडिया

प्रिमिटिव्ह (अंगभूत, बेस) प्रकार हा प्रोग्रामिंग भाषेद्वारे भाषेच्या मूलभूत अंगभूत युनिट म्हणून प्रदान केलेला डेटा प्रकार आहे. भाषा आणि त्याची अंमलबजावणी यावर अवलंबून, अशा प्रकारांचा संच मोठ्या प्रमाणात बदलू शकतो. हे ... ... विकिपीडिया द्वारे निर्धारित केले जाते

या शब्दाचे इतर अर्थ आहेत, सेट (अर्थ) पहा. कॉम्प्युटर सायन्समधील संच, एक प्रकार आणि डेटा स्ट्रक्चर, हे गणितीय ऑब्जेक्ट सेटची अंमलबजावणी आहे. डेटा प्रकार संच तुम्हाला मर्यादित संख्येत मूल्ये साठवण्याची परवानगी देतो... ... विकिपीडिया

काही प्रोग्रामिंग भाषा जटिल संख्यांसाठी विशेष डेटा प्रकार प्रदान करतात. बिल्ट-इन प्रकारची उपस्थिती जटिल परिमाणांचे संचयन आणि त्यावर गणना सुलभ करते. सामग्री 1 जटिल संकुलांवर अंकगणित 2 भाषांमध्ये समर्थन ... विकिपीडिया

द्वारे हा लेख सुधारण्यासाठी माहिती तंत्रज्ञानइष्ट?: काय लिहिले आहे याची पुष्टी करणाऱ्या अधिकृत स्त्रोतांच्या तळटीपांच्या लिंक्सच्या स्वरूपात शोधा आणि व्यवस्था करा. तळटीप जोडल्यानंतर, अधिक अचूक जोडा... विकिपीडिया

ज्यांच्या मूल्यांचा संच ओळखकर्त्यांची मर्यादित यादी आहे.

विश्वकोशीय YouTube

  • 1 / 5

    गणना केलेला प्रकार अभिज्ञापकांचा संच म्हणून परिभाषित केला जातो ज्याची भाषा भाषेच्या दृष्टीने, नियमित नामांकित स्थिरांकांसारखीच भूमिका असते, परंतु त्या प्रकाराशी संबंधित असतात. पास्कलमधील गणन प्रकाराचे क्लासिक वर्णन असे दिसते:

    प्रकार कार्डसूट = (क्लब, हिरे, हृदय, हुकुम);

    येथे कार्डसूट डेटा प्रकार घोषित केला आहे, ज्याची मूल्ये चार सूचीबद्ध स्थिरांकांपैकी कोणतीही असू शकतात. एक कार्डसूट प्रकार व्हेरिएबल व्हॅल्यूज क्लब, डायमंड्स, हार्ट्स, स्पेड्स यापैकी एक घेऊ शकतो, समानता किंवा असमानतेसाठी गणन प्रकार मूल्यांची तुलना करू शकतो, तसेच त्यांना निवड ऑपरेटर्समध्ये (पास्कल - केसमध्ये) वापरण्याची परवानगी आहे; मूल्ये ओळखण्याचे पर्याय.

    गणनेचा वापर आपल्याला प्रोग्राम स्त्रोत कोड अधिक वाचनीय बनविण्यास अनुमती देतो, कारण ते आपल्याला "जादू क्रमांक" पुनर्स्थित करण्याची परवानगी देतात जे वाचनीय नावांसह विशिष्ट मूल्ये एन्कोड करतात.

    काही भाषांमधील गणनेच्या आधारे सेट प्रकार तयार केले जाऊ शकतात. अशा प्रकरणांमध्ये, एक संच गणनेच्या प्रकारातील अद्वितीय मूल्यांचा अक्रमित संग्रह म्हणून समजला जातो (आणि वर्णन केले जाते).

    व्हेरिएबल्स आणि फंक्शन्सच्या औपचारिक पॅरामीटर्स (प्रक्रिया, पद्धती) च्या घोषणांमध्ये गणना केलेला प्रकार वापरला जाऊ शकतो. गणना केलेल्या प्रकाराची मूल्ये संबंधित व्हेरिएबल्सना नियुक्त केली जाऊ शकतात आणि संबंधित प्रकारांच्या पॅरामीटर्समधून फंक्शन्समध्ये पास केली जाऊ शकतात. याव्यतिरिक्त, समानता आणि असमानतेसाठी एनम प्रकार मूल्यांची तुलना नेहमीच समर्थित असते. काही भाषा गणना केलेल्या प्रकारांच्या मूल्यांसाठी इतर तुलना ऑपरेशन्सना देखील समर्थन देतात. अशा प्रकरणांमध्ये दोन गणना केलेल्या मूल्यांची तुलना करण्याचा परिणाम, नियम म्हणून, प्रकार घोषणेमधील या मूल्यांच्या क्रमाने निर्धारित केला जातो - प्रकार घोषणेमध्ये पूर्वी आढळणारे मूल्य त्या मूल्यापेक्षा "कमी" मानले जाते. नंतर उद्भवते. कधीकधी enum प्रकार किंवा enum प्रकाराच्या मूल्यांची काही श्रेणी देखील ॲरेसाठी इंडेक्स प्रकार म्हणून वापरली जाऊ शकते. या प्रकरणात, निवडलेल्या श्रेणीतील प्रत्येक मूल्यासाठी ॲरेमध्ये एक घटक असतो आणि घटकांचा वास्तविक क्रम प्रकार घोषणामधील मूल्यांच्या क्रमाशी संबंधित असतो.

    अंमलबजावणी

    सामान्यतः, गणन मूल्ये संकलनादरम्यान पूर्णांक वापरून दर्शविली जातात. विशिष्ट प्रोग्रामिंग भाषेवर अवलंबून, असे प्रतिनिधित्व प्रोग्रामरपासून पूर्णपणे लपवले जाऊ शकते किंवा विशिष्ट "वर्कअराउंड्स" वापरून त्याच्यासाठी प्रवेशयोग्य असू शकते (उदाहरणार्थ, गणन मूल्याचे पूर्णांक मूल्यामध्ये रूपांतर करणे) किंवा अगदी नियंत्रित प्रोग्रामर (अशा प्रकरणांमध्ये, प्रोग्रामरला गणन प्रकारातील सर्व किंवा काही मूल्ये कोणत्या क्रमांकासह एन्कोड केली जातील हे स्पष्टपणे निर्दिष्ट करण्याची संधी असते). सर्व पर्यायांना त्यांच्या सकारात्मक आणि नकारात्मक बाजू आहेत. एकीकडे, गणन प्रकार बनवणाऱ्या स्थिरांकांची संख्यात्मक मूल्ये वापरण्याची शक्यता, विशेषत: गैरवर्तन केल्यास, या प्रकारांचा वापर करण्याच्या उद्देशाला पराभूत करते आणि त्रुटींचा धोका निर्माण होतो (जेव्हा अंकीय मूल्ये वापरली जातात ज्यासाठी प्रकारात कोणतेही संबंधित स्थिरांक नाहीत). दुसरीकडे, स्पष्ट मूल्य व्यवस्थापन काही अतिरिक्त क्षमता प्रदान करते. उदाहरणार्थ, इतर भाषांमध्ये लिहिलेल्या मॉड्यूल्ससह इंटरफेस आयोजित करताना, ते काही पूर्वनिर्धारित सेटमधून पूर्णांक-एनकोड केलेली मूल्ये वापरत असल्यास किंवा परत केल्यास ते तुम्हाला गणनेचे प्रकार वापरण्याची परवानगी देते.

    भाषा अंमलबजावणी स्तरावर गणना केलेले प्रकार प्रदान करणारी दुसरी संधी म्हणजे मेमरी बचत. छोट्या गणनेच्या प्रकारासह, त्या प्रकाराचे मूल्य संचयित करण्यासाठी काही बिट्स पुरेसे आहेत (वरील कार्डसूट प्रकारासाठी प्रति मूल्य फक्त दोन बिट्स आवश्यक आहेत, तर वापरात असलेल्या बहुतेक आर्किटेक्चर्सवर एक मानक पूर्णांक 32 बिट घेते - 16 पट जास्त), आणि कंपाइलर मेमरीमधील डेटा स्टोरेज कॉम्प्रेस करण्यासाठी हे तथ्य वापरू शकतो. हे विशेषतः महत्वाचे असू शकते जर एकाच रेकॉर्डमध्ये एकाधिक एनम प्रकारची मूल्ये संग्रहित केली गेली असतील - मोठ्या संख्येने प्रक्रिया करताना रेकॉर्ड कॉम्पॅक्ट केल्याने बरीच मेमरी मोकळी होऊ शकते. तथापि, हे लक्षात घ्यावे की कॉम्प्युटर मेमरी लक्षणीयरीत्या स्वस्त झाली आहे तेव्हा कंपाइलर सहसा या वैशिष्ट्याची अंमलबजावणी करत नाहीत.

    टीका

    गणनेचा प्रकार विकसित प्रोग्रामिंग भाषांसाठी पारंपारिक आहे, मोठ्या प्रमाणावर वापरला जातो आणि बऱ्याचदा गृहीत धरला जातो. तथापि, हा प्रकार प्रोग्रामिंग सिद्धांतकार आणि अभ्यासकांकडून टीका केल्याशिवाय नाही. अशा प्रकारे, ओबेरॉन प्रोग्रामिंग भाषेच्या विकासादरम्यान, भाषेतून काढून टाकलेल्या वैशिष्ट्यांच्या सूचीमध्ये असंख्य प्रकार समाविष्ट केले गेले. भाषा विकसक निक्लॉस विर्थ यांनी खालील कारणे दिली:

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

    विविध भाषांमधील गणनेचे वर्णन

    एनम कार्डसूट ( क्लब , हिरे , ह्रदये , हुकुम );

    डायनॅमिक, सी-सारखी वाक्यरचना असलेल्या (जसे की पर्ल किंवा JavaScript) कमकुवतपणे टाइप केलेल्या भाषांमध्ये सामान्यत: गणना नसते.

    गणना केलेले प्रकार

    गणना केलेले प्रकार त्या मूल्यांचे प्रतिनिधित्व करणारे अभिज्ञापक सूचीबद्ध करून मूल्यांचे क्रमबद्ध संच परिभाषित करतात. त्यांचा क्रम ज्या क्रमाने सूचीबद्ध केला गेला त्या क्रमाने येतो.

    वाक्यरचना

    नाव टाइप करा = (आयडी, आयडी, ..., आयडी);

    नोट्स

    अभिज्ञापकप्रकार व्याख्येमध्ये गणना केलेल्या प्रकाराचे स्थिरांक बनतात.

    पहिल्या स्थिरांकात अनुक्रमांक 0 आहे, दुसरा - 1, आणि असेच.

    एनम प्रकार हा उपवर्ग आहे क्रमिकप्रकार

    उदाहरण

    प्रकार सूट = (क्लब, हिरे, ह्रदये, हुकुम);

    अशा प्रकारे घोषित केल्यावर, हार्ट्स हा एक स्थिर प्रकारचा सूट आहे.

    मानक Ord फंक्शन गणना केलेल्या स्थिरांकाची क्रमिक संख्या मिळवते. या उदाहरणात,

    ऑर्डर (क्लब) = 0
    ऑर्डर (हिरे) = 1
    ऑर्डर (हृदय) = 2

    अडा

    प्रकार दिवस आहे (सोम, मंगळ, बुध, गुरु, शुक्र, शनि, रवि);
    प्रकारचा सूट आहे (क्लब, हिरे, ह्रदये, हुकुम);
    प्रकार रंग आहे (पांढरा, लाल, पिवळा, हिरवा, निळा, तपकिरी, काळा);
    प्रकार प्रकाश आहे (लाल, अंबर, हिरवा); -- लाल आणि हिरवे ओव्हरलोड आहेत

    बोरलँड पास्कलच्या विपरीत, प्रकार परिभाषामधील अभिज्ञापक स्थिरांकांऐवजी फंक्शन बनतात. हे त्यांना ओव्हरलोड करण्यास अनुमती देते. अन्यथा, या फंक्शन्सचे वर्तन पूर्णपणे स्थिरांकांसारखे असते.



2024 घरातील आरामाबद्दल. गॅस मीटर. हीटिंग सिस्टम. पाणी पुरवठा. वायुवीजन प्रणाली