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

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

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

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

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

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

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

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

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

2. Граница цикла — страница 2

Сделать: почините ~/gocourse/day08/fix1, чтобы он печатал все ячейки с first по last включительно и их число. Строки first := … и last := … не трогайте. Свою правку посмотрите через diff с оригиналом из ~/.course/orig/day08.

Чинится заголовок цикла: правка — одна-две строки, цикл остаётся на месте, ячейку печатает одна строка — та, что внутри цикла. Проверка прогоняет программу дважды: с вашими номерами и ещё раз с другими, подставленными в first и last.

Готово, когда: пункты fix1 и t_diff зелёные.

3. Таблица упаковки — страница 2

Сделать: ~/gocourse/day08/pack/main.go читает три числа и печатает таблицу из ~/gocourse/day08/pack/TASK.txt.

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

4. go vet — страница 3

Сделать: запустите go vet . на программе с бесконечным циклом и посмотрите, что он находит строку, до которой программа не дойдёт.

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

5. Две трассировки цикла — страница 4

Сделать: заполните ~/gocourse/day08/trace1/table.txt и ~/gocourse/day08/trace2/table.txt: каждая выполненная строка каждого прохода, строка for — тоже. В trace2 номера строк вписываете вы. Число строк, шапку и прочерки не трогайте, program.go не меняйте.

Готово, когда: пункты trace1 и trace2 зелёные.

6. Ввод до конца — страница 5

Сделать: подайте программе ввод из файла через < и через конвейер |.

Готово, когда: пункты t_file и t_pipe зелёные.

7. Накопитель на месте и итог дня — страница 6

Сделать:

Готово, когда: пункты fix2 и total зелёные.

8. Формат

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

Пункт открывается, только когда сами задания написаны: пустая заготовка func main() {} его не зеленит.

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

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

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

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

10. Звёздочка

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

Готово, когда: посчитанное заранее совпало с запуском, а biggest на всех своих неудобных вводах печатает то, что требует TASK.txt.


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