Использование стандартных типов в Ruby
Материалы для подготовки
- Главы №6, №7 книги Programming Ruby 2.0
- Главы №2, №3, №5, №6.2 книги Путь Ruby
Презентация
Презентацию можно посмотреть по данной ссылке.
Цель: научиться применять методы стандартных типов в Ruby
Требования к реализации
- Исходный код приложения должен быть проверен инструментом Rubocop с настройками по умолчанию.
- Для управления зависимостями в приложении должен быть использован инструмент Bundler.
- Исходный код приложения должен находиться либо в модулях, либо в классах, не допускается публикация кода без привязки к модулям или классам. Допускается необходимый минимум для создания нужного объекта и вызова стартового метода.
- Не допускайте смешивания предметной логики с логикой ввода-вывода данных.
- Приложение должно предоставлять пользовательскую документацию, а также корректно сообщать об ошибках при вводе данных.
Микро-задачи
- Разработать приложение, которое сможет найти все числа, которые без остатка делятся на 5, 6 и 13. Начало и конец диапазона передаются в качестве аргументов приложения.
- Разработать приложение, которое выводит строковое название для чисел от 1 до 100. В качестве параметра приложению передаётся последовательность чисел, разделённых запятыми.
- Разработать приложение, которое позволяет подсчитать количество “котиков” в тексте. Имя файла, содержащее текст с “котиком” передаётся в качестве аргумента приложения. Результат обработки текста следует выводить на стандартный поток вывода.
Задача на работу с числами и строками
Создайте простейший калькулятор для работы с рациональными числами. В качестве аргумента приложению передаётся выражение типа рациональное число
операция
рациональное число
. Выражение записывается целиком в кавычках. Необходимо реализовать следующие операции: сложение, вычитание, умножение и деление. Рациональное число описывается следующим образом: целое число / целое число
. Количество пробелов между элементами значения не имеет. Результат вычисления выводить в формате рационального и вещественного чисел.
Задача на диапазоны
Создайте класс “Студенческая группа”, которая определяется следующими параметрами:
- Короткое название специализации.
- Длинное название специализации.
- Год обучения (1, 2, 3 и т.д.).
- Номер группы.
- Тип обучения: магистры или бакалавры.
Добавьте в класс все методы, которые ему необходимы для использования в диапазонах. Номер группы не участвует в Переход из бакалавриата в магистратуру не является автоматическим.
Правила сортировки:
- Любые магистры “больше” любых бакалавров.
- Сравнение различных специализаций происходит по длине названия.
- Сравнение групп в рамках специализации происходит по году обучения и номеру группы.
С помощью данного класса:
- Отобразите группы, в которые в обычной ситуации будет вхоить студенты, поступившие в группы:
- ИВТ-11БО
- ПИЭ-12БО
- ИТ-11МО
- В поход собрались студенты из групп ИТ-42БО, ПМИ-21БО, ИТ-12МО, ПИЭ-32БО. Помогите Даше определить группу, которая будет ответственна за данный поход. Имена групп передаются как параметры приложению.