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

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

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

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

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

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

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

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

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

2. Результат никуда не делся — страница 2

Сделать: почините ~/gocourse/day11/fix1, чтобы он печатал вес партии вместе с упаковкой. Числа в main не трогайте, функцию addPack тоже. Свою правку посмотрите через diff с оригиналом из ~/.course/orig/day11.

Готово, когда: пункт fix1 зелёный. Размер правки сверит пункт fixsmall — он в разделе 4.

3. Таблица вызова — страница 4

Сделать: заполните ~/gocourse/day11/trace/table.txt: каждая выполненная строка — шаг, колонка «где мы» — имя функции латиницей (main или boxes). Номера строк, шаги и прочерки уже стоят, меняйте только ?. Число строк не меняйте, program.go не правьте.

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

4. Порядок аргументов — страница 5

Сделать: почините ~/gocourse/day11/fix2 — программа должна печатать правдоподобное число коробок и остаток в последней. Функцию boxes и числа в main не меняйте.

Готово, когда: пункты fix2 и fixsmall зелёные. В fix1 и fix2 должно быть изменено по одной-две строки.

5. Вынести повтор в функцию — страница 6

Сделать: в ~/gocourse/day11/report объявите свою функцию, которая считает число коробок, и замените ею три одинаковых куска. Вывод программы должен остаться прежним. Условие — ~/gocourse/day11/report/TASK.txt.

Готово, когда: пункты report и split зелёные. Проверка прогонит программу на нескольких вводах; часть из них скрыта — на них вы увидите только ввод и то, что напечатала программа.

6. Стоимость с порогом партии — страница 6

Сделать: ~/gocourse/day11/cost/main.go — функция cost(qty int) int и main, который читает заказы до конца ввода и печатает итог. Цена, порог и вторая цена — в ~/gocourse/day11/cost/TASK.txt, они ваши.

Готово, когда: пункты cost и cost_func зелёные. Цены и порог пишутся внутри функции cost, а не в main.

7. Формат

Сделать: отформатируйте код report и cost — Ctrl+S в VS Code или gofmt -w . в папке задания.

Готово, когда: gofmt -l . в каждой папке ничего не печатает — пункт code_fmt зелёный.

8. Первый репозиторий — страница 7

Сделать:

Готово, когда: пункты git, gitignore, t_gitdiff и t_log зелёные.

t_gitdiff и t_log смотрят не файлы, а журнал команд: результата у git diff и git log нет, и засчитать их можно только по тому, что вы их набирали. Если они красные при сделанной работе — проверьте журнал командой course doctor (седьмая страница, «Два пункта смотрят не файлы, а ваши команды»).

9. Словарик ошибок — страница 5

Сделать: в ~/errors.md — минимум двадцать две строки вида «текст ошибки — что значило». Между ошибкой и разбором — тире с пробелами вокруг.

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

10. Звёздочка

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

Готово, когда: fits отвечает верно на заказе, который делится нацело, и на том, который не делится; в истории нашёлся нужный коммит.


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