01
Единицы измерения и кодировки текста
В задании 1 текст в кодировке с известным числом бит на символ: после удаления слова размер уменьшился, нужно найти слово. Считают символы, а не буквы: запятые и пробелы тоже весят.
Единицы
| Единица | Сколько | Степень двойки |
|---|
| 1 байт | 8 бит | 23 бит |
| 1 Кбайт | 1024 байта | 210 байт |
| 1 Мбайт | 1024 Кбайт | 220 байт |
Степени двойки
- 201
- 212
- 224
- 238
- 2416
- 2532
- 2664
- 27128
- 28256
- 29512
- 2101 024
- 2138 192
- 21665 536
Объём текста
- I = K · i, где K — число символов вместе с пробелами и знаками препинания, i — бит на символ
- 8 бит на символ — 1 байт, 16 бит — 2 байта, 32 бита — 4 байта
- Размер уменьшился на ΔI байт: удалено 8 · ΔIi символов
- Удалили слово из списка — ушли и «, » (запятая и пробел): длина слова на 2 меньше числа удалённых символов
02
Декодирование сообщения
В задании 2 сообщение записано кодами букв подряд, без разделителей. Расшифровка единственная, если её удаётся читать слева направо без выбора — иначе перебирают варианты.
Правила
- Если ни один код не является началом другого (условие Фано), сообщение читается слева направо однозначно
- Если у двух букв коды начинаются одинаково, пробуют обе и отбрасывают ветку, где остаток сообщения не делится на коды
- Проверка: сложите длины кодов найденных букв — должна выйти длина сообщения
- В ответ — буквы подряд, без пробелов и запятых
03
Логика: НЕ, И, ИЛИ
В задании 3 ищут число, при котором высказывание истинно или ложно. Сначала упростите выражение: снимите НЕ со сравнений, потом найдите, когда выполняется каждая часть.
Таблица истинности
| A | B | НЕ A | A И B | A ИЛИ B |
|---|
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 |
Правила
- Порядок действий: скобки, НЕ, И, ИЛИ
- A И B истинно, только когда истинны обе части; A ИЛИ B ложно, только когда ложны обе
- НЕ (x ≥ 6) — это x < 6; НЕ (x = 5) — это x ≠ 5; НЕ (x < 3) — это x ≥ 3
- НЕ (A И B) = НЕ A ИЛИ НЕ B; НЕ (A ИЛИ B) = НЕ A И НЕ B (законы де Моргана)
- «Ложно высказывание» — возьмите отрицание всего выражения и ищите, когда оно истинно
- Чётность: x чётное — остаток от деления на 2 равен 0
04
Графы, таблицы расстояний и пути
В задании 4 по таблице дорог ищут кратчайший путь, в задании 9 по схеме со стрелками считают число путей. Таблицу удобно перерисовать в граф: пункты — вершины, дороги — рёбра с длинами.
Кратчайший путь (4)
- Таблица симметрична: число на пересечении строки A и столбца B — длина дороги AB, пустая клетка — дороги нет
- Прямая дорога не всегда самая короткая: путь через промежуточные пункты бывает короче
- Расстояние до пункта = наименьшее из «расстояние до соседа + длина дороги от него»; считают от начального пункта к конечному
- Если путь обязан пройти через пункт C: d(A, F) = d(A, C) + d(C, F)
Число путей (9)
- N(A) = 1 для начального города
- N(X) = сумма N(Y) по всем городам Y, из которых стрелка ведёт в X
- Считают по порядку: город — только после всех, из которых в него входят стрелки
- Путь обязан пройти через C: N(A → G) = N(A → C) · N(C → G)
- Путь не должен проходить через C: вычеркните C со всеми стрелками и посчитайте заново
05
Исполнитель с командами-числами
В задании 5 у исполнителя две команды, например «умножь на b» и «прибавь a», и нужно получить одно число из другого. Проще идти с конца: от результата к началу обратными командами.
Обратный ход
- Обратная к «умножь на b» — «раздели на b»: применима, только если число делится на b нацело
- Обратная к «прибавь a» — «вычти a»; к «вычти a» — «прибавь a»
- Найденные команды записывают в обратном порядке: последняя обратная — первая в алгоритме
- Проверьте ответ прямым ходом: выполните команды по порядку от начального числа
- В ответе — только номера команд подряд, без пробелов: 12122
Задача с неизвестным параметром
- Если в команде неизвестно b, запишите результат программы выражением с b и решите уравнение
06
Условный оператор и запуски программы
В задании 6 программа на пяти языках проверяет условие с И или ИЛИ на парах чисел. Считают, сколько запусков напечатали «YES», или подбирают параметр, при котором их ровно столько, сколько нужно.
Одно и то же на разных языках
| Python | Паскаль | Алгоритмический язык | Что значит |
|---|
and | and | и | И: обе части верны |
or | or | или | ИЛИ: хотя бы одна часть верна |
not | not | не | НЕ |
a // b | a div b | div(a, b) | целая часть от деления |
a % b | a mod b | mod(a, b) | остаток от деления |
!= | <> | <> | не равно |
Подбор параметра
- Сначала отметьте запуски, где ответ не зависит от параметра: при ИЛИ хватает одной верной части, при И — одной неверной
- Для остальных запусков условие с параметром даёт границу: s > A верно при A < s
- Нужное число «YES» — выберите A между соседними границами; ответ — целое число, если просят наименьшее или наибольшее, проверьте краевое значение
07
Адрес файла в интернете
В задании 7 из пронумерованных кусков собирают адрес файла и записывают номера кусков по порядку.
Как устроен адрес
- протокол :// сервер / каталог / файл
- Протокол — http, https, ftp; после него всегда «://»
- Сервер — имя с точками: tt.com, www.school.ru; каталог есть, только если о нём сказано в условии
- Имя файла — с расширением через точку: com.xls; точка внутри имени не отделяет сервер
- Пример: ftp://edu.ru/plan.doc — куски «ftp», «://», «edu.», «ru», «/», «plan.», «doc»
08
Запросы к поисковой системе и круги Эйлера
В задании 8 по числу страниц для одних запросов находят число для другого. Запрос с «&» (И) — пересечение множеств, с «|» (ИЛИ) — объединение.
Формулы
- |A ИЛИ B| = |A| + |B| − |A И B|
- |A И (B ИЛИ C)| = |A И B| + |A И C| − |A И B И C|
- Три множества: |A ИЛИ B ИЛИ C| = |A| + |B| + |C| − |A И B| − |A И C| − |B И C| + |A И B И C|
- «&» сужает поиск — страниц меньше или столько же; «|» расширяет — больше или столько же
Если формула не видна
- Нарисуйте круги Эйлера, обозначьте неизвестными части, которые не пересекаются, и составьте уравнения по каждому запросу
09
Системы счисления
В задании 10 числа записаны в двоичной, восьмеричной и шестнадцатеричной системах: их переводят в десятичную, чтобы сравнить или сложить.
Перевод
- В десятичную: 11108 = 1 · 83 + 1 · 82 + 1 · 81 + 0 · 80 = 584
- Из десятичной: делим на основание с остатком, остатки читаем снизу вверх
- Двоичная ↔ восьмеричная: каждая восьмеричная цифра — три двоичных разряда
- Двоичная ↔ шестнадцатеричная: каждая шестнадцатеричная цифра — четыре разряда; A = 10, …, F = 15
- Наибольшее k-значное число в системе с основанием q: qk − 1; 111111112 = 255
Числа от 0 до 15
| 10 | 2 | 8 | 16 |
|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
10
Файлы, каталоги и маски
Задания 11 и 12 решают на компьютере в каталоге с файлами: в 11 ищут слово в текстах, в 12 считают файлы по расширению. Удобнее всего — поиск в проводнике и в текстовом редакторе.
Маски имён
- * — любое число любых символов, в том числе ни одного; ? — ровно один любой символ
- *.pdf — все файлы с расширением pdf; *.jp*g — jpg и jpeg
- Расширение — часть имени после последней точки: у «отчёт.2025.docx» — docx
- Полное имя файла: путь от корня через «/» или «\»: DEMO-12/Проза/Пушкин/Метель.txt
Как искать
- 11: ищите редкое слово из условия (фамилию героя) по содержимому файлов, потом откройте файл и найдите ответ рядом
- Один и тот же текст бывает в нескольких форматах — достаточно найти его в одном
- 12: включите поиск во вложенных папках; считайте только каталоги, названные в условии, и только нужные расширения
- Ответ 11 — слово без пробелов и кавычек, как в тексте; регистр не важен
11
Требования к презентации и документу
13.1 — презентация, 13.2 — текстовый документ по образцу; выбирают одно. Требования стоят в условии, оценка — по ошибкам. Здесь — требования демоверсии 2027; на экзамене их перечитывают в своём варианте.
Презентация, 13.1
- Ровно три слайда без анимации, слайд 16 : 9, альбомный
- Слайд 1 — титульный: название и подзаголовок с идентификационным номером участника
- Слайд 2 — заголовок, два изображения, два блока текста; слайд 3 — заголовок, три изображения, три блока текста
- Один шрифт на всю презентацию; название — 40 пт, подзаголовок титула и заголовки — 24 пт, остальной текст — 20 пт
- Изображения без искажения пропорций, не перекрывают друг друга и текст; текст не сливается с фоном
- Файл ответа — в формате .odp: файл в другом формате оценивают в 0 баллов
Документ, 13.2
- Основной текст — 14 пт, обычное начертание, выравнивание по ширине
- Отступ первой строки — 1 см настройкой абзаца, не пробелами
- Межстрочный интервал — от одинарного до полуторного
- Интервал между текстом и таблицей — от 12 до 24 пт, без пустых абзацев
- Таблица по центру страницы и уже текста, ячейки выровнены по вертикали по центру
- Строки переносит редактор: Enter — только в конце абзаца
- Файл ответа — в формате .odt: файл в другом формате оценивают в 0 баллов
12
Электронные таблицы: функции и диаграммы
В задании 14 в таблице на 1000 строк отвечают на два вопроса формулами и строят диаграмму. Каждый из трёх элементов — отдельный балл.
Функции
| Формула | Что считает |
|---|
=СЧЁТЕСЛИ(C2:C1001; 9) | сколько ячеек равны 9 (COUNTIF) |
=СЧЁТЕСЛИ(D2:D1001; ">200") | сколько значений больше 200 |
=СЧЁТЕСЛИМН(C2:C1001; 9; D2:D1001; ">200") | строки, где выполнены оба условия (COUNTIFS) |
=СУММЕСЛИ(B2:B1001; 5; D2:D1001) | сумма D в строках, где B = 5 (SUMIF) |
=СРЗНАЧЕСЛИ(B2:B1001; 5; D2:D1001) | среднее D в строках, где B = 5 (AVERAGEIF) |
=ЕСЛИ(И(C2=9; D2>200); 1; 0) | условие по строке во вспомогательном столбце (IF, AND) |
=МАКС(D2:D1001), =МИН(D2:D1001) | наибольшее и наименьшее (MAX, MIN) |
Правила
- Ответ пишите в ячейку из условия; формула в другой ячейке тоже засчитывается, если число верное
- «С точностью не менее двух знаков после запятой» — формат ячейки, а не округление вручную
- $ закрепляет адрес при копировании формулы: $D$2 не меняется, D2 сдвигается
- Круговая диаграмма: сначала посчитайте количества в отдельных ячейках, диаграмму стройте по ним; нужны легенда и подписи значений
13
Робот: команды и циклы
В задании 15 пишут алгоритм для Робота в Кумире. Поле в условии — только пример: алгоритм должен работать при любой длине стен, поэтому вместо счёта клеток — циклы «пока».
Команды
| Команда | Что делает |
|---|
вверх, вниз, влево, вправо | шаг на клетку; в стену — Робот разбивается |
закрасить | закрашивает клетку, где стоит Робот |
сверху свободно, снизу свободно | проверка: нет стены сверху или снизу |
слева свободно, справа свободно | проверка: нет стены слева или справа |
нц пока справа свободно … кц | повторять, пока условие верно |
если снизу свободно то … иначе … все | ветвление |
и, или, не | связки в условиях |
Как писать
- Каждый участок стены — свой цикл «нц пока»: идём, пока стена рядом, и закрашиваем
- Закрашивайте клетку до шага или после — так, чтобы не пропустить первую и последнюю
- Прогоните алгоритм мысленно на поле, где стены короче и длиннее, чем на рисунке
- Алгоритм сохраняют в формате Кумира (.kum) или текстовым файлом
14
Делимость, цифры числа, максимум
В задании 16 пишут программу на любом языке: на вход — последовательность натуральных чисел, на выход — одно число. Всё решение строится из нескольких приёмов.
Приёмы на Python
| Выражение | Что значит |
|---|
x % 3 == 0 | x делится на 3 |
x % 10 == 4 | последняя цифра — 4 |
x % 2 != 0 | x нечётное |
x // 10 % 10 | вторая цифра с конца |
x % 8, x // 8 | последняя цифра в восьмеричной записи и число без неё |
10 <= x <= 99 | x двузначное |
Схема программы
- Ввод: «заканчивается числом 0» — цикл пока, 0 не обрабатывать; «сначала количество чисел» — цикл на n шагов
- Количество — счётчик с нулём, сумма — сумма с нулём, максимум — начинаем с 0 (числа натуральные), минимум — с числа больше любого из условия
- Вывод: только одно число, без поясняющего текста
- Без ввода (числа в коде) или без вывода — 0 баллов; проверяют на трёх тестах