Kurzusok
/
Rust
Rust
/
Feladatok
/
Szerelőszalag
Szerelőszalag

Szerelőszalag

Tanulófeladat

Bevezetés

Számok

A Rustban két különböző számkategória létezik: az egész számok (amelyek előjelesek vagy előjel nélküliek lehetnek) és a lebegőpontos számok.

Egész számok

  • Egész számok: olyan számok, amelyeknél a tizedesjel mögött nincs számjegy (nincs törtrészük). Az egész számtípusok vagy csak pozitív számokat tárolhatnak (előjel nélküli), vagy pozitív és negatív számokat is (előjeles). Példák: -6, 0, 1, 25, 976 és 500000.

Lebegőpontos számok

  • Lebegőpontos számok: olyan számok, amelyeknél a tizedesjel mögött nulla vagy több számjegy áll. Példák: -2.4, 0.1, 3.14, 16.984025 és 1024.0.

A numerikus típusok elnevezése

Egy numerikus típus neve két részből áll:

  • Egy betű, amely megadja, hogy előjel nélküli egész számról (u), előjeles egész számról (i) vagy lebegőpontos számról (f) van szó.
  • Egy szám, amely a típus méretét adja meg bitben. A nagyobb típusok szélesebb tartományt fednek le a minimum- és maximumértékek között. Lebegőpontos számoknál emellett a tizedesjel mögött is több számjegyet tesznek lehetővé.

A következő kombinációk lehetségesek:

  • 8 bit: u8, i8
  • 16 bit: u16, i16
  • 32 bit: u32, i32, f32
  • 64 bit: u64, i64, f64
  • 128 bit: u128, i128

Ne feledd, hogy lebegőpontos számokhoz csak 32 bites és 64 bites változat létezik.

Átalakítás a számtípusok között

A Rust nem végez automatikus típuskonverziót. Ez azt jelenti, hogy ha az egyik numerikus típust egy másikká kell alakítanod, azt neked kell explicit módon megtenned. Amikor egy nagyobb típusról egy kisebbre konvertálsz (például u64-ről u32-re), adatot veszíthetsz. Ha lebegőpontos számot egész számmá alakítasz, a tizedesjel mögötti rész mindenképpen elveszik, ami gyakorlatilag lefelé kerekítést jelent.

Utasítások

Ebben a feladatban egy autógyár összeszerelő sorának termelését elemző kódot írsz. Az összeszerelő sor sebessége 0 (kikapcsolva) és 10 (maximum) között mozoghat.

A legkisebb sebességen (1) óránként 221 autó készül. A termelés a sebességgel lineárisan nő. Ha tehát a sebesség 4, akkor óránként 4 * 221 = 884 autót kell gyártania. A nagyobb sebesség viszont növeli annak esélyét, hogy hibás autók készülnek, amelyeket aztán ki kell dobni. Az alábbi táblázat megmutatja, hogyan befolyásolja a sebesség a sikerességi arányt:

  • 1-től 4-ig: 100%-os sikerességi arány.
  • 5-től 8-ig: 90%-os sikerességi arány.
  • 9 és 10 esetén: 77%-os sikerességi arány.

Két részfeladat vár rád.

1. Az óránkénti termelési ráta kiszámítása

Valósíts meg egy metódust, amely kiszámítja az összeszerelő sor óránkénti termelési rátáját, figyelembe véve a sikerességi arányt:

assembly_line::production_rate_per_hour(6)
// Returns: 1193.4

Ügyelj rá, hogy a visszaadott érték f64.

2. A percenként gyártott működő darabok számának kiszámítása

Valósíts meg egy metódust, amely kiszámítja, hogy percenként hány működő autó készül:

assembly_line::working_items_per_minute(6)
// Returns: 19

Ügyelj rá, hogy a visszaadott érték u32.

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

Készen állsz elkezdeni a(z) Szerelőszalag feladatot?

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