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

Línea de montaje

Ejercicio de aprendizaje

Introducción

Números

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

Números enteros

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

Números de coma flotante

  • Números de coma 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 indica si es un número entero sin signo (u), un número entero con signo (i) o un número de coma flotante (f).
  • Un número que indica 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 coma flotante, también permitirán 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 solo hay variantes de 32 y 64 bits para los números de coma flotante.

Conversión entre tipos numéricos

Rust no realiza ninguna conversión implícita de tipos. 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 un número de coma flotante en un número entero sí que perderá todo lo que haya detrás del separador decimal, lo que equivale a redondear hacia abajo.

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 de 0 (apagada) a 10 (máxima).

A su velocidad más baja (1), se producen 221 coches cada hora. La producción aumenta linealmente con la velocidad. Así que 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 luego 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 y 10: tasa de éxito del 77 %.

Tienes dos tareas.

1. Calcular la tasa de producción por hora

Implementa un método para calcular la tasa de producción por hora de la cadena de montaje, teniendo en cuenta su tasa de éxito:

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

Ten en cuenta que el valor devuelto es un f64.

2. Calcular el número de coches en buen estado producidos por minuto

Implementa un método para calcular cuántos coches en buen estado se producen por minuto:

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

Ten en cuenta que el valor devuelto es un u32.

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

¿Listo para empezar Línea de montaje?

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