1. Часть 1 ЕГЭ
1.1. Анализ информационных моделей
1.1.1. Задание с решу егэ Тип 1
1.1.2. Задание с решу егэ Тип 1
1.2. Построение таблиц истинности логических выражений
1.2.1. Задание с решу егэ Тип 2
1.2.2. Задание с решу егэ Тип 2
1.3. Кодирование и декодирование информации
1.3.1. Задание с решу егэ Тип 4
1.3.2. Задание с решу егэ Тип 4
1.4. Кодирование и декодирование информации. Передача информации
1.4.1. Задание с решу егэ Тип 7
1.4.2. Задание с решу егэ Тип 7
1.5. Кодирование чисел. Системы счисления
1.5.1. Задание с решу егэ Тип 14
1.5.2. Задание с решу егэ Тип 14
1.6. Рекурсивные алгоритмы
1.6.1. Задание с решу егэ Тип 16
1.6.2. Задание с решу егэ Тип 16
2. Основы программирования
2.1. Что выведет следующая программа? Поясните, почему.
a = 5
b = 2
c = a // b + a % b
print(c)
2.2. Какие значения будут иметь переменные x и y после выполнения кода? Укажите их типы.
x = int("10" + "5")
y = float(x) / 2
2.3. При каких целых значениях переменной n программа выведет слово "YES"?
if not (n > 10 and n < 20):
print("YES")
else:
print("NO")
2.4. Сколько раз выполнится тело цикла for и какое значение будет выведено? Проследите по шагам.
s = 0
for i in range(5, 1, -1):
s = s + i
i = i + 1
print(s)
2.5. Напишите программу, которая запрашивает у пользователя целое число N. Программа должна найти и вывести сумму всех чётных чисел от 1 до N включительно. Если таких чисел нет, вывести 0.
Пример:
Ввод: 10
Вывод: 30 (пояснение: 2+4+6+8+10 = 30)
2.6. Напишите программу, которая принимает на вход число в десятичной системе счисления и выводит его представление в двоичной системе счисления без использования встроенных функций перевода (bin() и т.п.). Используйте цикл.
Пример:
Ввод: 14
Вывод: 1110
2.7. Задан рекурсивный алгоритм функции F(n):
F(n) = n + 5, если n < 4;
F(n) = F(n-1) + F(n-3) + 2*n, если n >= 4.
Необходимо произвести расчёт результата вручную ♥
Пример для проверки:
Ввод: 6
Вывод: 59
3. Работа в рамках мультиязычности программирования
3.1. Python → Условный C++
def find_max(arr):
mx = arr[0]
for x in arr:
if x > mx:
mx = x
return mx
Вопрос 1: Что делает эта функция?
Вопрос 2: Перепишите ключевую логику цикла (строки 3-5) на псевдокоде, понятном для любого языка (или укажите, как это будет выглядеть в C++).
3.2. Анализ кода на C-подобном синтаксисе
int x = 0;
for (int i = 1; i <= 10; i++) {
if (i % 3 == 0) {
x = x - i;
} else {
x = x + i;
}
}
cout << x;
Вопрос: Чему будет равно значение, выведенное на экран (cout << x)? Объясните логику.
4. Практика программирования
4.1. Обработка строк и массивов
Напишите программу, которая:
- Считывает строку, состоящую из слов, разделённых пробелами.
- Формирует и выводит список (массив) из этих слов.
- Выводит слово, которое идёт первым в лексикографическом (алфавитном) порядке.
Пример:
Ввод: orange apple banana grape
Вывод:
['orange', 'apple', 'banana', 'grape']
apple
4.2. Алгоритмическая задача
Петя загадал число от 1 до N. Вася может задавать вопросы вида "Загаданное число больше X?" и получать ответ "Да" или "Нет". Напишите программу, которая реализует стратегию Васи для минимального количества вопросов в худшем случае (бинарный поиск).
Требования к программе:
- Программа запрашивает максимальное число N.
- Программа предполагает, что загаданное число — secret — уже задано в коде для тестирования (например, secret = 42).
- В цикле программа должна "угадывать" число, печатая предполагаемые вопросы и получая ответы автоматически (сравнивая с secret).
- Программа должна вывести угаданное число и количество заданных вопросов.
Пример работы (для secret = 42, N = 100):
Введите N: 100
Загаданное число больше 50? Нет.
Загаданное число больше 25? Да.
Загаданное число больше 37? Да.
Загаданное число больше 43? Нет.
Загаданное число больше 40? Да.
Загаданное число больше 41? Да.
Загаданное число больше 42? Нет.
Загаданное число равно 42? Да.
Угадано число 42. Вопросов задано: 8.