Tracks
/
jq
jq
/
Übungen
/
Fließband
Fließband

Fließband

Lernübung

Einführung

Zahlen

Aus dem Handbuch

jq unterstützt dieselben Datentypen wie JSON - Zahlen, Strings, boolesche Werte, Arrays, Objekte (die im JSON-Jargon Hashes mit ausschließlich String-Schlüsseln sind) und "null".

Konzentrieren wir uns auf Zahlen.

Zahlen und numerische Operatoren

Alle Zahlen, ob Ganzzahlen oder nicht, sind IEEE754-Gleitkommazahlen mit doppelter Genauigkeit. Das begrenzt uns auf 53 Bit Genauigkeit.

Für Zahlen stehen dir die üblichen Operatoren zur Verfügung:

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

  • Vergleich: ==, !=, <, <=, >=, >

  • die üblichen Mathematikfunktionen

    Bei Funktionen mit einem Eingabewert leitest du den Wert per Pipe in die Funktion

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

    Bei Funktionen mit zwei Eingabewerten ignorieren die Funktionen die Eingabe und erwarten die Eingabewerte als Parameter (zur Erinnerung: Parameter werden durch Semikolons getrennt)

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

    Das Semikolon ist das Trennzeichen für Funktionsargumente, nicht das Komma.

Weitere jq-Ausdrücke

Um die Übung zu lösen, musst du bedingte Ausdrücke kennen.

Bedingte Ausdrücke

jq verwendet für bedingte Ausdrücke einen if-then-else-Ausdruck. Als Ausdruck wird er in eine Pipeline gesetzt.

Die Syntax lautet: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

Die else-Klausel ist optional.

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

Zusätzliche Bedingungen verwendest du mit elif

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

Anleitung

In dieser Übung schreibst du Code, um die Produktion am Fließband einer Autofabrik zu analysieren. Die Geschwindigkeit des Fließbands reicht von 0 (aus) bis 10 (Maximum).

Bei der langsamsten Geschwindigkeit (1) werden 221 Autos pro Stunde produziert. Die Produktion steigt linear mit der Geschwindigkeit. Bei Geschwindigkeit 4 sollten also 4 * 221 = 884 Autos pro Stunde produziert werden. Höhere Geschwindigkeiten erhöhen jedoch die Wahrscheinlichkeit, dass fehlerhafte Autos produziert werden, die dann aussortiert werden müssen. Die folgende Tabelle zeigt, wie die Geschwindigkeit die Erfolgsquote beeinflusst:

  • 1 bis 4: 100 % Erfolgsquote.
  • 5 bis 8: 90 % Erfolgsquote.
  • 9: 80 % Erfolgsquote.
  • 10: 77 % Erfolgsquote.

Du hast zwei Aufgaben.

1. Berechne die Produktionsrate pro Stunde

Berechne die Produktionsrate des Fließbands pro Stunde und berücksichtige dabei die Erfolgsquote.

2. Berechne, wie viele funktionierende Autos pro Minute produziert werden

Berechne, wie viele fertige, funktionierende Autos pro Minute produziert werden.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
jq Exercism

Bereit, mit Fließband zu starten?

Melde dich bei Exercism an, um jq mit 12 Konzepte75 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.