Лабораторная № 2
Результат работы - архив с исходными кодами приложения, который прикрепляется как решение задачи.
Важно. Если у проверяющего возникнет обоснованное предположение о совместном решении, тогда все участники получат неудовлетворительную оценку.
Проверяемые знания учащихся
- Уровень знакомства с языком Ruby:
- Запуск приложения.
- Описание переменных и методов, их использование.
- Работа с контейнерами, итераторами, нумераторами.
- Описание собственных классов.
- Наследование классов.
- Использование модулей и примесей.
- Знание деталей работы стандартных классов: чисел, строк.
- Знание деталей вызова методов и указания их аргументов.
- Использование методов чисел и промежутков.
- Использование методов классов строк и регулярных выражений.
- Уровень знакомства с экосистемой языка Ruby:
- Установка, удаление зависимостей с помощью
gem. - Управление зависимостями с помощью Bundler.
- Проверка качества исходного кода с помощью Rubocop.
- Установка, удаление зависимостей с помощью
Требования к выполнению задания
- Приложение должно реализовать все требования, указанные в задании. Однако к защите допускаются приложения, реализующие только часть задач.
- К защите не допускается исходный код, который не запускается.
- Исходный код приложения должен быть проверен с помощью приложения Rubocop с настройками по-умолчанию или с конфигурацией, предложенной на соответствующем занятии. Для каждого нарушения, которое находит Rubocop, должно быть объяснение почему оно не было исправлено. Допускаются аргументы с точки зрения архитектуры приложения, другого рода аргументы не принимаются.
- Все зависимости приложения должны управляться с помощью Bundler, установка зависимостей с помощью
gemзапрещена. Исключением является джемbundler. - Для разрабатываемого приложения должны быть создан отдельный каталог.
- В корне каталога должны располагаться конфигурационные файлы:
Gemfile,Gemfile.lock. - В корне каталога приложения должны находится каталоги
bin,lib, в которых должен находиться исходный код приложения. В каталогеbinнаходится исполняемый файл, в каталогеlibнаходится описание всех собственных классов и модулей.
- В корне каталога должны располагаться конфигурационные файлы:
- Весь код приложения должен быть разбит на модули и классы, запрещается использовать файлы с простым набором методов, которые не пренадлежат какому-либо модулю.
- Необходимо выделить отдельные классы, описывающие предметную область.
- В одном модуле нельзя совмещать логику обработки предметной области и операции ввода-вывода.
- Приложение должно корректно обрабатывать неправильный ввод от пользователя.
- Приложение должно обладать понятным интерфейсом: показывать помощь по использованию, для ввода данных приложение должно показывать приглашение.
Задача лабораторной №2
Реализуйте консольное приложение, решающее задачу из задачника.
| Студент | Номер задачи |
|---|---|
| Арцимовская Вероника Михайловна | 1 |
| Бакулин Владилен Максимович | 5 |
| Барышева Наталья Сергеевна | 12 |
| Боброва Полина Ильинична | 19 |
| Варданян Армен Авагович | 4 |
| Власов Евгений Максимович | 14 |
| Волков Андрей Михайлович | 17 |
| Врачев Михаил Алексеевич | 6 |
| Ганжа Лилиана Александровна | 2 |
| Голубева Ксения Руслановна | 20 |
| Гонобоблев Евгений Дмитриевич | 11 |
| Гусев Леонид Васильевич | 14 |
| Дорофеев Даниил Григорьевич | 9 |
| Дрожженикова Алина Сергеевна | 8 |
| Дубровина Анастасия Михайловна | 20 |
| Захаров Даниил Михайлович | 18 |
| Калабин Данил Николаевич | 15 |
| Касаткин Михаил Александрович | 13 |
| Коковин Даниил Евгеньевич | 3 |
| Корчагина Дарья Михайловна | 19 |
| Кострюков Григорий Алексеевич | 15 |
| Крутилов Алексей Андреевич | 12 |
| Крутов Дмитрий Сергеевич | 2 |
| Крышковец Дмитрий Игоревич | 6 |
| Кудинкин Илья Андреевич | 18 |
| Кузьменко Алексей Павлович | 6 |
| Кулаков Даниил Сергеевич | 7 |
| Курицына Мария Евгеньевна | 7 |
| Лавров Михаил Андреевич | 11 |
| Лифанов Валерий Павлович | 20 |
| Лобашова Юлия Александровна | 8 |
| Максимова Мария Сергеевна | 2 |
| Медведева Елизавета Андреевна | 13 |
| Морозов Даниил Игоревич | 3 |
| Обжигалов Максим Сергеевич | 12 |
| Орлов Олег Олегович | 17 |
| Орлова Диана Сергеевна | 9 |
| Парамонов Егор Сергеевич | 3 |
| Петровский Илья Андреевич | 11 |
| Рекут Георгий Александрович | 8 |
| Русанов Олег Сергеевич | 5 |
| Рыбакова Полина Александровна | 4 |
| Сироджов Мехрофарид Ибодуллоевич | 9 |
| Степаненко Кирилл Александрович | 16 |
| Стулова Василина Игоревна | 10 |
| Суслов Данила Андреевич | 7 |
| Суханов Александр Денисович | 1 |
| Сухонин Виктор Васильевич | 15 |
| Тихомиров Максим Витальевич | 16 |
| Торопов Егор Александрович | 16 |
| Уваров Максим Евгеньевич | 14 |
| Фокин Арсений Алексеевич | 10 |
| Харитонов Егор Андреевич | 4 |
| Червинский Артём Алексеевич | 13 |
| Четвертков Андрей Михайлович | 10 |
| Шевченко Роман Николаевич | 5 |
| Шипилова Дарья Романовна | 1 |
| Ширкунов Артем Викторович | 17 |
| Юркин Роман Юрьевич | 18 |