Рубежный контроль по JS
Главные требования
- Работа выполнена самостоятельно.
- Работа создана во время проведения занятия (1 пара).
- Не менее трех коммитов за авторством студента, равномерно распределенных по времени выполнения задания.
- Работа размещена на удаленном репозитории на Github, который создан через Github Classroom.
Задание
Работа с проектом и репозиторием
- Принять задание на Github Classroom. Ссылка на задание.
- Клонировать репозиторий созданный репозиторий.
- Инициализировать пакет с помощью команды
npm init -y
. - Установить ESLint и конфигурацию от HTML Academy и подключить установленную конфигурацию.
- Добавить в проект файл
.gitignore
с исключением папкиnode_modules
. - Создать коммит на ветке
main
, создать новую ветку и задание выполнять на ней.
Работа над основным заданием
- Создать документ html, указав в футере ФИО, группу и дату выполнения работы.
- На страницу в основную часть перенести описание самой задачи. После описания добавить форму с требуемыми полями и кнопкой получения результата. Все поля обязательны к заполнению.
- Реализовать валидацию данных из полей формы под ограничения задачи.
- Добавить понятные описания ошибок валидации.
- При нажатии кнопки получения результата введенные данные и ответ отображаются на странице после формы. Поля при этом очищаются.
Завершение работы
- Проверить код на валидаторе html.
- Проверить код статическим анализатором ESLint.
- Созданные коммиты отправить на удаленный репозиторий на ветку
rk
.
Критерии оценки
- Выполнены главные требования.
- Правильно создана основа проекта.
- Правильно выполнена работа с ветками.
- В футере указано ФИО.
- Структура html-документа и форма корректны.
- Валидация формы выполнена средствами JS и Constraint Validation API.
- Визуально понятно в каком поле ошибка.
- Сообщения об ошибке валидации понятны и доступны.
- Решена алгоритмическая задача с использованием наиболее подходящих конструкций языка js.
- Понятные имена функций и переменных.
- Код html и js отформатирован.
- Отсутствие ошибок на валидаторе для html и ESLint.
Варианты
Вариант 1
Даны две строки, верните истину тогда и только тогда, когда первая строка может стать второй после некоторого количества перестановок. Перестановка заключается в перемещении крайнего левого символа в крайнее правое положение. “abcde” после первой перестановки становится “bcdea”. “a” была первой, стала последней.
Допустимы только буквы.
Примеры
Вход: “abcde”, цель = “cdeab”, вывод: истина
Вход: “abcde”, цель = “abced”, вывод: ложь
Вариант 2
Дана строка, представляющая запись о посещаемости студента, где каждый символ означает, отсутствовал ли студент, опоздал или присутствовал в этот день. Запись содержит только следующие три символа:
‘Н’: Отсутствует. ‘О’: Опоздал. ‘П’: Присутствует.
Студент имеет право на поощрение за посещаемость, если он соответствует обоим следующим критериям:
- Студент отсутствовал (“Н”) строго менее 2 дней в общей сложности.
- Студент никогда не опаздывал (“О”) в течение 3 или более дней подряд.
Верните истину, если студент имеет право на получение награды за посещаемость, или ложь в противном случае.
Допустимы только буквы Н, О, П.
Примеры
Вход: “ППНООП”, вывод: истина. Студент имеет менее 2 пропусков и никогда не опаздывал 3 и более дней подряд.
Ввод: “ППНООО”, вывод: ложь. Студент опоздал 3 дня подряд, поэтому не имеет права на получение награды.
Вариант 3
Дана строка чисел, разделенных пробелами, и нужно вернуть наибольшее и наименьшее число не используя объект Math.
Допустимы только цифры, пробелы и -.
Примеры
Вход: “1 2 3 4 5”, вывод: “5 1”.
Ввод: “1 9 3 4 -5”, вывод: “9 -5”.
Вариант 4
Дано целое число, которое является номером столбца, верните соответствующий ему заголовок столбца в том виде, в котором он отображается на листе Excel.
1 -> A 2 -> B 3 -> C … 26 -> Z 27 -> AA 28 -> AB
Допустимы только целые числа.
Примеры
Вход: 29, вывод: “AC”
Вход: 701, вывод: “ZY”
Вариант 5
Дано целое положительное число - время прибытия поезда в часах, и другое целое положительное число - время задержки в часах. Верните время, когда поезд прибудет на станцию. Время указывается в 24-часовом формате.
Допустимы только целые числа от 1 до 24 включительно.
Примеры
Вход: 15 и 5, вывод: 20. Время прибытия поезда - 15:00 часов. Он задержался на 5 часов. Теперь он прибудет в 15+5=20 (20:00 часов).
Вход: 13 и 11, вывод: 0. Время прибытия поезда - 13:00 часов. Он задержался на 11 часов. Теперь он прибудет в 13+11=24 (что обозначается 00:00 в 24-часовом формате, поэтому возвращаем 0).
Вариант 6
Есть длинная клумба, на которой некоторые места засажены, а некоторые - нет. Однако цветы нельзя садить на смежных местах.
Учитывая массив, содержащий 0 и 1, где 0 означает пустое место, а 1 - не пустое, и целое число n цветов, верните истину, если на клумбу можно посадить n новых цветов, не нарушая правила “цветы нельзя садить на смежных местах”, и ложь в противном случае.
Допустимы только 0, 1 и , в качестве разделителя для клумбы и целые числа для количества цветов.
В исходной последовательности клумбы правило всегда соблюдено.
Примеры
Вход: 1,0,0,0,1 и 1, вывод: истина.
Вход: 1,0,0,0,1 и 2, вывод: ложь.
Вариант 7
Дан массив целых чисел, а счастливое целое число - это число, частота которого в массиве равна его значению.
Возвращается наибольшее счастливое целое число в массиве. Если счастливое целое число отсутствует, возвращается -1.
Допустимы только целые числа и , в качестве разделителя.
Примеры
Вход: 2,2,3,4, вывод: 2. Единственное счастливое число в массиве - 2, потому что его частота равна ему.
Вход: 1,2,2,3,3,3, вывод: 3. 1, 2 и 3 - счастливые числа, но 3 наибольшее из них.
Вход: 2,2,2,3,3, вывод: -1. В массиве нет счастливых чисел.
Вариант 8
Дан массив целых чисел. Уникальные элементы массива - это элементы, которые встречаются в массиве ровно один раз. Верните сумму всех уникальных элементов массива.
Допустимы только целые числа и пробел в качестве разделителя.
Примеры
Вход: 1 2 3 2, вывод: 4. Уникальными элементами являются [1,3], а сумма равна 4.
Вход: 1 1 1, вывод: 0. Уникальных элементов нет и сумма равна 0.
Вариант 9
Даны две строки, верните истину, если вторая является анаграммой первой, и ложь в противном случае.
Анаграмма - это слово или фраза, образованная путем перестановки букв другого слова или фразы, обычно с использованием всех исходных букв ровно один раз.
Допустимы только буквы.
Примеры
Вход: колба - бокал, вывод: истина
Вход: крыса - краска, вывод: ложь
Вариант 10
Дана строка, которую необходимо закодировать. Каждый символ в новой строке будет ”(”, если этот символ встречается в исходной строке только один раз, или ”)”, если этот символ встречается в исходной строке более одного раза.
Допустимы только буквы.
Примеры
Вход: “din”, вывод: ”(((”
Вход: “recede”, вывод: ”()()()”