دبستان

دبستان

آسان

دستورالعمل‌ها

با داشتن اسم دانش‌آموزان به‌همراه پایه‌ای که در آن هستند، یک فهرست برای مدرسه بسازید.

در پایان باید بتوانید:

  • اسم یک دانش‌آموز را برای یک پایه به فهرست اضافه کنید
    • «Jim را به پایه ۲ اضافه کنید.»
    • «بسیار خوب.»
  • فهرستی از همه‌ی دانش‌آموزان ثبت‌نام‌شده در یک پایه بگیرید
    • «چه دانش‌آموزانی در پایه ۲ هستند؟»
    • «فعلاً فقط Jim را داریم.»
  • فهرست مرتب‌شده‌ای از همه‌ی دانش‌آموزان در همه‌ی پایه‌ها بگیرید. پایه‌ها باید به ترتیب ۱، ۲، ۳ و غیره مرتب شوند و دانش‌آموزان درون یک پایه باید بر اساس اسم به ترتیب الفبا مرتب شوند.
    • «الان چه کسانی در مدرسه ثبت‌نام کرده‌اند؟»
    • «بگذارید فکر کنم. در پایه ۱ Anna، Barb و Charlie را داریم، در پایه ۲ Alex، Peter و Zoe و در پایه ۵ Jim. پس جواب این است: Anna، Barb، Charlie، Alex، Peter، Zoe و Jim»

توجه کنید که همه‌ی دانش‌آموزان ما فقط یک اسم دارند (شهر کوچکی است، چه انتظاری دارید؟) و هر دانش‌آموز را نمی‌توان بیش از یک بار به یک پایه یا به فهرست اضافه کرد. در واقع، وقتی یک test می‌کوشد دانش‌آموز یکسانی را بیش از یک بار اضافه کند، پیاده‌سازی شما باید نشان دهد که این کار نادرست است.

راهنمایی‌ها

برای اینکه آزمون را پاس کنید، باید چند نوع بسازید تا کدتان روی آن‌ها کار کند. به یک شیء برای School نیاز دارید که دنباله‌ای از نوع Student را در خود نگه دارد؛ این نوع یک تاپل از string و int است که اسم و پایه‌ی دانش‌آموزان را نگه می‌دارد.

در ادامه کدی برای این نوع‌ها آمده است که می‌تواند هنگام شروع کار مفید باشد.

type
  Student* = tuple[name: string, grade: int]
  School* = object
    students*: seq[Student]

منبع

یک جلسه‌ی برنامه‌نویسی دونفره با Phil Battos در gSchool
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Nim Exercism

آماده‌اید دبستان را شروع کنید؟

در Exercism ثبت‌نام کنید تا Nim را همراه با 70 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.