День 10 — задания и контрольная точка 2
Тренировка проходит по ходу чтения первых двух страниц. Здесь итог: всё, что сверит course check 10. Правила контрольной точки — на третьей странице; прочитайте их, прежде чем начинать. Список страниц:
course toc 10Тренировка
Пять пунктов, в контрольную точку не входят.
- Набор вводов — страница 1. В папке
casesвнутриselftestне меньше четырёх файлов.txt: среди них обычный случай, пустой файл и файл со строкой, где не число. Готово, когда: пунктselfcasesзелёный. - Все файлы одной командой — страница 1. Программу прогоняли по всем файлам вводов командой
for f in …. Готово, когда: пунктt_loopзелёный. - Сверка — страница 1. Вывод программы сравнивали с ожидаемым через
diff. Готово, когда: пунктt_diffзелёный. - selftest — страница 1.
~/gocourse/day10/selftest/main.goработает по условию изTASK.txtтой же папки на всех вводах, включая пустой. Это починка, а не новая программа: изменено не больше трёх строк без учётаimport. Готово, когда: пунктselftestзелёный. - Словарик — страница 2. В
~/errors.mdминимум двадцать строк вида «текст ошибки — что значило», через тире. Готово, когда: пунктerrorsзелёный.
Контрольная точка 2
Восемь задач, каждая — в своей папке ~/gocourse/day10/kt1 … kt8. Условие — в TASK.txt этой папки, у каждого стажёра свои числа. Порог — 6 из 8.
| № | Папка | Задача | Как сдаётся | Готово, когда |
|---|---|---|---|---|
| 1 | kt1 |
стоимость доставки: условия и границы | main.go, прогон по видимым и скрытым вводам |
пункт kt1 зелёный |
| 2 | kt2 |
движение остатка: цикл по строкам и накопители | main.go, прогон по вводам |
пункт kt2 зелёный |
| 3 | kt3 |
раскладка партии: проверка ввода, поток ошибок, код 1 | main.go, прогон по вводам: вывод, ошибки и код отдельно |
пункт kt3 зелёный |
| 4 | kt4 |
программа считает неверно, пример проходит | правка до трёх строк без учёта import, прогон по вводам |
пункт kt4 зелёный |
| 5 | kt5 |
программа не собирается | правка до четырёх строк без учёта import, прогон по вводам |
пункт kt5 зелёный |
| 6 | kt6 |
таблица трассировки цикла | заполненный table.txt |
пункт kt6 зелёный |
| 7 | kt7 |
значения, которых нет в выводе | ответ командой course answer, см. ниже |
пункт kt7 зелёный |
| 8 | kt8 |
задача Парсонса с циклом и условием | переставленные строки main.go, прогон по вводам |
пункт kt8 зелёный |
Ответ на задачу 7:
course answer day10.kt7 ЧИСЛАВместо ЧИСЛА — два числа через пробел, в порядке из kt7/TASK.txt.
Начать:
cd ~/gocourse/day10/kt1
cat TASK.txtОтвет на задачу 7 можно отправить заново — засчитывается последний. Программы и таблицу можно поправить и проверить снова: пересдача — это повторный course check 10.
Готово, когда: в отчёте course check 10 в разделе контрольной точки — Задач сдано: 6 из 8 или больше.
Звёздочка
В зачёт не входит, course check 10 эти задания не смотрит.
- Для
kt1составьте полный набор файлов вводов — по два на каждую границу правил — и прогоните его одной командойfor, как на первой странице. - В
kt4найдите ввод, на котором ошибается программа, если починить только одну из двух ошибок. Сначала предскажите вывод, потом проверьте на копии вscratch. - В
kt7найдите те же два числа вторым способом: если нашли отладчиком — отладочной печатью в копии, и наоборот.
Готово, когда: набор kt1 прогнан одной командой for, предсказание для kt4 сверено запуском копии, а второй способ в kt7 дал те же два числа.
Порог дня: 10 пунктов из 13, и отдельно контрольная точка — 6 задач из 8. Без контрольной точки день не закрывается. Последний шаг — контрольные вопросы course quiz 10, после них ещё раз course check 10.