Rutas
/
jq
jq
/
Ejercicios
/
Línea de montaje
Línea de montaje

Línea de montaje

Ejercicio de aprendizaje

Introducción

Números

Del manual

jq admite el mismo conjunto de tipos de datos que JSON: números, strings, booleans, arrays, objetos (que en jerga JSON son hashes con solo claves de tipo string) y «null».

Centrémonos en los números.

Números y operadores numéricos

Todos los números, sean enteros o no, son números de coma flotante de doble precisión IEEE754. Esto nos limita a 53 bits de precisión.

Los operadores habituales están disponibles para usarlos con números:

  • aritméticos: +, -, *, /, %

  • comparación: ==, !=, <, <=, >=, >

  • las funciones matemáticas estándar

    Para las funciones de una sola entrada, pasa el valor a la función a través de una tubería

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

    Para las funciones de dos entradas, las funciones ignorarán la entrada y esperarán los valores como parámetros (recuerda que los parámetros se separan con puntos y coma)

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

    El punto y coma es el separador de los argumentos de una función, no la coma.

Otras expresiones de jq

Para resolver el ejercicio, necesitarás conocer las expresiones condicionales.

Expresiones condicionales

jq usa una expresión if-then-else para las expresiones condicionales. Como expresión, se coloca en una tubería.

La sintaxis es: if CONDITION then TRUE_EXPR else FALSE_EXPR end.

La cláusula else es opcional.

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

Las condiciones adicionales usan elif

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

Instrucciones

En este ejercicio vas a escribir código para analizar la producción de una cadena de montaje en una fábrica de coches. La velocidad de la cadena de montaje puede ir desde 0 (apagada) hasta 10 (máxima).

A su velocidad más lenta (1), se producen 221 coches cada hora. La producción aumenta linealmente con la velocidad. Así, con la velocidad ajustada a 4, debería producir 4 * 221 = 884 coches por hora. Sin embargo, las velocidades más altas aumentan la probabilidad de que se produzcan coches defectuosos, que después hay que desechar. La siguiente tabla muestra cómo influye la velocidad en la tasa de éxito:

  • De 1 a 4: tasa de éxito del 100 %.
  • De 5 a 8: tasa de éxito del 90 %.
  • 9: tasa de éxito del 80 %.
  • 10: tasa de éxito del 77 %.

Tienes dos tareas.

1. Calcula el ritmo de producción por hora

Calcula el ritmo de producción por hora de la cadena de montaje, teniendo en cuenta su tasa de éxito.

2. Calcula el número de unidades en buen estado producidas por minuto

Calcula cuántos coches terminados y en buen estado se producen por minuto.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
jq Exercism

¿Listo para empezar Línea de montaje?

Regístrate en Exercism para aprender y dominar jq con 12 conceptos75 ejercicios y mentoría humana real, todo gratis.