Kurzusok
/
jq
jq
/
Feladatok
/
Szerelőszalag
Szerelőszalag

Szerelőszalag

Tanulófeladat

Bevezetés

Számok

A kézikönyvből

A jq ugyanazokat az adattípusokat támogatja, mint a JSON: számok, stringek, Boolean értékek, tömbök, objektumok (amelyek a JSON szóhasználatában olyan hash-ek, amelyeknek csak string kulcsai vannak) és a „null”.

Most a számokra összpontosítsunk.

Számok és numerikus operátorok

Minden szám, akár egész, akár nem, IEEE754 kétszeres pontosságú lebegőpontos szám. Ez a pontosságot 53 bitre korlátozza.

A szokásos operátorok használhatók számokkal:

  • aritmetika: +, -, *, /, %

  • összehasonlítás: ==, !=, <, <=, >=, >

  • szabványos matematikai függvények

    Az egy bemenetet fogadó függvényeknél az értéket a függvénybe irányítjuk

    $ jq -n '(1 | atan) * 4'
    3.141592653589793
    

    A két bemenetet fogadó függvényeknél a függvények figyelmen kívül hagyják a bemenetet, és a bemeneteket paraméterként várják (emlékezz rá, hogy a paramétereket pontosvessző választja el)

    $ jq -n 'pow(2; 10)'
    1024
    

    A függvényargumentumok elválasztója a pontosvessző, nem a vessző.

További jq kifejezések

A feladat megoldásához ismerned kell a feltételes kifejezéseket.

Feltételes kifejezések

A jq egy if-then-else kifejezést használ a feltételes kifejezésekhez. Kifejezésként egy pipeline-ba kerül.

A szintaxis a következő: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

Az else ág elhagyható.

42 | if . < 33 then "small" else "larger" end
# => "larger"

További feltételekhez az elif kulcsszót használd

42 | if . < 33 then "small"
     elif . < 67 then "medium"
     else "large"
     end
# => "medium"

Utasítások

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

A leglassabb sebességén (1) óránként 221 autó készül. A termelés lineárisan növekszik a sebességgel. Tehát 4-es sebesség mellett óránként 4 * 221 = 884 autót kell gyártania. A nagyobb sebesség azonban megnöveli annak a valószínűségét, hogy hibás autók készülnek, amelyeket aztán ki kell selejtezni. 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: 80%-os sikerességi arány.
  • 10: 77%-os sikerességi arány.

Két részfeladatod van.

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

Számítsd ki az összeszerelősor óránkénti termelési rátáját, figyelembe véve a sikerességi arányát.

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

Számítsd ki, hány elkészült, működő autó készül percenként.

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

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

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