با داشتن اسم دانشآموزان و پایهای که در آن هستند، فهرستی برای مدرسه تهیه کنید.
در پایان، باید بتوانید:
توجه کنید که همهی دانشآموزان ما فقط یک اسم دارند (شهر کوچکی است، چه انتظاری دارید؟) و هیچ دانشآموزی را نمیتوان بیش از یک بار به یک پایه یا به فهرست اضافه کرد. اگر یک تست بخواهد همان دانشآموز را بیش از یک بار اضافه کند، پیادهسازی شما باید نشان دهد که این کار نادرست است.
یک تاپل school تعریف کنید که فهرست را در خود نگه دارد (اینکه دانشآموزان را چطور داخل آن ذخیره میکنید به خودتان بستگی دارد)، سپس واژههای زیر را پیادهسازی کنید.
<school> ( -- school ): یک مدرسهی خالی میسازد.add-student ( school name grade -- ? ): name را به پایهی grade اضافه میکند. در صورت موفقیت t را برمیگرداند؛ اگر name قبلاً اضافه شده باشد (در این پایه یا هر پایهی دیگر) f را برمیگرداند و در این صورت فهرست بدون تغییر باقی میماند.roster ( school -- names ): همهی دانشآموزان، مرتبشده بر اساس پایه و سپس بر اساس اسم به ترتیب الفبا.grade ( school n -- names ): دانشآموزان پایهی n، مرتبشده بر اساس اسم به ترتیب الفبا.