تمرینای تکمیلی فصل 4
تمرین اول
فرض کنین یه ماشین از حالت ایستاده و در لحظه صفر شروع به حرکت میکنه. تابعی بسازین که با وارد کردن سرعت ماشین در لحظه t و سرعت v بهمون شتاب اون ماشین رو بده. ضمناً فرمول شتاب با مفروضات بالا اینه:a=v/t. یعنی با مقادیر 20 و 10 باید چنین خروجی ای رو داشته باشیم:
راهنمایی: این کارو میتونین از چندین طریق انجام بدین مث تعریف و یا عدم تعریف یه تابع واسه انجام محاسبات که در ادامه سه حالتش رو بیان کردیم.)
راه حل پیشنهادی اول (با تعریف یک تابع و فراخوانیش):
راه حل پیشنهادی دوم (بدون تعریف متغیر در تابع تعریف شده):
راه حل پیشنهادی سوم (بدون تعریف تابع):
تمرین دوم
حالا تو تابع تعریف شده ی بالا، فرض کنین سرعت و زمان اولیه صفر نباشه. درواقع، فرمولمون شبیه به فرمول زیر میشه:.
با این توضیح، یه برنامه ایجاد کنین که چهار تا مقدار v1, v2, t1, t2 رو بگیره و محاسبات رو انجام بده. میتونین v1 و t1 رو بصورت پبشفرض برابر صفر قرار بدین که با یه تیر دو هدف رو زده باشین. هم تابع تون کارکرد دو متغیره (تمرین قبلی) رو داشته باشه و هم بشه بصورت چهار متغیره ازش استفاده کرد.
راه حل پیشنهادی:
ضمنا، تمام حالتایی که بالا داشتیم هم میتونه اینجا رخ بده (میتونیم واسه پرینت گرفتن از داده رشته ای فرمت شده استفاده کنیم، دو تا ورودی هم واسه سرعت و زمان اولیه بهش اضافه کنیم و…).
تمرین دوم
مشکل کدای زیر چیه و بدون اجرا تو vscode حدس بزنین باید چیکار کنیم که مشکل برطرف بشه؟ حالا میتونین این تابعُ تو vscode با استفاده از دیباگینگ اشکل یابی کنین.
ازونجایی که خروجی تابع تعریف شده داره یه کاری رو انجام میده (پرینت گرفتن از یه عبارت) نمیتونه ضرب در یه عدد بشه. انگاری داریم میگیم پرینت گرفتن رو ضرب در 10 کن که امکان پذیر نیست. واسه این که بتونیم این کار رو انجام بدیم باید طوری تابع sum رو تعریف کنیم که بهمون یه مقدار برگردونه تا اون رو به 10 ضرب کنیم. تفاوت توابعی که یه کاری انجام میدن و توابعی که یه مقدارو برمیگردونن اینجا مشخص میشه. پس اینجوری بازنویسی رو انجام میدیم:
درباره مدیر سایت
مرتضی بُنجَخی مدیریت تولید اصل آموز مرتضی یه فرد پر تلاشه که تو هر کاری میتونه بصورت خودآموز حرفه ای بشه. یه دانشجوی خودآموز که هر روز دوس داره به آموزخته هاش اضافه کنه. از 13 سالگیش یعنی از سال 82 داره زبان انگلیسی میخونه و در حال حاضر دانشچوی دکترای آموزش زبان انگلیسیه.
نوشتههای بیشتر از مدیر سایت
دیدگاهتان را بنویسید