Информация по теме

Материалы для подготовки

  • Главы №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БО. Помогите Даше определить группу, которая будет ответствена за данный поход. Имена групп передаются как параметры приложению.