دبستان

دبستان

متوسط

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

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

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

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

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

نکته

لازم نیست حتماً دانش‌آموزان را به‌صورت یک شیء جداگانه مدل‌سازی کنید؛ می‌توانید از یک ساختار داده‌ی داخلی مناسب استفاده کنید، چون الزامات کاملاً ساده‌اند (و تا زمانی که این ساختار در نتایج ظاهر نشود).

Note

این تمرین کمی نسبت به problem-specification تغییر یافته است، چون جدا کردن افزودن دانش‌آموزان و پرس‌وجو درباره‌ی آن‌ها در متدهای جداگانه منطقی‌تر است (در مقابل یک متد که هر دو کار را انجام دهد، که کمتر به Pharo/Smalltalk شباهت دارد).


منبع

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

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

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