Привет.
В этом видео мы разберем тренировочное задание сложить два числа.
Вы узнаете, как настроить рабочее окружение, запустить решение,
и как отправить его на проверку.
Тренировочное задание находится в конце первой недели.
Давайте откроем его.
На странице видим формулировку задания и набор условий.
Далее находится ссылка на документацию методов,
которые могут пригодиться вам при написании кода.
В этом задании рекомендуем ознакомиться со способами приведения строки к числу
через parseInt и Number, а также значением NaN, которое является не числом.
Для решения задания потребуются файлы с заготовками.
Они публикуются в архиве exercise.
Скачиваем и распаковываем его.
[БЕЗ_ЗВУКА]
[БЕЗ_ЗВУКА] Следующим
шагом устанавливаем интерпретатор Node.js.
Сделать это надо один раз перед решением первой задачи.
Переходим на официальный сайт nodejs.org, выбираем вкладку Downloads,
скачиваем установочный файл для своей операционной системы.
[БЕЗ_ЗВУКА]
[БЕЗ_ЗВУКА] После
загрузки запускаем инсталлятор и следуем инструкциям.
Настройки по умолчанию нам подходят.
[БЕЗ_ЗВУКА]
[БЕЗ_ЗВУКА]
[БЕЗ_ЗВУКА] Мы настроили
рабочее окружение, пришло время приступить к решению задачи.
В этом задании нужно сложить два числа, учитывая следующие особенности.
Если на вход приходит строка «12», то приводим ее к числу.
Если строка «12 бегемотов», но вернем значение «Not a Number».
Откроем файлы из архива в любимом редакторе.
Для демонстрации я буду использовать VS Code.
В примере видим следующие файлы: checks.js
— в нем приведен пример использования функции сложения.
В переменной sum будет функция из файла index.js.
Вызывая эту функцию с двумя числами, вернется их сумма.
Давайте посмотрим на описание этой функции.
Для этого переходим в файл index.js.
Функция описана, задокументирована, но пока не реализована.
В этом файле мы будем писать свое решение.
Чтобы сложить два числа, воспользуемся оператором +.
Полученное значение вернем из функции при помощи оператора return.
Давайте запустим решение на тестовых примерах из файла checks.js.
Для этого переходим в папку с заданием и запускаем консоль.
Сделать это можно, набрав в адресной строке проводника команду «cmd».
Решение запускается командой node checks.js.
Вместо строчки «OK»,
которая выводится при выполнении checks.js, видим на консоли ошибку.
Так произошло, потому что assert прервал выполнение программы на строке 8.
Ожидалось число 118, а получили строку «10 117».
Оператор + не только складывает числа, но и конкатенирует строки.
Чтобы решение работало правильно, приведем каждое слагаемое к числу.
Воспользуемся методом parseInt.
Исправляем решение [БЕЗ_ЗВУКА]
и запускаем его на тестовых примерах из файла checks.js.
Немного опечатались.
Еще разочек запускаем.
Все проверки прошли, видим на консоли «OK».
После того, как задание выполнено, можно отправлять его на проверку.
Переходим во вкладку «Моя работа», жмем кнопку «Create submission».
Выбираем файл index.js,
нажимаем «Отправить»
[БЕЗ_ЗВУКА] и
ждем результат проверяющей системы.
[БЕЗ_ЗВУКА] Мы успешно сдали задание,
но если посмотрим результаты анализатора, то увидим, что пройдены не все тесты.
Информация о непройденных тестах открывается не сразу,
а после прохождения 75% проверок.
В данном решении неправильно обработано условие сложения строки и числа.
Строка «12 бегемотов», хоть и содержит число,
не является корректной, поэтому в этом случае функция должна вернуть «NaN».
Давайте доведем решение до идеального.
Возвращаемся к реализации и вносим изменения.
Для того, чтобы сложить число со строкой, нужно оба слагаемых привести к числу.
Сделать это можно с помощью Number.
Перед отправкой решения не забываем запустить проверки из файла checks.js,
выполняя команду node checks.js в консоли.
После того, как увидели «OK», сдаем решение через интерфейс Coursera.
Говорим «Create submission»,
выбираем файл index.js,
ждем, пока файл загружается,
нажимаем «Отправить»
и дожидаемся вердикта от проверяющей системы.
[БЕЗ_ЗВУКА] Если все проверки пройдены,
то появляется вот такая вот мотивирующая надпись.
Через некоторое время после успешной сдачи задачи
открывается решение от авторов курса.
Это решение написано с использованием конструкций языка,
которые были разобраны в лекции.
Изучая его, вы можете еще раз закрепить полученные знания.
Через пару минут у меня открылось решение от авторов.
Можно пролистать, изучить его.
Мы постарались максимально подробно откомментировать каждую строчку.
На этом все, спасибо за внимание.
Желаю вам удачи в решении задач.