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

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

मध्यम

निर्देश

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

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

  • किसी ग्रेड के रोस्टर में छात्र का नाम जोड़ना:
    • "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."

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

शब्द

रोस्टर रखने के लिए एक school टपल बनाइए। छात्रों को उसके अंदर कैसे रखना है, यह आप पर निर्भर है। इसके बाद नीचे दिए गए शब्द बनाइए।

  • <school> ( -- school ): एक खाली स्कूल बनाता है।
  • add-student ( school name grade -- ? ): grade में name जोड़ता है। सफल होने पर t लौटाता है, और अगर name पहले ही जोड़ा जा चुका हो (इसी ग्रेड में या किसी अन्य ग्रेड में), तो f लौटाता है। ऐसी स्थिति में रोस्टर में कोई बदलाव नहीं होता।
  • roster ( school -- names ): सभी छात्र, पहले ग्रेड के अनुसार और फिर नाम के वर्णानुक्रम में क्रमबद्ध।
  • grade ( school n -- names ): ग्रेड n के छात्र, नाम के वर्णानुक्रम में क्रमबद्ध।

स्रोत

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

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

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