Kurzusok
/
Elixir
Elixir
/
Feladatok
/
Szabadúszói díjak
Szabadúszói díjak

Szabadúszói díjak

Tanulófeladat

Bevezetés

Egész számok

Az Elixirben kétféle szám létezik: egész számok és lebegőpontos számok.

Az egész számok olyan számok, amelyeknek nincs törtrészük.

integer = 3
# => 3

Lebegőpontos számok

A lebegőpontos számok olyan számok, amelyekben a tizedeselválasztó után egy vagy több számjegy áll. A 64 bites dupla pontosságú lebegőpontos formátumot használják.

float = 3.45
# => 3.45

Számok kezelése

Az Integer és a Float modulban hasznos függvényeket találsz ezeknek a típusoknak a kezeléséhez. Az alapvető aritmetikai operátorokat a Kernel modul definiálja.

Átalakítás

Egy aritmetikai kifejezésben egész és lebegőpontos számokat is keverhetsz. Ha egy kifejezésben lebegőpontos szám szerepel, az eredmény is lebegőpontos lesz.

2 * 3
# => 6

2 * 3.0
# => 6.0

Osztásnál viszont az eredmény mindig lebegőpontos szám lesz, még akkor is, ha csak egész számokat használsz.

6 / 2
# => 3.0

Egy lebegőpontos számot úgy alakíthatsz egész számmá, hogy a trunc/1 függvénnyel eldobod a törtrészét.

Utasítások

Ebben a feladatban olyan kódot írsz, amely segít egy szabadúszónak kommunikálni egy projektmenedzserrel. A feladatod, hogy néhány segédeszközt biztosíts a napi és a havi díj gyors kiszámításához, opcionálisan egy megadott kedvezménnyel.

Először is lefektetünk néhány szabályt a szabadúszó és a projektmenedzser között:

  • A napi díj az óradíj 8-szorosa.
  • Egy hónapban 22 számlázható nap van.

Előfordul, hogy a szabadúszó kedvezményt alkalmaz a napi díjára (például a leghűségesebb ügyfelei vagy a nonprofit ügyfelei számára).

A kedvezményeket százalékot jelölő törtszámként modellezzük, például 25.0 (25%).

1. Számítsd ki a napi díjat adott óradíj alapján

Valósíts meg egy daily_rate nevű függvényt, amely paraméterként kap egy óradíjat, és kiszámítja a napi díjat. A szerződés meghatározza, hogy egy nap 8 számlázható órából áll.

FreelancerRates.daily_rate(60)
# => 480.0

A visszaadott napi díj egy lebegőpontos szám legyen.

2. Számítsd ki a kedvezményes árat

Valósíts meg egy apply_discount függvényt, amely kiszámítja a kedvezmény utáni árat.

FreelancerRates.apply_discount(150, 10)
# => 135.0

A visszaadott érték mindig lebegőpontos szám legyen, és semmilyen módon ne legyen kerekítve.

3. Számítsd ki a havi díjat adott óradíj és kedvezmény alapján

Valósíts meg egy monthly_rate függvényt, amely kiszámítja a kedvezményes havi díjat. Két paramétert vesz át: egy óradíjat és a kedvezményt százalékban.

FreelancerRates.monthly_rate(77, 10.5)
# => 12130

A visszaadott havi díjat felfelé kell kerekíteni (vedd a felső egészrészt) a legközelebbi egész számra.

4. Számítsd ki a teljes munkanapok számát adott büdzsé, óradíj és kedvezmény alapján

Valósíts meg egy days_in_budget függvényt, amely egy büdzsé, egy óradíj és egy kedvezmény alapján kiszámítja, hogy az hány teljes nap munkát fedez.

FreelancerRates.days_in_budget(20000, 80, 11.0)
# => 35.1

A visszaadott napszámot egy tizedesjegyre, lefelé kell kerekíteni (vedd az alsó egészrészt).

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Elixir Exercism

Készen állsz elkezdeni a(z) Szabadúszói díjak feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Elixir nyelvet 58 fogalom168 feladat segítségével, valódi emberi mentorálással, mindez ingyen.