День 12 · задания

День 12 — задания

Практика прошла по ходу чтения — в блоках «Попробуйте сейчас». Здесь итог: всё, что сверит course check 12. Если какой-то пункт пропустили, вернитесь к странице, которая указана рядом. Список страниц:

▶ Выполните
course toc 12

1. Четыре предсказания — страницы 1, 2, 3, 5

Сделать: сдать ответы на четыре вопроса «что выведет».

▶ Выполните · выделенное замените своим
course answer day12.q1 ОТВЕТ
course answer day12.q2 ОТВЕТ
course answer day12.q3 ОТВЕТ
course answer day12.q4 ОТВЕТ

Вместо ОТВЕТ — то, что напечатала бы программа: q1 и q4 — два числа через пробел, q2 — одно число, q3 — число и слово через пробел. Можно отправить заново — засчитывается последний.

Готово, когда: пункты q1, q2, q3, q4 в course check 12 зелёные.

2. Два результата из одной функции — страница 1

Сделать: почините ~/gocourse/day12/fix2. Программа не собирается: функция pack объявлена с двумя результатами, а возвращает одно значение. Заголовок pack и числа в main не меняйте.

Готово, когда: go run . в ~/gocourse/day12/fix2 печатает две строки — партию и «полных коробок … россыпью …», пункт fix2 зелёный. Размер правки сверит пункт fixsmall из раздела 5.

3. Разбор строк заказа — страница 2

Сделать: ~/gocourse/day12/split/main.go читает строки вида АРТИКУЛ:КОЛИЧЕСТВО и печатает по строке на позицию и итог. Условие — в ~/gocourse/day12/split/TASK.txt; вместимость коробки там своя. В программе должна быть функция pack(qty int, size int) (int, int). Описание strings.Cut посмотрите через go doc.

Готово, когда: пункты split и t_godoc зелёные. Проверка прогонит программу на нескольких вводах; часть из них скрыта — на них вы увидите только ввод и то, что напечатала программа. Кроме вывода она смотрит, что функция с двумя результатами в программе есть и что main её вызывает: расчёт коробок и россыпи должен уехать из main.

4. Приёмка с проверкой — страницы 3 и 4

Сделать: ~/gocourse/day12/intake/main.go по условию ~/gocourse/day12/intake/TASK.txt: своя функция parseQty(s string) (int, error), сообщение об ошибке в поток ошибок и код возврата 1. Тексты ошибок — в TASK.txt дословно.

Готово, когда: пункты intake и intake_vet зелёные. Проверка сверяет обычный вывод, поток ошибок и код возврата отдельно, а до запуска смотрит, что функция с результатом error объявлена и вызывается из main.

5. Затенение — страница 5

Сделать:

Готово, когда: пункты fix1, t_vetdiff зелёные, а fixsmall подтвердил, что в fix1 и fix2 изменено по одной-две строки: больше двух проверка не примет (строки import не считаются).

6. Трассировка — страница 6

Сделать: заполните ~/gocourse/day12/trace/table.txt: восемь шагов, номера строк уже проставлены. Колонка trips в if — про переменную, объявленную внутри блока if. Прочерки и число строк не трогайте, program.go не меняйте.

Готово, когда: пункт trace зелёный.

7. Формат, коммиты и словарик — страницы 1 и 7

Сделать:

▶ Выполните
cd ~/gocourse/day12
git log --oneline

Готово, когда: пункты code_fmt, git, t_gitlog и errors зелёные.

8. Звёздочка

В зачёт не входит, course check 12 эти задания не смотрит.

Готово, когда: программы делают то, что вы задумали, и вы можете объяснить, чем отличается сумма коробок по позициям от коробок «на весь заказ».


Порог: 14 пунктов из 17. После зачёта — контрольные вопросы: course quiz 12.