برنامهنویسیایستگاه ۱۲ از ۳۰
پایتون: شرط و حلقه · برنامهنویسی، ایستگاه ۱۲
پرسشی که ایستگاه با آن شروع میشود
کامپیوتر در یک ثانیه چند بار میتواند بشمارد: هزار؟ میلیون؟ میلیارد؟ در درسِ ۲ خودت اندازه میگیری.
معمولاً پایهٔ ششمحدود ۹۲ دقیقه در ۴ جلسهٔ کوتاه
سرعت را تسلط تعیین میکند، نه سن.
فرزندتان در این ایستگاه چه یاد میگیرد
- if/elif/else
- حلقهی for و range
- حلقهی while
- شمارنده و جمعکننده
درسهای این ایستگاه
- اگر … وگرنه: `if`، `elif`، `else` (حدود ۲۴ دقیقه)
- حلقهی `for` و `range` (حدود ۲۲ دقیقه)
- شمارنده و جمعکننده (حدود ۲۳ دقیقه)
- حلقهی `while`: تا وقتی که … (حدود ۲۳ دقیقه)
ایدههای کلیدی
اولین شرطِ درست برنده است
==میپرسد «برابر است؟» و=میگذارد. درif/elif/elseفقط اولین بخشِ درست اجرا میشود؛ خطهای تورفته مالِ همان بخشاند.`range` ایست را نمیدهد
range(4)یعنی ۰، ۱، ۲، ۳ وrange(1, 6)یعنی ۱ تا ۵. عددِ سوم گام است:range(2, 20, 5)← ۲، ۷، ۱۲، ۱۷.`while`: تا وقتی که
شرط اولِ هر دور پرسیده میشود. جمعِ رقمها:s = s + n % 10وn = n // 10تا وقتیn > 0. از ۱ تا ۱۰۰۰، ۶۳ عدد جمعِ رقمهایشان ۱۰ است.
از درسهای همین ایستگاه
دو مثال حلشده
مسئله
بازیِ «فیزباز»: مضربِ ۱۵ ← «فیزباز»، مضربِ ۳ ← «فیز»، مضربِ ۵ ← «باز»، بقیه خودِ عدد. برای ورودیِ ۱۵ چه چاپ میشود؟ اول خودت حدس بزن.راهحل، قدمبهقدم
در درس، قدمها یکییکی باز میشوند و فرزندتان پیش از هر قدم خودش حدس میزند.
- قدم ۱: ورودیِ ۱۵: شرطِ اول
15 % 15 == 0درست است، پسفیزبازچاپ میشود. ۱۵ بر ۳ هم بخشپذیر است، ولیelifها دیگر پرسیده نمیشوند: اولین شرطِ درست برنده است. - قدم ۲: چرا شرطِ ۱۵ اول آمده؟ اگر
n % 3 == 0اول بود، ۱۵ همانجا «فیز» میگرفت و هیچوقت به «فیزباز» نمیرسید. ترتیبِ شرطها مهم است. - قدم ۳: نوبتِ تو: برای ورودیهای ۹، ۱۰، ۳۰ و ۷ چه چاپ میشود؟ اول خودت جواب بده، بعد قدمِ بعد را باز کن.
- قدم ۴: ۹ ←
فیز، ۱۰ ←باز، ۳۰ ←فیزباز، ۷ ←7؛ برای ۷ هیچ شرطی درست نیست، پسelse.
مسئله
این برنامه دمای آب را (به درجهٔ سانتیگراد) میگیرد و یک کلمه چاپ میکند. برای کوتاهی، هر بخش را در همان خطِ شرطش نوشتهایم؛ وقتی هر بخش فقط یک دستور دارد، پایتون این را هم قبول میکند، ولی در برنامههای خودت تورفتگی بنویس. برنامه:t = int(input())
if t <= 0: print("یخ")
elif t < 100: print("آب")
else: print("بخار")برای ورودیهای ۰، ۳۷ و ۱۰۰ چه چاپ میشود؟ اول خودت حدس بزن.راهحل، قدمبهقدم
در درس، قدمها یکییکی باز میشوند و فرزندتان پیش از هر قدم خودش حدس میزند.
- قدم ۱: ورودیِ ۰:
0 <= 0درست است، چون<=یعنی «کوچکتر یا مساوی». پسیخ. بقیهٔ شرطها پرسیده نمیشوند. - قدم ۲: ورودیِ ۳۷:
37 <= 0نادرست است؛ نوبتِelifاست:37 < 100درست است، پسآب. - قدم ۳: ورودیِ ۱۰۰:
100 <= 0نادرست،100 < 100هم نادرست؛ چون<خودِ ۱۰۰ را قبول نمیکند. پسelseاجرا میشود:بخار. - قدم ۴: دو عددِ ۰ و ۱۰۰ «مرز»اند. جای هر مرز را علامت تعیین میکند:
<=مرز را داخلِ همان بخش میبرد و<بیرونش میگذارد. برای امتحانِ چنین برنامهای، خودِ عددهای مرزی را هم وارد کن. - قدم ۵: نوبتِ تو، اول خودت: اگر خطِ سوم
elif t <= 100:بود، ورودیِ ۱۰۰ چه چاپ میکرد؟ جواب بده، بعد قدمِ بعد را باز کن. - قدم ۶:
100 <= 100درست است، پسآب. با یک علامت، مرز از بخشِ «بخار» به بخشِ «آب» رفت.
پیش و پس از این ایستگاه
پیشنیازها
ایستگاههایی که به این تکیه میکنند
- ایستگاه ۱۳: لیست و آرایه
- ایستگاه ۱۷: تابع و تجزیهی مسئله
- هوش مصنوعی،ایستگاه ۱۴: اولین برنامهی یادگیرنده در پایتون
روش یادگیری فکرستان و همهٔ ایستگاههای این مسیر: برنامهنویسی برای کودکان
شروع با فکرستان
حساب را پدر یا مادر میسازد و رضایتش را همانجا ثبت میکند. فرزندتان با نام مستعار وارد میشود و با چند پرسش کوتاه، نقطهٔ شروعِ هر مسیر پیدا میشود.