Треки
/
Swift
Swift
/
Вправи
/
Ставки фрилансера
Ставки фрилансера

Ставки фрилансера

Навчальна вправа

Вказівки

У цій вправі ми писатимемо код, який допоможе фрилансеру спілкуватися зі своїми клієнтами щодо цін на певні проєкти. Ми напишемо кілька допоміжних функцій, щоб швидко розраховувати вартість для клієнтів.

1. Обчислити денну ставку за погодинною ставкою

Клієнт звертається до фрилансера із запитанням про його ставки. Фрилансер пояснює, що працює 8 годин на день. Однак фрилансер знає лише свою погодинну ставку для цього проєкту. Допоможіть їм обчислити денну ставку за погодинною ставкою.

Реалізуйте функцію dailyRateFrom(hourlyRate:), яка приймає аргумент hourlyRate — погодинну ставку фрилансера.
Функція повинна повернути денну ставку на основі погодинної ставки.

dailyRateFrom(hourlyRate: 60)
// Returns 480.0

Повернена денна ставка має бути Double.

2. Обчислити місячну ставку за погодинною ставкою та знижкою

Іноді клієнт хоче найняти фрилансера на довший період. Фрилансер готовий дати клієнту знижку, але лише якщо той наймає його щонайменше на місяць. Усього налічується 22 робочі дні. Допоможіть фрилансеру обчислити місячну ставку за його погодинною ставкою та відсотком знижки від повної ставки, яку він готовий надати, округлену до найближчого цілого числа.

Реалізуйте функцію monthlyRateFrom(hourlyRate:withDiscount:), яка приймає аргументи hourlyRate — погодинну ставку фрилансера, та withDiscount — знижку, яку фрилансер готовий надати клієнту. Функція повинна повернути місячну ставку, округлену до найближчого цілого числа.

monthlyRateFrom(hourlyRate: 77, withDiscount: 10.5)
// Returns 12129

3. Обчислити кількість робочих днів за бюджетом, погодинною ставкою та знижкою

Іншого дня менеджер проєкту пропонує фрилансеру попрацювати над проєктом із фіксованим бюджетом. Маючи фіксований бюджет і погодинну ставку фрилансера, допоможіть обчислити, скільки днів він працюватиме, поки бюджет не вичерпається. Врахуйте, що в цьому сценарії фрилансер завжди готовий надати знижку незалежно від кількості найманих днів. Результат потрібно округлити вниз до найближчого цілого числа.

Реалізуйте функцію workdaysIn(budget:hourlyRate:withDiscount:), яка приймає аргументи:

  • budget — бюджет проєкту.
  • hourlyRate — погодинну ставку фрилансера.
  • withDiscount — знижку, яку фрилансер готовий надати клієнту.

Функція повинна повернути кількість робочих днів, які фрилансер працюватиме над проєктом, округлену вниз.

workdaysIn(budget: 20000, hourlyRate: 80, withDiscount: 11.0)
// Returns 35.0
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Swift Exercism

Час розпочати Ставки фрилансера?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Swift, а також 35 концепцій116 вправ та справжнє наставництво від людей, і все це безкоштовно.