*** ПЛЕЙЛИСТ КАНАЛА ЮТЬЮБ ***
ЕГЭ по информатике -> досрочный ЕГЭ 2022
Скачать pdf демоверсии варианта ->
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
П1 | П2 | П3 | П4 | П5 | П6 | П7 | |
---|---|---|---|---|---|---|---|
1 | — | 11 | 10 | 7 | |||
2 | — | 10 | 8 | ||||
3 | 11 | 10 | — | 13 | |||
4 | — | 13 | 3 | ||||
5 | 10 | 13 | — | 5 | |||
6 | 7 | 8 | 13 | — | |||
7 | 3 | 5 | — |
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе.
В таблице в левом столбце указаны номера пунктов, откуда совершается движение, в первой строке – куда.
Определите сумму длин дорог между пунктом А и пунктом Б, и между пунктом Е и пунктом К.
Ответ: 16
✍ Решение:
- Рядом с каждой вершиной напишем количество ребер для данной вершины и в скобках — количество ребер у соседних вершин:
- Проще всего определить вершины Е и К, так как это единственные вершины с двумя ребрами, соседствующие друг с другом:
Е = П7
, на пересечении с ней находится П4, у которой также 2 ребра.К = П4
. - Вторым соседом Е является вершина Б. Значит
Б = П5
. - Вторым соседом К является вершина Д. Значит
Д = П6
. - Одним из соседей Д является вершина Г, у которой два ребра. На пересечении с Д есть пункт П2, в котором два значения. Значит,
Г = П2
. - По заданию нам необходимо найти длину дорог между А и Б, и длину дорог между Е и К. Найдем значения и их сумму:
Вторым соседом Г является вершина А. Т.е., А = П3
.
13 + 3 = 16
Ответ: 16
Логическая функция F задаётся выражением
¬(x → z) ∨ (y ≡ w) ∨ ¬y
На
рисунке приведён частично заполненный фрагмент таблицы истинности
функции F, содержащий неповторяющиеся строки.
переменных x, y, z, w.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из.
В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
??? | ??? | ??? | ??? | F |
0 | 0 | 0 | ||
0 | 0 | |||
1 | 1 | 0 | 0 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.).
Ответ: xzyw
✍ Решение:
-
✎ Способ 1. Программирование:
- Для
y
имеем все значенияtrue
, что может соответствовать только 3-му столбцу. - Для
w
имеем все значенияfalse
, что может соответствовать только 4-му столбцу. - Для поиска
z
иx
рассмотрим вторую строку — в ней их значения различны. Значениеfalse
— у переменнойx
, что соответствует первому столбцу. - Соответственно
z
будет во втором столбце.
Язык PascalAbc.net:
begin writeln('x':7, 'y':7, 'z':7,'w':7); for var x:=false to true do for var y:=false to true do for var z:=false to true do for var w:=false to true do if not((not (x <= y)) or (y=w) or (not y)) then writeln(x:7, y:7, z:7,w:7); end. |
Сопоставим полученный результат с исходной таблицей:
x y z w False True False False False True True False True True False False True True True False |
|
Ответ: xzyw
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в
соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня.
Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
ID магазина | Район | Адрес |
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района, за период с 1 по 8 июня включительно.
В ответе запишите только число.
Ответ: 956
✍ Решение:
- В таблице
Товар
находим наименование товара — Яйцо диетическое (можно использовать фильтр). Запоминаем его артикул —15
. - В таблице
Магазин
ищем магазины Заречного района, выписываем их ID:M3
,M9
,M11
,M14
. - В таблице
Движение товаров
выделяем первую строку и ставим фильтр на всю строку. - В столбце
ID Магазина
отмечаем только ID из предыдущего пункта. В столбцеАртикул
— выбираем15
.
Проверяем даты — все они входят в указанный диапазон дат.
Выбираем Тип операции
— Поступление. выделяем значение столбца и смотрим сумму в столбце Количество упаковок — 1420. Затем выбираем Продажа; количество упаковок — 454.
1420 - 454 = 956
Ответ: 956
Для кодирования некоторой последовательности, состоящей из букв О, Н, Г, К, Р, решили использовать неравномерный двоичный код, гарантирующий однозначное декодирование. Для букв К и Р использовали соответственно кодовые слова 00, 011.
Найдите наименьшую возможную длину кодовой последовательности для слова КОНОГОН.
Ответ: 15
✍ Решение:
- Размещаем буквы так, чтобы наиболее часто встречаемые в слове
коногон
буквы имели наиболее короткий код.
К = 2 О = 3*2 = 6 Н = 2*2 = 4 Г = 3 --- итого: 15
Ответ: 15
Автомат обрабатывает натуральное число N
по следующему алгоритму:
1. Строится двоичная запись числа N
.
2. К полученной записи дописываются разряды. Если число четное справа дописывается 10, если число нечетное – слева дописывается 1 и справа 01.
3. Результат переводится в десятичную систему и выводится на экран.
1. Двоичная запись числа N: 1101.
2. Число нечетное, следовательно слева дописываем 1, справа 01 – 1+1101+01 = 1110101.
3. На экран выводится число 117.
В результате работы автомата на экране появилось число, большее 516. Для какого наименьшего значения N
данная ситуация возможна?
Ответ: 65
✍ Решение:
✎ Решение с использованием программирования:
PascalAbc.NET:
|
|
Python:
|
Ответ: 65
Найдите минимальное значение переменной s
, подаваемое на вход программе, для которого в результате работы программы на экран будет выведено значение 8? Для Вашего удобства программа представлена на четырёх языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var n, s: integer; begin readln(s); s := (s - 10) div 7; n := 1; while s > 0 do begin n := n * 2; s := s - n; end; write(n) end. |
Алгоритмический язык:
алг нач цел s, n ввод s s = div(s-10, 7) n := 1 нц пока s > 0 n := n * 2 s := s - n кц вывод n кон |
Python:
|
С++:
|
Ответ: 59
✍ Решение:
-
✎ Способ 1 (программный):
- Поскольку условие цикла
s > 0
, а по условию задания следует найти наименьшее значениеs
, то можно начать примерно сs=500
. Во внешнем цикле необходимо постоянно уменьшать значениеs
на единицу. - Важно для внешнего цикла использовать другую переменную, т.к. во внутреннем цикле переменная
s
меняется, а нам следует каждый шаг внешнего цикла сохранить предыдущее значениеs
, уменьшив его всего на 1. Используем переменнуюs_
для этих целей. - Из полученных выведенных значений выбираем последнее — наименьшее (
59
). - Добавляем сверху строку для подписей:
- В ячейку
F2
вводим формулу для поиска квадрата суммы максимального и минимального значения: - В ячейку
G2
вводим формулу для поиска квадратов минимального и максимального значений (она нам пригодится дальше): - В ячейку
H2
вводим формулу для поиска квадратов всех значений по строке минус квадрат суммы максимального и минимального значения: - В ячейке
I2
выводим единицу, если значение в ячейкеF2
больше значение в ячейкеH2
, т.е. отвечаем на вопрос задания: - Смотрим сумму по столбцу
I
— ответ 2640. - Откройте файл в Miscrosoft Word.
- Включите расширенный поиск.
- Отметьте галочкой пункты Учитывать регистр и Только слово целиком.
- Выберите пункт Выделение при чтении — Выделить всё.
- Количество бит на один идентификатор:
- Посчитаем объем в Кбайт для хранения идентификаторов для 32768 пользователей:
- Запустите программу Excel.
- В меню Файл выберите пункт Открыть и щелкните Обзор.
- Рядом с полем Имя файла выберите в списке Все файлы
(*|*)
. Откройте файл задания (107_17.txt
- Далее, Далее, Готово). - В столбце
B
найдем числа кратные 17 – в ячейку будем выводить само число, иначе, если число не кратно 17, - будем выводить какое-то большое число, например,100000
(так как будем потом искать минимум). - Скопируйте формулу на весь столбец.
- В ячейке
C1
добавим формулу для поиска минимального из найденных значений: - В столбце
D
будем искать подходящие пары: если одно число из пары кратно значению ячейкиС1
, то будем выводить сумму рассматриваемой пары, а иначе – выводить пустое значение («»
) - Скопируйте формулу на весь столбец.
- !!!Просмотрите столбец
D
до конца и сотрите значение в самой последней ячейке (D10000
), если оно там есть (сравнение идет со следующей пустой ячейкой)!!! - В ячейке
Е1
найдем максимальное значение из найденного ряда (максимальную сумму пары): - В ячейке
F1
введем формулу для поиска количества подходящих пар: - !!! В ответе запишем в том порядке, в котором просится в задании!!! – сначала 24, затем 17613
- Для решения будем использовать метод динамического программирования - решать будет с конца к началу.
- Откройте файл электронной таблицы. Скопируем таблицу и вставим ее ниже - это будет шаблон для результирующей таблицы, полученной после решения задачи.
- Выделите ячейки скопированной таблицы каким-либо цветом, для обозначения ее границ. Теперь удалите все значения в результирующей таблице:
- Так как задание решается с конца, то выделим последнюю ячейку, в которой окажется Робот - нижняя правая ячейка
O31
результирующей таблицы. Робот просто соберет монету, которая находится в этой ячейке исходной таблицы -O15
. Поэтому для ячейки возьмем значение из исходной таблицы. Введите формулу: - Рассмотрим ячейку
N31
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейкаN15
). Ну и поскольку дальше он попадет только в ячейкуO31
, то необходимо прибавить значение этой ячейки. - Для всей нижней строки таблицы мы можем утверждать следующее: из любой ячейки Робот может двигаться только в соседнюю ячейку справа. То есть Робот будет собирать монету с текущей ячейки и при это необходимо прибавлять значение соседней ячейки справа. То есть формула, которую мы ввели в ячейку
N31
будет такой же и для всех оставшихся ячеек строки. Скопируйте формулу на всю строку. - Рассмотрим ячейку
O30
. В ней Робот собирает монету, значение которой возьмем из исходной таблицы (ячейкаO14
). Ну и поскольку дальше он попадет только в ячейкуO31
, то необходимо прибавить значение этой ячейки. - Для всего столбца
O
таблицы мы можем утверждать следующее: из любой ячейки Робот может двигаться только в соседнюю ячейку снизу. То есть Робот будет собирать монету с текущей ячейки и при это необходимо прибавлять значение соседней ячейки снизу. То есть формула, которую мы ввели в ячейкуO30
будет такой же и для всех оставшихся ячеек столбца. Скопируйте формулу. - Если проследовать логике движения Робота, то получается, что данная формула будет верной и для всех оставшихся ячеек таблицы. Скопируйте формулу из ячейки
N30
, использовав маркер копирования, во все оставшиеся ячейки таблицы. Стены мы учтем позже. - Восстановите границы стен из исходной таблицы (нарисуйте их опять).
- То же самое касается ячеек
J21:K21
- для них нужна скопированная формула ячеекJ31:K31
. - Формулы ячеек
K22:K28
будут соответствовать ячейкам диапазонаO22:O28
. Так же скопируйте их. - Найденное максимальное значение - 2174.
- Теперь найдем минимальную сумму. Для этого измените формулу, заменив
МАКС
наМИН
. И скопируйте снова данную формулу во всю оставшуюся таблицу. - Найденное минимальное значение - 1145.
- Петя не может победить первым ходом;
- при любом ходе Вани Петя побеждает своим вторым ходом.
- Сначала найдём количество программ для перехода от числа 1 к числу 16, а затем от числа 16 к 52.
- Напишем программу, реализующую алгоритм поиска результата, вычисления по рекуррентным формулам организуем с помощью рекурсии.
- Рекурсивная функция, которая возвращает количество программ для преобразования числа
start
в числоx
:
Pascalabc.net:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | begin var s_ := 500; while s_ > -10 do begin var s := s_; s := (s - 10) div 7; var n := 1; while s > 0 do begin n := n * 2; s := s - n; end; if n = 8 then writeln(s_); s_ := s_ - 1; end; end. |
Пояснение:
Бейсик:
|
Python:
|
||
С++:
|
Ответ: 59
Для хранения произвольного растрового изображения размером 486×720 пикселей отведено 80 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. После сохранения информации о пискселях изображение сжимается. Размер итогового файла после сжатия на 15% меньше исходного. Какое максимальное количество цветов можно использовать в изображении?
Ответ: 4
✍ Решение:
-
✎ Способ 1 (программный):
Pascalabc.net:
## // I = n * m * i -> // -> i = I / (n * m) var I:=80.0; I:=80*1024*8; // в биты I:=I/0.85; // с учетом сжатия var nm:=486*720; var ipix:= (I / nm).Floor; // отсекаем дробную часть var maxColor:=power(2,ipix); print(maxColor) |
Петя составляет слова из слова ПАРУС и записывает их в алфавитном
порядке в список. Вот начало списка:
1. ААААА 2. ААААП 3. ААААР 4. ААААС 5. ААААУ 6. АААПА …
Укажите номер первого слова в списке, начинающегося на У, в котором две буквы А не стоят рядом?
Ответ: 2527
✍ Решение:
PascalABC.net (использование LINQ, быстрое решение): Способ 1:
Cartesian(5) — метод расширения последовательности, возвращающий декартову степень множества символов, т.е. в нашем случае перебор 5-знаковых слов из заданных символов
* LINQ (Language Integrated Query) — язык интегрированных запросов
|
||
PascalABC.net (приближенный к традиционному, долгое решение): Способ 2:
|
||
Python:
|
||
С++:
|
Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых квадрат суммы максимального и минимального чисел в строке больше суммы квадратов трёх оставшихся.
Ответ: 2640
✍ Решение:
=(МАКС(A2:E2)+МИН(A2:E2))^2
=(МАКС(A2:E2)^2+МИН(A2:E2)^2)
=A2^2+B2^2+C2^2+D2^2+E2^2-G2
=ЕСЛИ(F2>H2;1;0)
Ответ: 2640
С помощью текстового редактора определите, сколько отдельных слов «счастие» в тексте романа Л.Н.Толстого «Анна Каренина». При подсчете учитывать регистр слова.
Ответ: 7
✍ Решение:
Ответ: 7
При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 250 символов. Идентификатор может содержать десятичные цифры и символы из специального набора из 1560 символов. В базе данных для хранения сведений о каждом идентификаторе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит.
Определите минимальный объем памяти в Кбайт, который необходимо выделить для хранения идентификаторов для 32768 пользователей.
Ответ: 11008
✍ Решение:
10 (цифр) + 1560 = 1570 1570 <= 211 11 бит на хранение одного символа 250*11 = 2750 бит на хранение целого идентификатора 2750 / 8 <= 344 байт
344*32768/1024 = 11008
Ответ: 11008
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w)
Б) нашлось (v)
v
на цепочку w
. Если цепочки v
в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v
в строке исполнителя Редактор. На выполнение Редактору дана следующая программа:
ПОКА нашлось(1111) или нашлось(8888) ЕСЛИ нашлось(1111) ТО заменить(1111, 8) ИНАЧЕ заменить(8888, 11) КОНЕЦ ПОКА
На вход программе подана строка из 86 подряд идущих символов 8. Какая строка будет получена в результате работы алгоритма.
Ответ: 88
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
Вариант 1:
1 2 3 4 5 6 7 8 9 10 11 | begin var s := '8'*86; while ('1111' in s) or ('8888' in s) do begin if '111' in s then s := s.Replace('1111', '8', 1) else s := s.Replace('8888', '11', 1); end; print(s); end. |
Питон:
1 2 3 4 5 6 7 | s = 86 * '8' while "1111" in s or "8888" in s: if "111" in s: s = s.replace( "1111", "8", 1 ) else: s = s.replace( "8888", "11", 1 ) print(s) |
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М?
Ответ: 8
Результат выражения:
3 ∙ 162018 - 2 ∙ 81028 - 3 ∙ 41100 - 21050 - 2022
записали в 4-ричной системе счисления. Сколько троек в полученной записи?
Ответ: 4027
✍ Решение:
PascalABC.NET:
|
|
Python:
|
|
С++:
|
Ответ: 4027
Обозначим через ДЕЛ(n, m)
утверждение «натуральное число n
делится без остатка на натуральное число m
».
Для какого наименьшего натурального числа А
формула
(ДЕЛ(x, 3) → ¬ДЕЛ(x, 5)) ∨ (x + A ≥ 70)
истинна (т.е. принимает значение 1) при любом целом натуральном значении переменной х
.
Ответ: 55
✍ Решение:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | begin for var A := 1 to 500 do begin var ok := 1; for var x := 1 to 1000 do begin if ((x mod 3 = 0) <= (x mod 5 > 0)) or (x + A >= 70) = false then begin ok := 0; break; end; end; if (ok = 1) then begin print(A); break; end; end; end. |
Питон:
C++:
1 |
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 2, при n < 3 F(n) = F(n–1) + F(n-2) - n, при n > 2 и n - четно F(n) = F(n-2) - F(n-1) + 2n, при n > 2 и n - нечетно
Чему равно значение функции F(30)?
Ответ: 58
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 9 10 11 12 13 | function F(n: integer): integer; begin if n < 3 then F := 2; if (n mod 2 = 0) and (n > 2) then F := F(n - 1)+F(n - 2) - n; if (n > 2) and (n mod 2 <> 0) then F := F(n - 2) - F(n - 1) + 2*n end; begin print(F(30)) end. |
Питон:
C++:
1 |
Ответ: 58
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые — значения от 1 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число кратно минимальному числу в последовательности, кратному 17. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Ответ: 24 17613
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 7 8 | ## var data := ReadLines('107_17.txt').Select(t -> t.ToInteger).ToArray; var minData17:=data.Where(w->w.Divs(17)).min; // минимальный var twins := data.NWise(2).Select(ar->ar.Order.ToArray) .Where(ar->(ar[0].Divs(minData17)) or (ar[1].Divs(minData17))); twins.Count.Print; var sums:=twins.Select(t->t[0]+t[1]); // массив сумм sums.max.print; |
Питон:
1 |
C++:
1 |
✎ Решение в Excel:
B1
=ЕСЛИ(ОСТАТ(A1;17)=0;A1;100000)
С1
=МИН(B:B)
ответ: 1003
D1
=ЕСЛИ(ИЛИ(ОСТАТ(A1;C$1)=0;ОСТАТ(A2;C$1)=0);A1+A2;"")
Е1
=МАКС(D:D)
17613
F1
=СЧЁТ(D:D)
24
Квадрат разлинован на N×N клеток (1 < N < 30
). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю.
Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота.
Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю.
В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
38 22
Ответ: 2174 1145
✍ Решение:
-
✎ Электронные таблицы:
формула для O31: =O15
Попасть в данную ячейку O15
Робот мог, либо двигаясь из ячейки N15
, либо из O14
.
формула для N31: =N15+O31
формула для O30: =O14+O31
В ячейке N30
Робот собирает монету из текущей ячейки (берем значение из исходной таблицы - N14
), и затем у него альтернатива движения: либо в ячейку N31
, либо в O30
. В задании необходимо найти, как максимальную, так и минимальную сумму монет. Найдем сначала максимальную. Для этого введите формулу в N30
:
=N14+МАКС(N31;O30)
Заполним формулы для стен. Для ячеек со стеной диапазона C24:F24
значение формул будут такими же, как у соответствующих им ячеек нижней строки - C31:F31
. Скопируйте формулы у этих ячеек и вставьте их для диапазона C24:F24
.
Ответ: 2174 1145
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) 1 камень или увеличить количество камней в куче в два раза.
Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 223. В начальный момент в первой куче было 17 камней, во второй куче – S
камней, 1 ≤ S ≤ 205
.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Известно, что Ваня выиграл своим первым ходом после неудачного хода Пети. При каком минимальном значении S
такое возможно?
Ответ: 52
🎦 Решение подобного задания:
здесь
Известно, что Петя имеет выигрышную стратегию. Укажите два значения при которых:
Найденные значения запишите в ответе в порядке возрастания.
Ответ: 94 102
Известно, что Ваня имеет выигрышную стратегию за один или два хода, при этом не имеет выигрышной стратегии в один ход. Найдите минимальное значение S
, при котором это возможно.
Ответ: 93
Ниже записана программа. Получив на вход число s
, эта программа печатает два числа. При каком наименьшем значении s
после выполнения программы на экран будет выведено сначала число 10, затем 19.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | var s, P, Q, K1, K2: longint; begin readln(s); P := 10; Q := 8; K1 := 0; K2 := 0; while s <= 100 do begin s := s + P; K1 := K1 + 1; end; while s >= Q do begin s := s - Q; K2 := K2 + 1; end; K2 := K2 + s; K1 := K1 + s; writeln(K1); write(K2); end. |
Алгоритмический язык:
алг нач цел s, P, Q, K1, K2 P := 10 Q := 8 K1 := 0 K2 := 0 нц пока s <= 100 s := s + P K1 := K1 + 1 кц нц пока s >= Q s := s - Q K2 := K2 + 1 кц K1 := K1 + s K2 := K2 + s вывод K1 вывод K2 кон |
Python:
|
С++:
|
Ответ: 70
✍ Решение:
-
✎ Способ 1. Программирование:
Язык Pascal:
var s, s_, P, Q, K1, K2: longint; begin s_ := -100; while true do begin s := s_; P := 10; Q := 8; K1 := 0; K2 := 0; while s <= 100 do begin s := s + P; K1 := K1 + 1; end; while s >= Q do begin s := s - Q; K2 := K2 + 1; end; K2 := K2 + s; K1 := K1 + s; if (k1 = 10) and (k2 = 19) then begin print(s_); break; end; s_ := s_ + 1; end; end. |
Ответ: 70
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 2
2. Умножить на 2
Первая команда увеличивает число на экране на 2, вторая – вдвое. Программа для исполнителя – это последовательность команд.
Сколько существует таких программ, которые исходное число 1 преобразуют в число 52 и при этом траектория вычислений программы содержит число 16?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы.
Ответ: 105
✍ Решение:
Паскаль: решение №1 (траектория от 1 к 52)
function f(start, x: integer): integer; begin var k: integer; if start > x then result := 0 else if start = x then result := 1 else begin // обязательные операторные скобки k := k + f(start + 2, x) + f(start *2, x); result := k; end; end; begin writeln(f(1, 16)*f(16, 52)); end. |
Паскаль: решение №2 (траектория от 52 к 1)
function func( start, x: integer ): integer; var k: integer; begin if x < start then func := 0 // если число x меньше нач. значения, кол-во программ равно 0 else if x = start then func := 1 // если число x = нач. значению, кол-во программ равно 1 else begin k := func( start, x-2 ); //учитываем кол-во программ предыдущего числа // если число чётное, нужно добавить ещё кол-во программ для числа x//2: if x mod 2 = 0 then k := k + func( start, x div 2 ); func := k; end; end; begin writeln( func(1,16) * func(10,52) ); end. |
Ответ: 105
Текстовый файл состоит из символов A, B и C.
Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Ответ: 65
✍ Решение:
-
Паскаль:
Решение 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | begin assign(input, '107_24.txt'); var s := readstring; var maxLen := 0; var i := 1; var k := 0; while i <= Length(s) - 1 do begin if (s[i] = 'A') and (s[i + 1] = 'B') or (s[i] = 'C') and (s[i + 1] = 'B') then begin k := k + 1; i := i + 2; if k > maxLen then maxLen := k; end else begin k := 0; i += 1; end; end; println(maxLen); end. |
Решение 2:
1 2 3 4 5 6 7 8 9 10 11 | begin assign(input, '107_24.txt'); var s := readstring; var maxLen := 0; s := s.Replace('CB', 'AB'); for var i := 1 to 100 do if s.Contains('AB' * i) then begin //1 шаг: AB 2 шаг: ABAB ... maxLen := i; end; println(maxLen); end. |
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | f= open("107_24.txt") s = f.read() k=0 m=0 i=0 while i<=len(s)-1: if (s[i]=='A' and s[i+1]=='B') or (s[i]=='C' and s[i+1]=='B'): k+=1 i+=2 if k>m: m=k else: k=0 i+=1 print(m) |
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?
» означает ровно одну произвольную цифру;
— символ «*
» означает любую последовательность цифр произвольной длины; в том числе «*
» может задавать и пустую последовательность.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?6?8
и делящиеся на 17 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им частные от деления на 17.
Ответ:
123450668 7261804 123451688 7261864 123456618 7262154 123457638 7262214 123458658 7262274 123459678 7262334
✍ Решение:
✎ :
PascalABC.net:
|
||
Python:
|
||
С++:
|
В лесополосе осуществляется посадка деревьев. Причем саженцы высаживают рядами на одинаковом расстоянии.
Через какое-то время осуществляется аэросъемка, в результате которой определяется, какие саженцы прижились. Необходимо определить ряд с максимальным номером, в котором есть подряд ровно 11 неприжившихся саженцев, при условии, что справа и слева от них саженцы прижились.
В ответе запишите сначала наибольший номер ряда, затем наименьший номер из неприжившихся мест.
Входные данные.
В первой строке входного файла 26.txt находится число N
- количество занятых мест (натуральное число, не превышающее 10 000). Каждая из следующих N
строк содержит два натуральных числа, не превышающих 100 000: номер ряда и номер занятого места (на котором растет деревце).
Выходные данные:
Два целых неотрицательных числа: максимальный номер ряда, где нашлись обозначенные в задаче места, и минимальный номер подходящего места.
Пример входного файла:
7 40 30 40 34 50 125 50 129 50 64 50 68 50 70
Ответ для примера (при поиске 3 подряд идущих неприжившихся саженцах):
50 65
Ответ: 2261 5087
✍ Решение:
- Запустите программу Excel.
- В меню Файл выберите пункт Открыть и щелкните Обзор.
- Рядом с полем Имя файла выберите в списке Все файлы(*|*).
- Щёлкните Далее, а затем установите флажок рядом с пунктом Пробел:
- Затем Готово.
- В открытом файле перенесите первую строку в любое свободное место вправо.
- Удалите первую строку.
- Выделяем два столбца – Данные – Щелкаем Удалить дубликаты
- Опять выделяем оба столбца и выбираем настраиваемую сортировку:
- Отсортируйте столбец
А
по убыванию, добавьте Уровень и отсортируйте столбецВ
по возрастанию. - В ячейку
С1
занесите число0
. - Нам нужны разности равные
12
, ведь между 1 местом и 13 местом находиться 11 мест. - В ячейку
С2
вставим формулу для нахождения подходящих рядов: в которых номер ряда совпадает (по ячейкам столбцаА
) и разность мест = 12 (по ячейкам столбцаВ
). Выводить будем номер подходящего места неприжившегося саженца с учетом, что текущее значение столбцаB
– это место занято, а следующее (+1), как раз значение неприжившегося саженца:
=ЕСЛИ(И(A2=A1;B2-B1=12);B1+1;"")
С
поставить фильтр, убрав пустые ячейки.А
. Самое верхнее значение (2261) - это максимальный номер ряда. А значение столбца С
в той же строке (5087) - это номер места.Ответ: 2261 5087
Видео на RuTube здесь
В городе M
расположена кольцевая автодорога длиной в N
километров с движением в обе стороны. На каждом километре автодороги расположены пункты приема мусора определенной вместимости. В пределах кольцевой дороги в одном из пунктов сборки мусора собираются поставить мусороперерабатывающий завод таким образом, чтобы стоимость доставки мусора была минимальной. Стоимость доставки мусора вычисляется, как вместимость пункта сбора умноженная на расстояние от пункта сбора мусора до мусороперерабатывающего завода. Если мусороперерабатывающий завод находится рядом с пунктом сбора расстояние считается нулевым. Контейнеры нумеруются с 1
до N
.
Рядом с каким пунктом сбора мусора нужно поставить мусороперерабатывающий завод?
Описание входных данных
Первое число N
— количество контейнеров для мусора. Последующие N
чисел — количество килограмм мусора, которое производится на точке.
Описание выходных данных:
Одно число — номер контейнер для мусора рядом с которым стоит расположить перерабатывающий завод.
6 8 20 5 13 7 19
Для данного примера ответ — 6 (7⸱1 + 13⸱2 + 5⸱3 + 20⸱2 + 8⸱1 + 19⸱0).
Ответ: 8 41495
✍ Решение:
Решение программированием вариант B:
PascalABC.net:
|
||
Python:
|
||
С++:
|
Ответ: 8 41495
ЕГЭ по информатике -> демоверсия ЕГЭ 2022
В 9 номере ошибка. Руками легко проверить первую строку. Если Квадрат суммы мин и макс получился правильно, то сумма квадратов оставшихся чисел — нет! 18^2+24^2+28^2 = 1684.
Для расчёта суммы квадратов я использовала формулу:
=НАИБОЛЬШИЙ(A1:E1;2)^2+НАИБОЛЬШИЙ(A1:E1;3)^2+НАИБОЛЬШИЙ(A1:E1;4)^2.
Можно и по другому.
Ответ: 2640 строк.
Спасибо! Исправлено