Kurzusok
/
Go
Go
/
Feladatok
/
Járművásárlás
Járművásárlás

Járművásárlás

Tanulófeladat

Bevezetés

Összehasonlítás

A Go-ban a számokat a következő relációs és egyenlőségoperátorokkal hasonlíthatod össze.

Összehasonlítás Operátor
egyenlő ==
nem egyenlő !=
kisebb <
kisebb vagy egyenlő <=
nagyobb >
nagyobb vagy egyenlő >=

Az összehasonlítás eredménye mindig egy Boolean érték, tehát vagy true, vagy false.

a := 3

a != 4 // true
a > 5  // false

A fenti összehasonlító operátorokkal stringeket is össze lehet hasonlítani. Ilyenkor lexikográfiai (szótári) sorrend érvényesül. Például:

	"apple" < "banana"  // true
	"apple" > "banana"  // false

Elágazások

A Go feltételes elágazásai hasonlók más nyelvekéhez. Bármely feltételes művelet mögöttes típusa a bool típus, amelynek az értéke true vagy false lehet. A feltételes elágazásokat gyakran vezérlési mechanizmusként használjuk különféle feltételek ellenőrzésére.

Egy adott eset ellenőrzésére if utasítást használhatsz, amely akkor futtatja a kódját, ha a mögöttes feltétel true, például így:

var value string

if value == "val" {
    return "was val"
}

Ha egynél több esetről van szó, több if utasítást is összefűzhetsz az else if és az else utasításokkal.

var number int
result := "This number is "

if number > 0 {
    result += "positive"
} else if number < 0 {
    result += "negative"
} else {
    result += "zero"
}

Az if utasítás tartalmazhat egy rövid kezdőérték-utasítást is, amellyel egy vagy több változót inicializálhatsz az if utasításhoz. Például:

num := 7
if v := 2 * num; v > 10 {
    fmt.Println(v)
} else {
    fmt.Println(num)
}
// Output: 14

Megjegyzés: a kezdőérték-utasításban létrehozott változók az if utasítás végén kikerülnek a scope-ból.

Utasítások

Ebben a feladatban olyan kódot írsz, amely segít felkészülni egy jármű megvásárlására.

Három részfeladat vár rád: az egyikben eldöntöd, hogy kell-e jogosítvány, a másikban segítesz választani két jármű közül, a harmadikban pedig megbecsülöd egy használt jármű elfogadható árát.

1. Döntsd el, hogy szükséged lesz-e jogosítványra

Némelyik járműtípus vezetéséhez jogosítvány kell. Tegyük fel, hogy csak a "car" és a "truck" típus vezetéséhez kell jogosítvány, minden mást jogosítvány nélkül is vezethetsz.

Valósítsd meg a NeedsLicense(kind) függvényt, amely átveszi a jármű fajtáját, és egy Boolean értéket ad vissza arról, hogy kell-e jogosítvány az adott fajtájú járműhöz.

needLicense := NeedsLicense("car")
// => true

needLicense = NeedsLicense("bike")
// => false

needLicense = NeedsLicense("truck")
// => true

2. Válassz két lehetséges megvásárolni kívánt jármű közül

Mérlegeled a rendelkezésre álló járműveket. Végül két lehetőségre szűkíted a kört, de segítség kell a végső döntéshez. Ehhez valósítsd meg a ChooseVehicle(option1, option2) függvényt, amely két járművet vesz át argumentumként, és olyan döntést ad vissza, amely tartalmazza azt a lehetőséget, amelyik lexikográfiai sorrendben előrébb van.

vehicle := ChooseVehicle("Wuling Hongguang", "Toyota Corolla")
// => "Toyota Corolla is clearly the better choice."

ChooseVehicle("Volkswagen Beetle", "Volkswagen Golf")
// => "Volkswagen Beetle is clearly the better choice."

3. Becsüld meg egy használt jármű árát

Most, hogy döntöttél, biztos akarsz lenni benne, hogy tisztességes árat fizetsz a kereskedésben. Mivel használt járművet szeretnél venni, az ár attól függ, milyen idős a jármű. Durva becsléshez tegyük fel a következőket: ha a jármű kevesebb mint 3 éves, az ára az új kori eredeti ár 80%-a. Ha legalább 10 éves, az ára 50%. Ha a jármű legalább 3 éves, de kevesebb mint 10 éves, az ára az eredeti ár 70%-a.

Valósítsd meg a CalculateResellPrice(originalPrice, age) függvényt, amely ezt a logikát if, else if és else használatával alkalmazza (ha gyakorolni szeretnél, más megoldások is léteznek). Az eredeti árat és a jármű korát veszi át argumentumként, és a kereskedésben becsült árat adja vissza.

CalculateResellPrice(1000, 1)
// => 800

CalculateResellPrice(1000, 5)
// => 700

CalculateResellPrice(1000, 15)
// => 500

Megjegyzés: a visszatérési érték float64.

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

Készen állsz elkezdeni a(z) Járművásárlás feladatot?

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