एल्म - निर्णय लेना

निर्णय लेने की संरचनाओं के लिए आवश्यक है कि प्रोग्रामर एक या एक से अधिक शर्तों को कार्यक्रम द्वारा मूल्यांकन या परीक्षण करने के लिए निर्दिष्ट करता है, साथ ही एक बयान या बयानों के साथ निष्पादित किया जाता है यदि स्थिति सच है, और वैकल्पिक रूप से, निष्पादित होने के लिए अन्य बयान। हालत झूठी होने के लिए निर्धारित है।

नीचे दिखाया गया है, अधिकांश प्रोग्रामिंग भाषाओं में पाया जाने वाला एक विशिष्ट निर्णय लेने की संरचना का सामान्य रूप है

निर्देशों को निष्पादित करने से पहले एक निर्णय लेने वाला निर्माण एक स्थिति का मूल्यांकन करता है। एल्म में निर्णय लेने वाले निर्माणों को निम्नानुसार वर्गीकृत किया गया है -

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

अगर ... तो ... और कथन

if…thenकोड का एक ब्लॉक निष्पादित होने से पहले निर्माण एक स्थिति का मूल्यांकन करता है। यदि बूलियन अभिव्यक्ति सही का मूल्यांकन करती है, तो तत्कालीन विवरण के अंदर कोड का ब्लॉक निष्पादित किया जाएगा। यदि बूलियन अभिव्यक्ति गलत का मूल्यांकन करती है, तो अन्य विवरण के अंदर कोड का ब्लॉक निष्पादित किया जाएगा।

अन्य प्रोग्रामिंग भाषाओं के विपरीत, एल्म में हमें दूसरी शाखा प्रदान करनी चाहिए। अन्यथा, एल्म एक त्रुटि फेंक देगा।

वाक्य - विन्यास

if boolean_expression then statement1_ifTrue else statement2_ifFalse

चित्रण

REPL टर्मिनल में निम्न उदाहरण का प्रयास करें।

> if 10>5 then "10 is bigger" else "10 is small"
"10 is bigger" : String

नेस्टेड इफ

नेस्ट अगर बयान कई स्थितियों के परीक्षण के लिए उपयोगी है। यदि कथन नीचे दिया गया है, तो एक नेस्टेड का सिंटैक्स -

if boolean_expression1 then statement1_ifTrue else if boolean_expression2 then statement2_ifTrue else statement3_ifFalse

चित्रण

एल्म आरईपीएल में निम्नलिखित उदाहरण का प्रयास करें -

> score=80
80 : number
> if score>=80 then "Outstanding" else if score > = 70 then "good" else "average"
"Outstanding" : String

केस का बयान

केस स्टेटमेंट का इस्तेमाल अगर और स्टेटमेंट को सरल बनाने के लिए किया जा सकता है। केस स्टेटमेंट का सिंटैक्स नीचे दिया गया है -

case variable_name of
   constant1 -> Return_some_value
   constant2 -> Return_some_value
   _ -> Return_some_value if none of the above values match

यदि एक वैरिएबल का मान स्थिरांक के पूर्वनिर्धारित सेट से मेल खाता है और संबंधित मान लौटाता है, तो केस स्टेटमेंट चेक करता है। ध्यान दें कि प्रत्येक मामले द्वारा लौटाया गया मान एक ही प्रकार का होना चाहिए। यदि चर मान किसी दिए गए स्थिरांक से मेल नहीं खाता है, तो नियंत्रण को * डिफ़ॉल्ट * (// _ द्वारा चिह्नित) पास कर दिया जाता है और संबंधित मान वापस कर दिया जाता है।

चित्रण

एल्म आरईपीएल में निम्नलिखित उदाहरण का प्रयास करें -

> n = 10
10 : number
> case n of \
| 0 -> "n is Zero" \
| _ -> "n is not Zero"
"n is not Zero" : String

उपरोक्त कोड स्निपेट यह जाँचता है कि क्या n का मान शून्य है। नियंत्रण को डिफ़ॉल्ट रूप से पास किया जाता है, जो "n शून्य नहीं है" स्ट्रिंग लौटाता है।