Tracks
/
Rust
Rust
/
Ejercicios
/
Línea de ensamblaje
Línea de ensamblaje

Línea de ensamblaje

Ejercicio de aprendizaje

Introducción

Números

En Rust hay dos categorías distintas de números: los enteros (que pueden ser con signo o sin signo) y los números de punto flotante.

Enteros

  • Enteros: números sin dígitos detrás del separador decimal (es decir, enteros). Los tipos enteros pueden almacenar solo números positivos (sin signo) o almacenar tanto números positivos como negativos (con signo). Algunos ejemplos son -6, 0, 1, 25, 976 y 500000.

Números de punto flotante

  • Números de punto flotante: números con cero o más dígitos detrás del separador decimal. Algunos ejemplos son -2.4, 0.1, 3.14, 16.984025 y 1024.0.

Cómo se nombran los tipos numéricos

El nombre de un tipo numérico consta de dos partes:

  • Una letra que especifica si es un entero sin signo (u), un entero con signo (i) o un número de punto flotante (f).
  • Un número que especifica el tamaño del tipo en bits. Los tipos más grandes tienen un rango mayor entre los valores mínimo y máximo. En el caso de los números de punto flotante, también permitirá más dígitos detrás del separador decimal.

Las siguientes combinaciones son posibles:

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

Ten en cuenta que para los números de punto flotante solo existen las variantes de 32 bits y 64 bits.

Cómo convertir entre tipos numéricos

Rust no realiza ninguna conversión de tipos implícita. Esto significa que si necesitas convertir un tipo numérico en otro, tienes que hacerlo de forma explícita. Al convertir de un tipo más grande a uno más pequeño (por ejemplo, de u64 a u32) podrías perder datos. Convertir de un número de punto flotante a un entero sí perderá todo lo que está detrás del punto decimal, lo que equivale a redondear hacia abajo.

Instrucciones

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

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

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

Tienes dos tareas.

1. Calcula la tasa de producción por hora

Implementa un método para calcular la tasa de producción por hora de la línea de ensamblaje, teniendo en cuenta su tasa de éxito:

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

Ten en cuenta que el valor que se devuelve es un f64.

2. Calcula la cantidad de artículos funcionales producidos por minuto

Implementa un método para calcular cuántos autos funcionales se producen por minuto:

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

Ten en cuenta que el valor que se devuelve es un u32.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Línea de ensamblaje?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.