Найти в Дзене
МОЙ РЕПЕТИТОР

Сложное задание №5 ЕГЭ Информатика: Трочиная СС

Упражнение №5 — это задание базового уровня. Цель задания — оценить способности экзаменуемого в написании и изучении простых алгоритмов. ⏰ Время на выполнение — 4 минуты. Задание оценивается в 1 балл. 📥 Условие задачи → ❗ПЕРЕД ПРОЧТЕНИЕМ НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ ОЗНАКОМИТЬСЯ С ПОДРОБНЫМ РЕШЕНИЕМ БАЗОВЫХ ТИПОВ ЗАДАНИЯ №5 ⤵ Если вы уже хорошо знакомы с этим материалом или уверенно разбираетесь в заданиях №5, то можете приступить к разбору сложной задачи ⤵ ⚠ Необходимо составить план решения. Разбить условие задачи на несколько основных этапов → Подробно разберем каждый из этапов решения ⤵ Натуральные числа — это числа, которые используются для счета предметов или вещей. — Использовать цикл for() + функцию range() Цикл for() + range() позволяют получить все необходимые варианты натуральных чисел и выбрать подходящий. 📥 Для написания алгоритма вы можете использовать любую удобную среду (IDLE, PyCharm или Visual Studio). Для начинающих программистов рекомендую использовать именно IDLE. В
Оглавление

Упражнение №5 — это задание базового уровня. Цель задания — оценить способности экзаменуемого в написании и изучении простых алгоритмов.

⏰ Время на выполнение — 4 минуты. Задание оценивается в 1 балл.

📥 Условие задачи →

Условие задачи ЕГЭ по Информатике задание №5.
Условие задачи ЕГЭ по Информатике задание №5.

❗ПЕРЕД ПРОЧТЕНИЕМ НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ ОЗНАКОМИТЬСЯ С ПОДРОБНЫМ РЕШЕНИЕМ БАЗОВЫХ ТИПОВ ЗАДАНИЯ №5 ⤵

  • I часть (Посимвольное двоичное преобразование)

  • II часть (Посимвольное десятичное преобразование)

Если вы уже хорошо знакомы с этим материалом или уверенно разбираетесь в заданиях №5, то можете приступить к разбору сложной задачи ⤵

Необходимо составить план решения. Разбить условие задачи на несколько основных этапов →

-2

Подробно разберем каждый из этапов решения ⤵

➀ Алгоритм получает на вход натуральное число N

Натуральные числа — это числа, которые используются для счета предметов или вещей.

  • Как получить натуральные числа в Python?

Использовать цикл for() + функцию range()

Цикл for() + range() позволяют получить все необходимые варианты натуральных чисел и выбрать подходящий.

📥 Для написания алгоритма вы можете использовать любую удобную среду (IDLE, PyCharm или Visual Studio). Для начинающих программистов рекомендую использовать именно IDLE.

В качестве примера можно взять небольшой диапазон значений в range →

Пример работы циклом for() в Python. Диапазон от 3 до 8 (не включительно).
Пример работы циклом for() в Python. Диапазон от 3 до 8 (не включительно).

Более детально с принципами работы цикла for() вы можете ознакомиться в данном материале

Полный гайд по циклу FOR в Python
МОЙ РЕПЕТИТОР20 сентября 2024

→ Запишем первую строчку кода в итоговое решение ⤵

📍Основная программа:

Начало программы для решения задания ЕГЭ №5 по информатике.
Начало программы для решения задания ЕГЭ №5 по информатике.

Переходим к следующему этапу →

➁ Строится троичная запись числа N

Троичная запись числа — это способ представления чисел, используя только две цифры: 0, 1, 2

  • Как перевести число в троичную СС?

Чтобы преобразовать десятичное число в троичное, нужно делить его на 3 и записывать остатки от деления.

  • CC — система счисления
-5
  • Как перевести число в ТРОИЧНУЮ СС c помощью Python?

📥 Принцип работы алгоритма аналогичен ручному методу: многократное деление числа на основание данной системы счисления и прибавление остатков ⤵

