Задание: «Переведите число 45 в двоичную систему». Ты помнишь, что надо что-то делить на 2 и записывать остатки — а потом читать их то ли сверху вниз, то ли снизу вверх. Или логика: «Для какого из значений X ложно выражение (X > 5) И НЕ (X > 10)» — и в голове каша из «и», «не» и скобок.
Системы счисления и логика — самые «механические» темы школьной информатики: в них нет ничего, что нужно понимать интуитивно, есть только алгоритм, который надо выполнить без ошибок. Ниже — шесть задач, каждая решена до конца с проверкой. После них останется только натренировать руку.
Задача 1. Из десятичной в двоичную, восьмеричную, шестнадцатеричную
Переведите число 45 в двоичную, восьмеричную и шестнадцатеричную системы счисления.
Алгоритм: делим на основание, записываем остатки, читаем снизу вверх.
Двоичная (основание 2).
| Делимое | : 2 | Остаток |
|---|---|---|
| 45 | 22 | 1 |
| 22 | 11 | 0 |
| 11 | 5 | 1 |
| 5 | 2 | 1 |
| 2 | 1 | 0 |
| 1 | 0 | 1 |
Читаем остатки снизу вверх: 101101. Ответ: 45₁₀ = 101101₂.
Проверка — переводим обратно через степени двойки (разряды справа налево: 1, 2, 4, 8, 16, 32): 1·32 + 0·16 + 1·8 + 1·4 + 0·2 + 1·1 = 32 + 8 + 4 + 1 = 45. Сходится.
Восьмеричная (основание 8). 45 : 8 = 5, остаток 5. 5 : 8 = 0, остаток 5. Снизу вверх: 55. Проверка: 5·8 + 5 = 45.
Шестнадцатеричная (основание 16). 45 : 16 = 2, остаток 13. 2 : 16 = 0, остаток 2. Остаток 13 записывается буквой D (цифры 10–15 — это A, B, C, D, E, F). Снизу вверх: 2D. Проверка: 2·16 + 13 = 45.
Быстрый способ для 8 и 16 — через двоичную запись. Разбиваем 101101 на группы по 3 бита справа: 101 | 101 → 5 | 5 → 55₈. На группы по 4 бита справа (дополняем слева нулями до целой группы): 0010 | 1101 → 2 | D → 2D₁₆. Совпало.
Совет: запомни первые степени двойки наизусть: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024. С ними перевод в обе стороны делается в уме, и большинство задач ОГЭ на системы счисления решается за минуту.
Задача 2. Из двоичной и шестнадцатеричной в десятичную
Переведите в десятичную систему числа 1100110₂ и 1F₁₆.
Двоичная → десятичная. Подписываем над разрядами степени двойки справа налево:
| Разряд | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
|---|---|---|---|---|---|---|---|
| Вес | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Складываем веса там, где стоит 1: 64 + 32 + 4 + 2 = 102.
Шестнадцатеричная → десятичная. 1F: F = 15. 1·16 + 15 = 31.
Проверка обратным переводом: 102 : 2 → остатки 0, 1, 1, 0, 0, 1, 1 → 1100110. 31 : 16 = 1, остаток 15 (F) → 1F. Верно.
Задача 3. Сколько единиц в двоичной записи
Сколько единиц содержится в двоичной записи числа 4·256 + 2·64 + 33?
Можно посчитать в десятичной (1024 + 128 + 33 = 1185) и перевести, но есть путь быстрее: каждая степень двойки — это одна единица в двоичной записи.
Шаг 1. Раскладываем слагаемые в степени двойки:
- 4·256 = 2² · 2⁸ = 2¹⁰ — одна единица.
- 2·64 = 2¹ · 2⁶ = 2⁷ — одна единица.
- 33 = 32 + 1 = 2⁵ + 2⁰ — две единицы.
Шаг 2. Проверяем, что степени не повторяются: 10, 7, 5, 0 — все разные, значит, единицы не «сливаются» и не переносятся.
Шаг 3. Итого 1 + 1 + 2 = 4 единицы.
Проверка: 1185 = 1024 + 128 + 32 + 1 → в двоичной 10010100001 — считаем единицы: четыре. Сходится.
Если бы степени совпали (например, 2⁵ + 2⁵), их надо было бы сложить: 2⁵ + 2⁵ = 2⁶ — одна единица, а не две.
Задача 4. Таблица истинности логического выражения
Постройте таблицу истинности для выражения F = (A ∨ B) ∧ ¬(A ∧ B). Сколько наборов дают истину?
Обозначения: ∧ — И (конъюнкция, истина только когда оба истинны); ∨ — ИЛИ (дизъюнкция, истина когда хотя бы один истинен); ¬ — НЕ (инверсия). Приоритет: сначала ¬, потом ∧, потом ∨ — если нет скобок.
Шаг 1. Две переменные → 2² = 4 набора. Выписываем их в порядке 00, 01, 10, 11.
Шаг 2. Считаем по столбцам, от внутренних операций к внешним.
| A | B | A ∨ B | A ∧ B | ¬(A ∧ B) | F = (A ∨ B) ∧ ¬(A ∧ B) |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 | 1 |
| 1 | 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
Ответ: F истинно на 2 наборах из 4 — когда ровно одна из переменных истинна. Это функция «исключающее ИЛИ» (XOR, ⊕).
Если переменных три, наборов 2³ = 8, выписывай их как двоичные числа от 000 до 111 — так ни один не пропустишь.
Задача 5. Логика с числами
Для какого из значений X ложно выражение (X > 5) ∧ ¬(X > 10)? Варианты: 6, 8, 10, 12.
Шаг 1. Переводим на русский. ¬(X > 10) — это «X не больше 10», то есть X ≤ 10. Всё выражение: «X больше 5 и X не больше 10», то есть 5 < X ≤ 10.
Шаг 2. Проверяем варианты.
| X | X > 5 | X > 10 | ¬(X > 10) | Результат |
|---|---|---|---|---|
| 6 | 1 | 0 | 1 | 1 |
| 8 | 1 | 0 | 1 | 1 |
| 10 | 1 | 0 | 1 | 1 |
| 12 | 1 | 1 | 0 | 0 |
Ответ: выражение ложно при X = 12.
Главная ловушка — X = 10: «X > 10» при X = 10 ложно (10 не больше 10), значит ¬(X > 10) истинно. Строгое и нестрогое неравенство — вот где чаще всего ошибаются.
Ошибка: переводить ¬(X > 10) как «X < 10». Отрицание «больше» — это «меньше или равно». Граничное значение при инверсии переходит на другую сторону.
Задача 6. Объём текста в байтах
Статья содержит 40 страниц, на каждой 32 строки по 64 символа. Каждый символ кодируется 8 битами. Найдите объём статьи в килобайтах.
Шаг 1. Считаем символы. 40 × 32 × 64 = 81 920 символов. (32 × 64 = 2 048; 2 048 × 40 = 81 920.)
Шаг 2. Бит на символ → байт. 8 бит = 1 байт. Объём = 81 920 байт.
Шаг 3. Байты → килобайты. 1 КБ = 1 024 байта. 81 920 : 1 024 = 80 КБ.
Ответ: 80 КБ.
Проверка: 81 920 = 80 × 1 024 — да, потому что 1 024 × 80 = 81 920. Числа в таких задачах специально подбираются степенями двойки, чтобы делилось нацело. Если делится с остатком — перепроверь умножение.
Если бы кодировка была 16-битной (Unicode), объём удвоился бы: 160 КБ. Если бы спросили в битах — умножили бы байты на 8.
| Единица | Сколько |
|---|---|
| 1 байт | 8 бит |
| 1 КБ | 1 024 байта = 2¹⁰ байт |
| 1 МБ | 1 024 КБ = 2²⁰ байт |
| 1 ГБ | 1 024 МБ = 2³⁰ байт |
Универсальный алгоритм проверки
- Перевёл число — переведи обратно. Любой перевод между системами проверяется обратным переводом за 20 секунд.
- Посчитал таблицу истинности — проверь число строк. 2 переменные → 4 строки, 3 → 8, 4 → 16.
- Инвертировал неравенство — проверь границу. ¬(X > a) — это X ≤ a, ¬(X ≥ a) — это X < a.
- Считал объём — проверь делимость. Ответ в КБ или МБ обычно целый; остаток — сигнал об ошибке.
- Подписал систему счисления. 101101 без индекса — неполный ответ; 101101₂ — полный.
Пример: Никита, 9 класс, на пробнике ОГЭ решил задачу на перевод в двоичную правильно, но прочитал остатки сверху вниз и получил 101101 → 101101 (число оказалось палиндромом, и ошибка не проявилась). На настоящем экзамене число было другое — и ответ ушёл. С тех пор он делает обратную проверку через степени двойки на каждой задаче: 30 секунд, которые стоят балла.
Типичные ошибки
- Остатки в обратном порядке. Читать снизу вверх — от последнего остатка к первому.
- Забыть, что в 16-й системе цифры до F. Остаток 13 — это D, а не «13».
- Неверный вес разряда. Справа налево: 1, 2, 4, 8… Первый (крайний правый) разряд — это 2⁰ = 1, а не 2.
- Приоритет операций. Без скобок ¬ выполняется раньше ∧, а ∧ раньше ∨. ¬A ∧ B — это (¬A) ∧ B, а не ¬(A ∧ B).
- Строгое/нестрогое при инверсии. ¬(X > 10) ≠ (X < 10).
- Пропущенный набор в таблице истинности. Выписывай наборы как двоичные числа по порядку.
- Бит и байт. 8 бит на символ = 1 байт на символ, не 8 байт.
- 1 000 вместо 1 024. В школьной информатике килобайт — 1 024 байта.
Частые вопросы
Как перевести число из десятичной системы в двоичную?
Дели число на 2, записывай остаток (0 или 1), частное снова дели на 2 — пока частное не станет 0. Затем выпиши остатки в обратном порядке, от последнего к первому. Например, 45: остатки 1, 0, 1, 1, 0, 1 → 101101₂. Проверка: 32 + 8 + 4 + 1 = 45.
Как перевести из двоичной системы в десятичную?
Подпиши над каждым разрядом справа налево степени двойки: 1, 2, 4, 8, 16, 32… Сложи те, над которыми стоит единица. 1100110₂ = 64 + 32 + 4 + 2 = 102.
Как быстро перевести двоичное число в восьмеричное или шестнадцатеричное?
Разбей двоичную запись справа налево на группы по 3 бита (для восьмеричной) или по 4 бита (для шестнадцатеричной), недостающие слева биты дополни нулями, и каждую группу переведи отдельно. 101101 → 101 | 101 → 55₈; 0010 | 1101 → 2D₁₆.
Как составить таблицу истинности?
Определи число переменных n, выпиши все 2ⁿ наборов в порядке двоичных чисел (00, 01, 10, 11 для двух переменных). Добавь столбец на каждую промежуточную операцию, начиная с самых внутренних (в скобках) и отрицаний, и заполняй их по очереди. Последний столбец — значение всего выражения.
Как решать задачи на объём информации в информатике?
Перемножь число символов (страницы × строки × символы в строке), умножь на число бит на символ — получишь биты. Раздели на 8 — байты, ещё на 1 024 — килобайты, ещё на 1 024 — мегабайты. Обычно числа подбираются так, что деление проходит нацело; остаток — признак ошибки в счёте.
Что дальше
- Алгоритмы и блок-схемы: разбор задач ОГЭ — следующий блок заданий.
- Python в школе: разбор первых 10 задач — если после логики хочется писать код.
- Информатика: программирование школьнику — с чего начать.
- ЕГЭ по информатике: план подготовки — как эти темы выглядят на ЕГЭ.
- Перевод не сходится при обратной проверке? Разбери задачу на Razbery — покажут, в каком разряде потерялась единица.