Kurzusok
/
C#
C#
/
Feladatok
/
Autók, összeállni!
Autók, összeállni!

Autók, összeállni!

Tanulófeladat

Bevezetés

Számok

A C#-ban két különböző számtípus létezik:

  • Egész számok: olyan számok, amelyeknél a tizedesjel mögött nincs számjegy, azaz nincs törtrészük. Például: -6, 0, 1, 25, 976 és 500000.
  • Lebegőpontos számok: olyan számok, amelyeknél a tizedesjel mögött nulla vagy több számjegy áll. Például: -2.4, 0.1, 3.14, 16.984025 és 1024.0.

A C#-ban a két leggyakoribb numerikus típus az int és a double. Az int egy 32 bites egész szám, a double pedig egy 64 bites lebegőpontos szám.

A számításokat a szabványos aritmetikai operátorokkal végezzük. A számokat a szabványos numerikus összehasonlító operátorokkal, illetve az egyenlőség (==) és egyenlőtlenség (!=) operátorokkal hasonlíthatjuk össze.

A C#-ban kétféle numerikus konverzió létezik:

  1. Implicit konverziók: nem vész el adat, és nem szükséges hozzájuk további szintaxis.
  2. Explicit konverziók: adat veszhet el, és szükség van további szintaxisra, méghozzá cast formájában.

Mivel az int pontossága kisebb, mint a double-é, az int-ből double-be konvertálás biztonságos, ezért implicit konverzió. A double-ből int-be konvertálás viszont adatvesztéssel járhat, így az explicit konverziót igényel.

int softCool = 1358938113;
double notLost = 4.8151623;

// implicit cast: no loss of information
double macDebug = softCool;         // 1358938113.0

// explicit cast: possible loss of information 
int somethingLost = (int)notLost;   // 4

Elágazások

Ebben a feladatban a logikát feltételesen kell végrehajtanod. A C#-ban erre a leggyakoribb megoldás az if/else elágazás használata:

int x = 6;

if (x == 5)
{
    // Execute logic if x equals 5
}
else if (x > 7)
{
    // Execute logic if x greater than 7
}
else
{
    // Execute logic in all other cases
}

Az if elágazás feltételének bool típusúnak kell lennie. A C# nem ismeri a truthy értékek fogalmát.

Utasítások

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

A legkisebb sebességén (1) óránként 221 autó készül. A termelés a sebességgel lineárisan nő. Így ha a sebességet 4-re állítod, óránként 4 * 221 = 884 autót kell gyártania. A nagyobb sebesség viszont megnöveli annak az esélyét, hogy hibás autók készülnek, amelyeket aztán ki kell selejtezni.

Három részfeladat vár rád.

1. Számítsd ki a sikerességi arányt

Készítsd el a (statikus) AssemblyLine.SuccessRate() metódust, amely egy adott sebességhez kiszámítja annak arányát, hogy egy darab hiba nélkül készül el. A következő táblázat megmutatja, hogyan befolyásolja a sebesség a sikerességi arányt:

  • 0: 0%-os sikerességi arány.
  • 1-től 4-ig: 100%-os sikerességi arány.
  • 5-től 8-ig: 90%-os sikerességi arány.
  • 9: 80%-os sikerességi arány.
  • 10: 77%-os sikerességi arány.
AssemblyLine.SuccessRate(10)
// => 0.77

2. Számítsd ki az óránkénti termelési rátát

Készítsd el a (statikus) AssemblyLine.ProductionRatePerHour() metódust, amely a sikerességi arányt figyelembe véve kiszámítja az összeszerelősor óránkénti termelési rátáját:

AssemblyLine.ProductionRatePerHour(6)
// => 1193.4

Figyeld meg, hogy a visszaadott érték egy double.

3. Számítsd ki a percenként gyártott működő darabok számát

Készítsd el a (statikus) AssemblyLine.WorkingItemsPerMinute() metódust, amely kiszámítja, hogy percenként hány működő autó készül:

AssemblyLine.WorkingItemsPerMinute(6)
// => 19

Figyeld meg, hogy a visszaadott érték egy int.

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

Készen állsz elkezdeni a(z) Autók, összeállni! feladatot?

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