1. Объявить переменную, в которую последовательно записывать результат деления на 3

Для хранения результата лучше использовать переменную строкового типа (str). Поскольку каждый остаток от деления будет добавляться ("приклеиваться") к текущему значению переменной.

2. Использовать цикл while для многократного повторения операций деления

Цикл while будет выполняться до тех пор, пока исходное число будет больше нуля. Это необходимо для вычисления всех возможных остатков от деления на 3.

-6

3. Остаток от деления вычислять с помощью встроенного оператора (%)

  • % — остаток от деления в Python
Пример кода для понимания работы оператора (%) в Python.
Пример кода для понимания работы оператора (%) в Python.

4. Для деления переменной на 3 использовать встроенный оператор (//):

-8
  • // — целочисленное деление в Python
Пример кода для понимания работы оператора (//) в Python.
Пример кода для понимания работы оператора (//) в Python.

5. Использовать конкатенацию (склеивание) строк для записи остатков (+)

Остатки от деления на 3 будут поочерёдно добавляться к переменной из первого пункта. Поскольку она строкового типа, каждый остаток будет просто присоединяться к её концу.

❗Важно:

  • Конкатенация работает только со строчным типом данных (str)
-10

Алгоритм перевода в 3 CC на Python →

Код программы для перевода целого числа из 10 СС в 3 СС на Python.
Код программы для перевода целого числа из 10 СС в 3 СС на Python.

Более подробно с принципами перевода в различные СС вы можете ознакомиться в следующем материале ⤵

Важный момент:

В задаче требуется дважды выполнить перевод в 3 СС. Повторная реализация одного и того же алгоритма, занимающего 4 – 5 строк, нецелесообразна ❌ Это отнимает драгоценное время и требует дополнительных усилий.

  • Какой выход

— Написать функцию (def) для перевода числа из 10 СС в 3 СС

❗Функция может быть запущена неограниченное количество раз, без дублирования кода.

-12

Достаточно один раз написать алгоритм для перевода в 3 СС. Далее поместить этот алгоритм в функцию (def). И можно будет использовать эту функцию любое количество раз, не записывая код заново 😉

⏏ Создание функции в Python

Функция — это отдельный блок кода

  • Функции помогают структурировать программу, делают её более понятной и удобной для работы.

Создание функции (three) для перевода чисел из 10 СС в 3 СС ⤵

Создание функции (three) в Python для перевода чисел из 10 СС в 3 СС.
Создание функции (three) в Python для перевода чисел из 10 СС в 3 СС.

step by step

1. Создание функции:

В Python функция создаётся с помощью ключевого слова def (сокращение от define — определить)

(1 этап) Создание функции в Python начинается со служебного слова и имени функции.
(1 этап) Создание функции в Python начинается со служебного слова и имени функции.

2. Тело функции:

После двоеточия идёт тело функции. Это код, который будет выполняться, когда функция будет вызвана.

(2 этап) Создание функции в Python. Тело функции и оператор (return).
(2 этап) Создание функции в Python. Тело функции и оператор (return).

3. Вызов функции:

Чтобы выполнить код внутри функции, нужно её вызвать по имени:

(3 этап) Создание функции в Python. Вызов функции с параметром (6).
(3 этап) Создание функции в Python. Вызов функции с параметром (6).

Функция — это блок кода, который можно многократно использовать

📍Теперь необходимо добавить функцию для перевода в 3 СС в основную программу ⤵

Начало программы для решения задания ЕГЭ №5 по информатике.
Начало программы для решения задания ЕГЭ №5 по информатике.

🔒Проверка кода

На экран необходимо вывести значение переменных (n) и (а). Переменная (n) — десятичное число, поступающее на вход алгоритма. Переменная (а) — это число (n) после перевода в 3 СС ↓

Проверка алгоритма после добавления функции (three) для перевода в 3 СС.
Проверка алгоритма после добавления функции (three) для перевода в 3 СС.

☑ Алгоритм работает → Переходим к следующему этапу →

③ Далее эта запись обрабатывается по следующему правилу

"эта запись" — число, полученное на предыдущем этапе, то есть переменная (а). Переменная (а) — это натуральное число (n) в 3 СС.

а) если число N делится на 3

то к этой записи дописываются две последние троичные цифры

  • Как сделать проверку на делимость в Python?

— Использовать условие (if) + оператор остаток от деления (%)

Принцип работы конструкции (if - else) в Python на примере проверки на делимость.
Принцип работы конструкции (if - else) в Python на примере проверки на делимость.

  • Как работает конструкция else?

— Эта часть кода выполняется, если условие ложно. Когда не сработал оператор (if)

Блок-схема условного оператора if — else (если — иначе).
Блок-схема условного оператора if — else (если — иначе).

✔ Если условие истинно (True), то программа выполнит код, находящийся внутри блока if.

✖ Если условие не выполняется (False), код внутри блока if будет пропущен

  • Как получить две последние троичные цифры?

— Использовать индексы в Python

☑ Индексы используются для доступа к элементам. Они позволяют получать или изменять отдельные элементы коллекции (строка или список) →

Принцип работы индексов в Python на примере нескольких строк.
Принцип работы индексов в Python на примере нескольких строк.
  • [-1] — последний (крайний правый) символ в строке
  • [-2] — предпоследний с права символ в строке

⛔ Нельзя использовать индексы для работы с целыми числами (типа int, float. Переменная должна быть строчного типа (str) или список (list).

Теперь попробуем объединить проверку на делимость и дописывание трёх последних цифр числа

Код программы для определения проверки на делимость + дописывание в конец числа последних трёх цифр.
Код программы для определения проверки на делимость + дописывание в конец числа последних трёх цифр.

Отлично! Программа работает ⚡

→ Теперь данный алгоритм необходимо добавить в основную программу:

✔ Проверка на делимость

✔ Дописывание последних двух цифр в конец числа

Часть кода программы для решения задания ЕГЭ №5 по информатике.
Часть кода программы для решения задания ЕГЭ №5 по информатике.

🔒Проверка кода

На экран необходимо вывести значение переменных (n, a) и результат работы алгоритма после дописывания двух последних цифр

Проверка кода с помощью функции print(). Вывод на экран промежуточных результатов.
Проверка кода с помощью функции print(). Вывод на экран промежуточных результатов.

☑ Алгоритм работает → Переходим к следующему этапу →

б) если число N на 3 не делится

то остаток от деления умножается на 3, переводится в троичную систему и дописывается в конец числа.

  • Как определить, что число (N) не делится на 3?

— Использовать оператор (else) в блоке кода с условием (if - else)

  • Как найти остаток от деления?

— Использовать встроенный оператор (%)

-25
  • Как перевести в троичную систему?

— С помощью уже созданной функции (three)

→ Теперь каждый шаг данного пункта необходимо добавить в основную программу:

  • Создание ветки (else)
  • Вычисление остатка от деления на 3 (ost) + Умножение остатка на 3 (ost * 3)
  • Перевод в 3 СС остатка, умноженного на 3
  • Запись в конец числа переменной (а) получившегося результата
Включение всех шагов из пункта 3(б) в основной алгоритм.
Включение всех шагов из пункта 3(б) в основной алгоритм.

🔒Проверка кода

Для проверки кода можно запустить программу на небольшом диапазоне (от 9 до 14) →

Проверка кода с помощью функции print(). Вывод на экран промежуточных результатов.
Проверка кода с помощью функции print(). Вывод на экран промежуточных результатов.

☑ Алгоритм работает → Переходим к следующему этапу →

④ Полученная таким образом запись

является троичной записью искомого числа R

  • Что значит "полученная таким образом запись"?

— Результат работы алгоритма. В данной программе это значение переменной (а) после всех преобразований.

  • Что значит "является троичной записью"?

— Значение переменной (а), после всех преобразований, переведенное в 10 СС

  • Как перевести в 10 СС из 3 СС?

— Использовать встроенную функцию int() в Python

❗Важный момент

Необходимо ввести новую переменную (r) — десятичная запись числа (n)

Часть кода программы для решения задания ЕГЭ №5 по информатике.
Часть кода программы для решения задания ЕГЭ №5 по информатике.

ПРАВИЛО:

Для корректного перевода в 10 СС с помощью встроенной функции int(), число должно быть строчного типа (str)

Переходим к следующему этапу →

⑤ Например, для исходного числа 6

результатом является число 2020 = 60, а для исходного числа 4 = 11 результатом является число 1110 = 39

  • Для чего в условии задачи записан данный пример?

— Данный пример служит для проверки работы алгоритма

Тестирование программы перед внесением последнего пункта решения поможет убедиться в правильности алгоритма: если результаты совпали — хороший показатель.

❗Иногда ответ может совпасть с указанным в условии, но сам алгоритм будет содержать ошибки 😳

Проверка кода с примерами из условия для (n = 6) и (n = 4) ↓

☑ Результат работы алгоритма совпал с результатом из условия задачи.

  • range(6, 7) — данный промежуток отображает только одно число это 6
  • range(4, 5) — данный промежуток отображает только одно число это 4
  • print(n, a, r) — вывод значение переменных (n, a, r) на экран

Следующий этап →

⑥ Укажите максимальное число N

после обработки которого с помощью этого алгоритма получается число, не превышающее 150

  • Что значит "после обработки которого"?

— Это число, которое будет получено после выполнения всех этапов алгоритма

-30
  • Как в Python выбрать число, подходящее под определенные условия?

— Использовать встроенную конструкцию (if)

  • Как найти максимально возможное число N?

— Использовать список (list) + встроенная функция max()

-31

Алгоритм нахождения максимального числа с помощью списка (list):

  1. Создать пустой список.
  2. Добавить все подходящие числа в список.
  3. Применить функцию (max), чтобы найти наибольший из элементов.

Списки [list] в Python

— используются для хранения и обработки элементов

  • Списки создаются с помощью квадратных скобок [ ]
  • Элементы внутри списка разделяются запятыми [1, 2, 3]

Пример кода для работы со списками (list) в Python ↓

Создание пустого списка в Python. Добавление элементов в список.
Создание пустого списка в Python. Добавление элементов в список.
  • my = [ ] — создание пустого списка
  • append() — добавление элемента в конец списка

Дополнительную информацию о списках (list) вы найдете в следующем материале ⤵

Пример кода для работы со списками (list) в Python + использование встроенной функции (max) ↓

Создание пустого списка в Python. Добавление элементов в список. Вывод на экран наибольшего значения в списке.
Создание пустого списка в Python. Добавление элементов в список. Вывод на экран наибольшего значения в списке.

Теперь необходимо добавить список в основное решение и реализовать алгоритм поиска максимального элемента →

🔥Итоговая программа

Решение Задание №5 ЕГЭ ⤵

Код программы для решения сложного задания №5 ЕГЭ.
Код программы для решения сложного задания №5 ЕГЭ.

Ответ: 16

👏 Поздравляю! Получен верный ответ и программа работает без ошибок

↻ Максимальное число (без использования списка)

Алгоритм нахождения наибольшего числа с помощью дополнительной пременной

Для решения задачи можно использовать другой метод для поиска максимального числа ⤵

  1. Ввести дополнительную переменную (max1) и присвоить ей значение 0
  2. Каждое подходящее значение (n) сравнивать с переменной (max1)
  3. Если текущее значение переменной (n) больше, чем значение (max1) - записать значение (n) в переменную (max1)

Решение Задание №5 ЕГЭ (без использования списков) ⤵

Код программы для решения сложного задания №5 ЕГЭ (без использования списков).
Код программы для решения сложного задания №5 ЕГЭ (без использования списков).

Отлично! Программа работает без ошибок.

😉 Good job! Keep it up! Good luck!

-36

Ещё материалы по теме Python:

Всё, что нужно знать о типах данных в Python
МОЙ РЕПЕТИТОР2 февраля 2025