Треки
/
Rust
Rust
/
Вправи
/
Конвеєр
Конвеєр

Конвеєр

Навчальна вправа

Вступ

Числа

У Rust є дві різні категорії чисел: цілі числа (які бувають знаковими або беззнаковими) і числа з плаваючою комою.

Цілі числа

  • Цілі числа: числа без цифр після десяткового розділювача (без дробової частини). Цілочисельні типи можуть зберігати або лише додатні числа (беззнакові), або і додатні, і відʼємні числа (знакові). Наприклад: -6, 0, 1, 25, 976 і 500000.

Числа з плаваючою комою

  • Числа з плаваючою комою: числа з нулем або більше цифр після десяткового розділювача. Наприклад: -2.4, 0.1, 3.14, 16.984025 і 1024.0.

Назви числових типів

Назва числового типу складається з двох частин:

  • Літера, яка вказує, чи це беззнакове ціле число (u), знакове ціле число (i) чи число з плаваючою комою (f).
  • Число, яке вказує розмір типу в бітах. Більші типи мають більший діапазон між мінімальним і максимальним значеннями. Для чисел з плаваючою комою це також дозволить більше цифр після десяткового розділювача.

Можливі такі комбінації:

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

Зауважимо, що для чисел з плаваючою комою існують лише варіанти на 32 і 64 біти.

Перетворення між числовими типами

Rust не виконує жодного неявного перетворення типів. Це означає, що якщо нам потрібно перетворити один числовий тип на інший, доведеться робити це явно. Під час перетворення з більшого типу на менший (наприклад, з u64 на u32) ми можемо втратити дані. Перетворення з числа з плаваючою комою на ціле число обовʼязково втратить усе після десяткового розділювача, фактично округлюючи вниз.

Вказівки

У цій вправі ми будемо писати код, щоб аналізувати виробництво на складальній лінії автомобільного заводу. Швидкість складальної лінії може бути в межах від 0 (вимкнено) до 10 (максимум).

За найнижчої швидкості (1) за годину виготовляється 221 автомобіль. Продуктивність зростає лінійно зі швидкістю. Тож зі швидкістю 4 за годину має виготовлятися 4 * 221 = 884 автомобілі. Однак вищі швидкості підвищують імовірність виготовлення бракованих автомобілів, які потім доводиться відкидати. У наступній таблиці показано, як швидкість впливає на частку успішних виробів:

  • від 1 до 4: 100 % успішних виробів.
  • від 5 до 8: 90 % успішних виробів.
  • 9 і 10: 77 % успішних виробів.

Перед нами два завдання.

1. Обчисліть продуктивність за годину

Реалізуйте метод, який обчислює продуктивність складальної лінії за годину з урахуванням частки успішних виробів:

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

Зверніть увагу, що повернене значення має тип f64.

2. Обчисліть кількість придатних виробів за хвилину

Реалізуйте метод, який обчислює, скільки придатних автомобілів виготовляється за хвилину:

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

Зверніть увагу, що повернене значення має тип u32.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Rust Exercism

Час розпочати Конвеєр?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Rust, а також 99 вправ та справжнє наставництво від людей, і все це безкоштовно.