Печать: Ctrl+P → ориентация альбомная, масштаб 100 % (не «вписать в лист»), поля нет, «печать фона» включить — иначе пропадут рамки таблиц. На листе две одинаковые карточки: разрезать по пунктиру посередине, получится две штуки формата A5. Эта серая рамка на бумагу не печатается.
10 класс

Инвариант цикла и документирование

Седьмое занятие углублённого курса: таблица витков, инвариант как фраза, верная на каждом витке, цикл по фразе — начало, шаг, выход, проверка на границе; полезный комментарий, шапка программы с примером, который проверяется запуском — уроки 14–15 плана

Таблица витков

Одна строка — одна проверка условия цикла: до цикла, после каждого витка и на выходе. Строк на одну больше, чем витков. В последней строке условие ложно.

Инвариант

Фраза о переменных, верная в каждой строке таблицы. Сумма цифр: s + сумма цифр n = сумма цифр исходного. Степень двойки: p = 2 ** k и p ≤ N. НОД вычитанием: НОД(a, b) не меняется. На выходе фраза верна, а условие ложно — вместе они дают ответ без запуска.

Цикл по фразе

Начало — значения, при которых фраза верна до первого витка (s = 0, p = 1 и k = 0, mn = первое прочитанное). Шаг — сдвиг к цели, после которого фраза снова верна. Выход — условие, при котором фраза превращается в ответ.

Где фраза ломается

Старт накопителя чужим числом (m = 0). Граница выхода: < против <=, на выходе проверить, что фраза ещё верна. Равный максимум: >= перезаписывает номер первого. Проверять на границе: самый маленький вход, точная степень, два равных числа.

Комментарий

Говорит, что верно, а не пересказывает строку. Главный комментарий цикла — инвариант одной строкой перед while.

Шапка программы

# Ввод: что подаётся; # Вывод: что печатается; # Пример: вход -> вывод. Пример проверяется запуском: не сошлось — врёт программа или шапка. Приглашение в input() — для человека, машине оно мешает. Чужая документация — help(abs), help(round).

Тренажёр и разбор темы: https://kibersvet.ru/10/invariant-i-dokumentirovanie/
Материалы подготовлены с использованием технологий искусственного интеллекта.
10 класс

Инвариант цикла и документирование

Седьмое занятие углублённого курса: таблица витков, инвариант как фраза, верная на каждом витке, цикл по фразе — начало, шаг, выход, проверка на границе; полезный комментарий, шапка программы с примером, который проверяется запуском — уроки 14–15 плана

Таблица витков

Одна строка — одна проверка условия цикла: до цикла, после каждого витка и на выходе. Строк на одну больше, чем витков. В последней строке условие ложно.

Инвариант

Фраза о переменных, верная в каждой строке таблицы. Сумма цифр: s + сумма цифр n = сумма цифр исходного. Степень двойки: p = 2 ** k и p ≤ N. НОД вычитанием: НОД(a, b) не меняется. На выходе фраза верна, а условие ложно — вместе они дают ответ без запуска.

Цикл по фразе

Начало — значения, при которых фраза верна до первого витка (s = 0, p = 1 и k = 0, mn = первое прочитанное). Шаг — сдвиг к цели, после которого фраза снова верна. Выход — условие, при котором фраза превращается в ответ.

Где фраза ломается

Старт накопителя чужим числом (m = 0). Граница выхода: < против <=, на выходе проверить, что фраза ещё верна. Равный максимум: >= перезаписывает номер первого. Проверять на границе: самый маленький вход, точная степень, два равных числа.

Комментарий

Говорит, что верно, а не пересказывает строку. Главный комментарий цикла — инвариант одной строкой перед while.

Шапка программы

# Ввод: что подаётся; # Вывод: что печатается; # Пример: вход -> вывод. Пример проверяется запуском: не сошлось — врёт программа или шапка. Приглашение в input() — для человека, машине оно мешает. Чужая документация — help(abs), help(round).