ट्रैक
/
Standard ML
Standard ML
/
अभ्यास
/
प्राथमिक विद्यालय
प्राथमिक विद्यालय

प्राथमिक विद्यालय

मध्यम

निर्देश

आपको छात्रों के नाम और उनका ग्रेड दिया जाएगा। इन्हीं की मदद से स्कूल के लिए एक रोस्टर बनाइए।

अंत में, आपको यह सब कर पाना चाहिए:

  • किसी ग्रेड के रोस्टर में छात्र का नाम जोड़ना:
    • "Add Jim to grade 2."
    • "OK."
  • किसी ग्रेड में पढ़ने वाले सभी छात्रों की सूची निकालना:
    • "Which students are in grade 2?"
    • "We've only got Jim right now."
  • सभी ग्रेडों के सभी छात्रों की क्रमबद्ध सूची निकालना। ग्रेड 1, 2, 3, इत्यादि के क्रम में लगे होने चाहिए, और एक ही ग्रेड के छात्र नाम के वर्णानुक्रम में लगे होने चाहिए।
    • "Who is enrolled in school right now?"
    • "Let me think. We have Anna, Barb, and Charlie in grade 1, Alex, Peter, and Zoe in grade 2, and Jim in grade 5. So the answer is: Anna, Barb, Charlie, Alex, Peter, Zoe, and Jim."

ध्यान दीजिए कि हमारे सभी छात्रों का नाम एक ही शब्द का है (यह एक छोटा सा शहर है, भला और क्या चाहिए?), और किसी भी छात्र को किसी ग्रेड में या रोस्टर में एक से ज़्यादा बार नहीं जोड़ा जा सकता। अगर कोई टेस्ट एक ही छात्र को एक से ज़्यादा बार जोड़ने की कोशिश करता है, तो आपके कोड को बताना चाहिए कि यह गलत है।

कार्यान्वयन

इस अभ्यास को पूरा करने के लिए आपको struct कार्यान्वित करना है। इसके लिए डेटा टाइप school परिभाषित कीजिए और ये फंक्शन बनाइए:

  • newSchool
  • add
  • roster
  • grade

Notes on Programming SML/NJ के अध्याय 3 में signatures और structs के उपयोग पर चर्चा की गई है।


स्रोत

gSchool में Phil Battos के साथ एक पेयरिंग सेशन
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Standard ML Exercism

प्राथमिक विद्यालय शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Standard ML को 90 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।