زبان R مجموعهای از عملگرها دارد که با بسیاری از زبانهای دیگر یکسان است:
1 == 2 # FALSE
1 != 2 # TRUE
1 < 2 # TRUE
1 > 2 # FALSE
1 <= 2 # TRUE
1 >= 2 # FALSE
شکل پایهی یک if-else چنین است:
if (x > 10) {
y <- "big"
} else if (x > 2) {
y <- "medium"
} else {
y <- "tiny"
}
در این حالت، هم پرانتز () دور «مقدار منطقی» و هم آکولاد {} دور دستور، هر دو لازم هستند.
یک دستور if ساده را میتوان کوتاه کرد:
if (x == 0) return("success")
در این تمرین، کدی مینویسید تا تولید یک خط مونتاژ در یک کارخانهی خودروسازی را تحلیل کنید. سرعت خط مونتاژ میتواند از 0 (خاموش) تا 10 (حداکثر) باشد.
در پایینترین سرعت آن (1)، هر ساعت 221 خودرو تولید میشود. تولید بهصورت خطی با سرعت افزایش مییابد. پس وقتی سرعت روی 4 تنظیم شود، باید هر ساعت 4 * 221 = 884 خودرو تولید کند. اما سرعتهای بالاتر احتمال تولید خودروهای معیوب را بالا میبرند؛ این خودروها بعداً باید کنار گذاشته شوند.
سه کار دارید.
تابع success_rate() را پیادهسازی کنید تا نسبت تولید بدون خطای یک خودرو را برای سرعت معینی محاسبه کنید. جدول زیر نشان میدهد که سرعت چگونه بر نرخ موفقیت تأثیر میگذارد:
0: نرخ موفقیت ۰٪.1 تا 4: نرخ موفقیت ۱۰۰٪.5 تا 8: نرخ موفقیت ۹۰٪.9: نرخ موفقیت ۸۰٪.10: نرخ موفقیت ۷۷٪.success_rate(10)
# => 0.77
تابع production_rate_per_hour() را پیادهسازی کنید تا نرخ تولید خط مونتاژ در ساعت را با در نظر گرفتن نرخ موفقیت آن محاسبه کنید:
production_rate_per_hour(6)
# => 1193.4
توجه کنید که مقدار بازگشتی یک double است.
تابع working_items_per_minute() را پیادهسازی کنید تا محاسبه کنید در هر دقیقه چند خودروی سالم تولید میشود:
working_items_per_minute(6)
# => 19
توجه کنید که مقدار بازگشتی یک عدد صحیح است: خودروهای ناقص لحاظ نمیشوند.