- 15.04.2020
Два официальных реальных варианта от ФИПИ по информатике с досрочного ЕГЭ в 2020 году (от 14 апреля 2020)
Напоминаем, что досрочная волна ЕГЭ 2020 была отменена, но ФИПИ принял решение опубликовать варианты, которые были приготовлены для этой волны с целью самостоятельной подготовки к ЕГЭ по информатике.
В конце документа будут указаны ответы ко всем заданиям досрочного ЕГЭ по информатике.
Добавлены видеоразборы по каждому из досрочных вариантов. СОХРАНИТЕ В ЗАКЛАДКИ!
- Тренировочные тесты по информатике
- Все реальные варианты ЕГЭ 2020
- Работы Статград 2019-2020
- Подробнее о ЕГЭ в 2020 году
Задавайте вопросы по заданиям в комментариях ниже.
Полный видеоразбор досрочного 2020 по информатике №1
Разбор №2
Разбор №3
Правильные ответы, вариант №1
1 8, 2 xwzy, 3 45, 4 4, 5 111, 6 33, 7 15, 8 95, 9 4, 10 405, 11 7412131, 12 224, 13 14, 14 110, 15 9, 16 38, 17 12, 18 61, 19 202, 20 393, 21 31, 22 14, 23 36
Ответы, вариант №2
1 9, 2 wzyx, 3 46, 4 2, 5 110, 6 32, 7 19, 8 240, 9 12, 10 256, 11 1421731, 12 192, 13 14, 14 98, 15 8, 16 34, 17 11, 18 91, 19 155, 20 502, 21 61, 22 28, 23 64
Смотреть в PDF:
Или прямо сейчас: cкачать в pdf файле.
ЕГЭ по информатике 2020. Досрочная волна. Вариант 1
При выполнении заданий с кратким ответом впишите в поле для ответа цифру, которая соответствует номеру правильного ответа, или число, слово, последовательность букв (слов) или цифр. Ответ следует записывать без пробелов и каких-либо дополнительных символов. Дробную часть отделяйте от целой десятичной запятой. Единицы измерений писать не нужно.
Если вариант задан учителем, вы можете вписать или загрузить в систему ответы к заданиям с развернутым ответом. Учитель увидит результаты выполнения заданий с кратким ответом и сможет оценить загруженные ответы к заданиям с развернутым ответом. Выставленные учителем баллы отобразятся в вашей статистике.
Версия для печати и копирования в MS Word
1
Сколько единиц в двоичной записи шестнадцатеричного числа E1F016?
Ответ:
2
Миша заполнял таблицу истинности функции (x ∧ ¬y) ∨ (x ≡ z) ∨ ¬w, но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
(x ∧ ¬y) ∨ (x ≡ z) ∨ ¬w | ||||
---|---|---|---|---|
0 | 1 | 1 | 0 | 0 |
0 | 0 | |||
1 | 0 | 1 | 0 |
Определите, какому столбцу таблицы истинности соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция задана выражением ¬x ∨ y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
¬x ∨ y | ||
---|---|---|
0 | 1 | 0 |
В этом случае первому столбцу соответствует переменная y, а второму столбцу — переменная x. В ответе следует написать yx.
Ответ:
3
На рисунке слева изображена схема дорог N-ского района. В таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой. Отсутствие звёздочки означает, что такой дороги нет.
П1 | П2 | П3 | П4 | П5 | П6 | П7 | |
П1 | * | * | |||||
П2 | * | * | * | * | |||
П3 | * | * | |||||
П4 | * | * | * | ||||
П5 | * | * | * | ||||
П6 | * | * | * | ||||
П7 | * | * | * |
Каждому населённому пункту на схеме соответствует его номер в таблице, но неизвестно, какой именно номер. Определите, какие номера населённых пунктов в таблице могут соответствовать населённым пунктам E и G на схеме. В ответе запишите эти два номера в возрастающем порядке без пробелов и знаков препинания.
Ответ:
4
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных, у скольких детей на момент их рождения матерям было меньше 27 полных лет. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
|
|
Ответ:
5
По каналу связи передаются сообщения, содержащие только четыре буквы: А, Б, В, Г; для передачи используется двоичный код, удовлетворяющий условию Фано. Для букв Б, В, Г используются такие кодовые слова: Б — 101; В — 110; Г — 0.
Укажите кратчайшее кодовое слово для буквы А, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наибольшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Ответ:
6
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа — результата работы данного алгоритма.
Укажите минимальное число N, для которого результат работы алгоритма будет больше 134. В ответе это число запишите в десятичной системе счисления.
Ответ:
7
Дан фрагмент электронной таблицы. Из ячейки A3 в ячейку C4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Какова сумма числовых значений формул в ячейках A3 и C4?
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 1 | 2 | 3 | 4 | 5 |
2 | 6 | 7 | 8 | 9 | 10 |
3 | =$C1+A$1 | 12 | 13 | 14 | 15 |
4 | 16 | 17 | 19 | 20 |
Примечание: знак $ обозначает абсолютную адресацию.
Ответ:
8
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM S, N AS INTEGER S = 175 N = 0 WHILE S + N < 325 S = S − 10 N = N + 30 WEND PRINT S |
s = 175 n = 0 while s + n < 325: s = s − 10 n = n + 30 print(s) |
Паскаль | Алгоритмический язык |
var s, n: integer; begin s := 175; n := 0; while s + n < 325 do begin s := s − 10; n := n + 30 end; writeln(s) end. |
алг нач цел n, s s := 175 n := 0 нц пока s + n < 325 s := s − 10 n := n + 30 кц вывод s кон |
Си++ | |
#include <iostream> using namespace std; int main() { int s = 175, n = 0; while (s + n < 325) { s = s − 10; n = n + 30; } cout << s << endl; return 0; } |
Ответ:
9
Музыкальный фрагмент был записан в формате квадро (четырёхканальная запись), оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла без учёта размера заголовка файла — 12 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате моно и оцифрован с разрешением в 2 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер в Мбайт файла, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно. Искомый объём не учитывает размера заголовка файла.
Ответ:
10
Вася составляет 5-буквенные слова, в которых есть только буквы В, О, Л, К, причём буква В используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?
Ответ:
11
Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
---|---|
SUB F(n) IF n > 0 THEN PRINT n, F(n − 3) F(n 2) END IF END SUB |
def F(n): if n > 0: print(n, end=») F(n − 3) F(n // 2) |
Паскаль | Алгоритмический язык |
procedure F(n: integer); begin if n > 0 then begin write(n); F(n − 3) F(n div 2); end end; |
алг F(цел n) нач если n > 0 то вывод n F(n − 3) F(div(n, 2)) все кон |
Си++ | |
void F(int n) { if (n > 0) { std::cout << n; F(n − 3); F(n / 2); } } |
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Ответ:
12
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 117.191.176.37 адрес сети равен 117.191.160.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.
Ответ:
13
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 25 символов и содержащий только символы из 7-символьного набора: С, Д, А, М, Е, Г, Э. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 50 пользователях потребовалось 1200 байт.
Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.
Ответ:
14
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 10 цифр 1, 20 цифр 2 и 30 цифр 3, расположенных в произвольном порядке.
Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.
НАЧАЛО
ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)
ЕСЛИ нашлось (>1)
ТО заменить (>1, 22>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>2)
ТО заменить (>2, 2>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>3)
ТО заменить (>3, 1>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Ответ:
15
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М? Длиной пути считать количество дорог, составляющих этот путь.
Ответ:
16
Значение арифметического выражения: 911 · 320 − 39 − 27 — записали в системе счисления с основанием 3. Сколько цифр 2 содержится в этой записи?
Ответ:
17
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос | Найдено страниц (в сотнях тысяч) |
---|---|
Физика | 46 |
Квант | 34 |
Ньютон | 34 |
Ньютон | Физика | Квант | 90 |
Ньютон & Физика | 12 |
Ньютон & Квант | 0 |
Какое количество страниц (в сотнях тысяч) будет найдено по запросу Физика & Квант?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Ответ:
18
Для какого наименьшего целого неотрицательного числа А выражение
(x + 2y < A) ∨ (y > x) ∨ (x > 20)
тождественно истинно, т. е. принимает значение 1 при любых целых неотрицательных x и y?
Ответ:
19
В программе используется одномерный целочисленный массив A с индексами от 0 до 11. Значения элементов равны 14, 13, 15, 8, 4, 12, 30, 21, 22, 16, 5, 9 соответственно, т. е. A[0] = 14, A[1] = 13 и т. д. Определите значение переменной s после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
Бейсик | Python |
---|---|
s = 0 n = 1 FOR i = 0 TO 11 IF A(i) > A(n) THEN s = s + A(i) + i ELSE A(n) = A(i) END IF NEXT i |
s = 0 n = 1 for i in range(12): if A[i] > A[n]: s += A[i] + i else: A[n] = A[i] |
Паскаль | Алгоритмический язык |
s := 0; n := 1; for i := 0 to 11 do if A[i] > A[n] then s := s + A[i] + i else A[n] := A[i]; |
s := 0 n := 1 нц для i от 0 до 11 если A[i] > A[n] то s := s + A[i] + i иначе A[n] := A[i] все кц |
Си++ | |
s = 0; n = 1; for (int i = 0; i < 12; i++) { if (A[i] > A[n]) s += A[i] + i; else A[n] = A[i]; } |
Ответ:
20
Ниже на пяти языках программирования записан алгоритм. Получив на вход число натуральное десятичное x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 2, а потом 3.
Бейсик | Python |
---|---|
DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + X MOD 8 ENDIF X = X 8 WEND PRINT L PRINT M |
x = int(input()) L = 0 M = 0 while x > 0 : M = M+1 if (x % 2) != 0: L = L + x % 8 x = x // 8 print(L) print(M) |
Паскаль | Алгоритмический язык |
var x, L, M: integer; begin readln(x); L:=0; M:=0; while x > 0 do begin M:=M + 1; if (x mod 2) <> 0 then L:= L + x mod 8; x:= x div 8; end; writeln(L); write(M); end. |
алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x,2) <> 0 то L:= L + mod (x,8); x := div(x,8) все кц вывод L, нс, M кон |
Си++ | |
#include <iostream> using namespace std; int main(void) { int L, M, x; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if (x % 2 != 0) { L = L + x % 8; } x = x / 8; } cout << L << “ “ << M; } |
Ответ:
21
Определите наибольшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 27. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 2*N + 2 END FUNCTION |
def f(n): return n*n*n def g(n): return 2*n + 2 k = int(input()) i = 1 while f(i) < g(k): i += 1 print (i) |
Паскаль | Алгоритмический язык |
var k, i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := 2*n + 2; end; begin readln(k); i := 1; while f(i) < g(k) do i := i + 1; writeln(i) end. |
алг нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 2*n + 2 кон |
Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n * n; } long g(long n) { return 2*n + 2; } int main() { long k, i; cin >> k; i = 1; while (f(i) < g(k)) i++; cout << i << endl; return 0; } |
Ответ:
22
Исполнитель Вычислитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для Вычислителя — это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 21 и при этом траектория вычислений содержит число 10 и не содержит числа 18?
Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Ответ:
23
Сколько существует различных наборов значений логических переменных x1, x2, …x7, y1, y2, …y7, которые удовлетворяют всем перечисленным ниже условиям?
x1 → y1 = 1
(x2 → (x1 ∧ y2)) ∧ (y2 → y1) = 1
(x3 → (x2 ∧ y3)) ∧ (y3 → y2) = 1
…
(x7 → (x6 ∧ y7)) ∧ (y7 → y6) = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x7, y1, y2, …y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Ответ:
24
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, равное количеству цифр 4 в десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования.
Бейсик | Python |
---|---|
DIM N AS LONG DIM R, d AS INTEGER INPUT N R = 0 WHILE N > 0 d = N MOD 10 IF d <> 4 THEN R = R + d END IF N = N 10 WEND PRINT R END |
N = int(input()) R = 0 while N > 0: d = N % 10 if d != 4: R = R + d N = N // 10 print(R) |
Паскаль | Алгоритмический язык |
var N: longint; R, d: integer; begin readln(N); R := 0; while N > 0 do begin d := N mod 10; if d <> 4 then R := R + d; N := N div 10; end; writeln(R); end. |
алг нач цел N, R, d ввод N R := 0 нц пока N > 0 d := mod(N, 10) если d <> 4 то R := R + d все N := div(N, 10) кц вывод R кон |
Си++ | |
#include <iostream> using namespace std; int main() { long int N; int R, d; cin >> N; R = 0; while (N > 0) { d = N % 10; if (d != 4) { R = R + d; } N = N / 10; } cout << R << endl; return 0; } |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 241.
2. Приведите пример входного числа N, при котором приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
25
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
141
256
92
148
511
4
программа должна вывести следующий массив:
2
256
92
148
2
4
Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бейсик | Python |
---|---|
CONST N AS INTEGER = 30 DIM A (1 TO N) AS LONG DIM I AS LONG, J AS LONG, K AS LONG FOR I = 1 TO N INPUT A(I) NEXT I … END |
# допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) … |
Паскаль | Алгоритмический язык |
const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i := 1 to N do readln(a[i]); … end. |
алг нач цел N = 30 цел таб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц … кон |
Си++ | |
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k; for (i = 0; i<N; i++) cin >> a[i]; … return 0; } |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
26
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в пять раз. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 19 или 75 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 63.
Победителем считается игрок, сделавший последний ход, т. е. первым получивший кучу, в которой будет 63 или больше камней. В начальный момент в куче было S камней; 1 ≤ S ≤ 62.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т. е. не являющиеся выигрышными независимо от игры противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
Выполните следующие задания.
Задание 1
а) Укажите все такие значения числа S, при которых Петя может выиграть за один ход.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
Задание 2
Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Для каждого указанного значения S опишите выигрышную стратегию Пети.
Задание 3
Укажите значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани. Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах — количество камней в куче. Дерево не должно содержать партии, невозможные при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.
Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
27
Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, разность которых чётна, и в этих парах, по крайней мере, одно из чисел пары делится на 17. Порядок элементов в паре неважен. Среди всех таких пар нужно найти и вывести пару с максимальной суммой элементов. Если одинаковую максимальную сумму имеет несколько пар, можно вывести любую из них. Если подходящих пар в последовательности нет, нужно вывести два нуля.
Описание входных и выходных данных.
В первой строке входных данных задаётся количество чисел N (2 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.
Пример входных данных:
5
34
12
51
52
51
Пример выходных данных для приведённого выше примера входных данных:
51 51
Пояснение. Из данных пяти чисел можно составить три различные пары, удовлетворяющие условию: (34, 12), (34, 52), (51, 51). Наибольшая сумма получается в паре (51, 51). Эта пара допустима, так как число 51 встречается в исходной последовательности дважды.
Требуется написать эффективную по времени и памяти программу для решения описанной задачи.
Программа считается эффективной по времени, если при одновременном увеличении количества элементов последовательности n и параметра m в k раз время работы программы увеличивается не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 4 килобайта и не увеличивается с ростом n.
Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, — 4 балла. Максимальная оценка за правильную программу, возможно, неэффективную по памяти или время выполнения которой существенно зависит от величины m, — 3 балла.
Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла.
Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
Завершить тестирование, свериться с ответами, увидеть решения.
1.
1 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Сколько единиц в двоичной записи шестнадцатеричного числа E1F0?
Ответ: 8
Видео
2.
2 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Миша заполнял таблицу истинности функции
(x ∧ ¬y) ∨ (x ≡ z) ∨ ¬w
но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
Перем.1 | Перем.2 | Перем.3 | Перем.4 | Функция |
??? | ??? | ??? | ??? | F |
0 | 1 | 1 | 0 | 0 |
0 | 0 | |||
1 | 0 | 1 | 0 |
В ответе запишите буквы в том порядке, в котором идут соответствующие им столбцы.
3.
3 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
На рисунке слева изображена схема дорог N-ского района. В таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой. Отсутствие звёздочки означает, что такой дороги нет.
Каждому населённому пункту на схеме соответствует его номер в таблице, но неизвестно, какой именно номер. Определите, какие номера населённых пунктов в таблице могут соответствовать населённым пунктам E и G на схеме. В ответе запишите эти два номера в возрастающем порядке без пробелов и знаков препинания.
Ответ: 45
4.
4 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1.
Определите на основании приведённых данных, у скольких детей на момент их рождения матерям было меньше 27 полных лет. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
Ответ: 4
5.
5 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
По каналу связи передаются сообщения, содержащие только четыре буквы:
А, Б, В, Г
для передачи используется двоичный код, удовлетворяющий условию Фано.
Для букв Б, В, Г используются такие кодовые слова:
Б – 101 В – 110 Г – 0
Укажите кратчайшее кодовое слово для буквы А, при котором код будет допускать однозначное декодирование.
Если таких кодов несколько, укажите код с наибольшим числовым значением.
6.
6 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
— если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы.
Например, двоичная запись 1001 числа 9 будет преобразована в 100111.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа – результата работы данного алгоритма.
Укажите минимальное число N, для которого результат работы алгоритма будет больше 134. В ответе это число запишите в десятичной системе счисления.
7.
7 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Дан фрагмент электронной таблицы. Из ячейки A3 в ячейку C4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились.
Какова сумма числовых значений формул в ячейках A3 и C4?
8.
8 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 |
var s, n: integer; begin s := 175; n := 0; while s + n < 325 do begin s := s - 10; n := n + 30 end; writeln(s) end. |
Бейсик:
DIM S, N AS INTEGER S = 175 N = 0 WHILE S + N < 325 S = S - 10 N = N + 30 WEND PRINT S |
Python:
s = 175 n = 0 while s + n < 325: s = s - 10 n = n + 30 print(s) |
С++:
#include <iostream> using namespace std; int main() { int s = 175, n = 0; while (s + n < 325) { s = s - 10; n = n + 30; } cout << s << endl; return 0; } |
9.
9 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Музыкальный фрагмент был записан в формате квадро (четырёхканальная запись), оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла без учёта размера заголовка файла – 12 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате моно и оцифрован с разрешением в 2 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось.
Укажите размер в Мбайт файла, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно. Искомый объём не учитывает размера заголовка файла
10.
10 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Вася составляет 5-буквенные слова, в которых есть только буквы
В, О, Л, К
причём буква В используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная.
Сколько существует таких слов, которые может написать Вася?
11.
11 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Дан рекурсивный алгоритм F.
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Паскаль:
1 2 3 4 5 6 7 8 9 |
procedure F(n: integer); begin if n > 0 then begin write(n); F(n - 3); F(n div 2) end end; |
Бейсик:
SUB F(n) IF n > 0 THEN PRINT n, F(n - 3) F(n 2) END IF END SUB |
Python:
def F(n): if n > 0: print(n) F(n - 3) F(n // 2) |
С++:
void F(int n){ if (n > 0){ std::cout << n; F(n - 3); F(n / 2); } } |
12.
12 задание. 2020 г, ФИПИ:
Для узла с IP-адресом 117.191.176.37 адрес сети равен 117.191.160.0.
Чему равен третий слева байт маски?
Ответ запишите в виде десятичного числа.
13.
13 задание. 2020 г, ФИПИ:
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 25 символов и содержащий только символы из 7-символьного набора: С, Д, А, М, Е, Г, Э. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей.
Для хранения сведений о 50 пользователях потребовалось 1200 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт
Ответ: 14
14.
14 задание. 2020 г, ФИПИ:
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>
», а затем содержащая 10 цифр 1
, 20 цифр 2
и 30 цифр 3
, расположенных в произвольном порядке.
Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.
НАЧАЛО ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3) ЕСЛИ нашлось (>1) ТО заменить (>1, 22>) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>2) ТО заменить (>2, 2>) КОНЕЦ ЕСЛИ ЕСЛИ нашлось (>3) ТО заменить (>3, 1>) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
15.
15 задание. 2020 г, ФИПИ:
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М?
Длиной пути считать количество дорог, составляющих этот путь.
Ответ: 9
16.
16 задание. 2020 г, ФИПИ:
Значение арифметического выражения:
911 × 320 – 39 – 27
записали в системе счисления с основанием 3.
Сколько цифр 2 содержится в этой записи?
17.
17 задание. 2020 г, ФИПИ:
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Какое количество страниц (в сотнях тысяч) будет найдено по запросу Физика & Квант ?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
18.
18 задание. 2020 г, ФИПИ:
Для какого наименьшего целого неотрицательного числа А выражение
(x + 2y < A) ∨ (y > x) ∨ (x > 20)
тождественно истинно, т.е. принимает значение 1 при любых целых неотрицательных x и y?
19.
19 задание. 2020 г, ФИПИ:
В программе используется одномерный целочисленный массив A с индексами от 0 до 11. Значения элементов массива A[i] приведены в таблице:
Определите значение переменной s после выполнения следующего фрагмента этой программы.
Паскаль:
1 2 3 4 5 6 7 |
s := 0; n := 1; for i := 0 to 11 do if A[i] > A[n] then s := s + A[i] + i else A[n] := A[i]; |
Бейсик:
s = 0 n = 1 FOR i = 0 TO 11 IF A(i) > A(n) THEN s = s + A(i) + i ELSE A(n) = A(i) END IF NEXT i |
Python:
s = 0 n = 1 for i in range(0, 12): if A[i] > A[n]: s += A[i] + i else: A[n] = A[i] |
С++:
s = 0; n = 1; for (int i = 0; i < 12; i++) { if (A[i] > A[n]) s += A[i] + i; else A[n] = A[i]; } |
20.
20 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M.
Укажите наибольшее число x, при вводе которого алгоритм выводит сначала 2, а потом 3.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + x mod 8; x := x div 8 end; writeln(L); writeln(M) end. |
Бейсик:
DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + X MOD 8 END IF X = X 8 WEND PRINT L PRINT M |
Python:
x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + x % 8 x = x // 8 print(L) print(M) |
С++:
#include <iostream> using namespace std; int main(){ int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if(x % 2 != 0) { L = L + x % 8; } x = x / 8; } cout << L << endl << M << endl; return 0; } |
21.
21 задание. Досрочный вариант 1 ЕГЭ по информатике 2020, ФИПИ:
Определите наибольшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 27.
Для Вашего удобства программа приведена на нескольких языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var k, i : longint; function F(n: longint): longint; begin F := n * n * n; end; function G(n: longint): longint; begin G := 2 * n + 2; end; begin readln(k); i := 1; while F(i) < G(k) do i := i + 1; writeln(i) end. |
Бейсик:
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 2 * N + 2 END FUNCTION |
Python:
def F(n): return n*n*n def G(n): return 2 * n + 2 k = int(input()) i = 1 while F(i) < G(k): i+=1 print (i) |
С++:
#include <iostream> using namespace std; long F(long n) { return n * n * n; } long G(long n) { return 2 * n + 2; } int main() { long k, i; cin >> k; i = 1; while(F(i) < G(k)) i++; cout << i; return 0; } |
22.
22 задание. 2020 г, ФИПИ:
Исполнитель Вычислитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для Вычислителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 21 и при этом траектория вычислений содержит число 10 и не содержит числа 18?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Ответ: 14
23.
23 задание. 2020 г, ФИПИ:
Сколько существует различных наборов значений логических переменных x1, x2, … x7, y1, y2, … y7, которые удовлетворяют всем перечисленным ниже условиям?
x1 → y1 = 1 (x2 → (x1 ∧ y2)) ∧ (y2 → y1) = 1 (x3 → (x2 ∧ y3)) ∧ (y3 → y2) = 1 … (x7 → (x6 ∧ y7)) ∧ (y7 → y6) = 1
В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x7, y1, y2, … y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Ответ: 36
24.
24 задание. 2020 г, ФИПИ:
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, равное количеству цифр 4 в десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на нескольких языках программирования.
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
var N: longint; R, d: integer; begin readln(N); R := 0; while N > 0 do begin d := N mod 10; if d <> 4 then R := R + d; N := N div 10; end; writeln(R); end. |
Бейсик:
DIM N AS LONG DIM R, d AS INTEGER INPUT N R = 0 WHILE N > 0 d = N MOD 10 IF d <> 4 THEN R = R + d END IF N = N 10 WEND PRINT R END |
Python:
N = int(input()) R = 0 while N > 0: d = N % 10 if d != 4: R = R + d N = N // 10 print(R) |
С++:
#include <iostream> using namespace std; int main() { long int N; int R, d; cin >> N; R = 0; while (N > 0) { d = N % 10; if (d != 4) { R = R + d; } N = N / 10; } cout << R << endl; return 0; } |
-
Последовательно выполните следующее:
- Напишите, что выведет эта программа при вводе числа 241.
- Приведите пример входного числа N, при котором приведённая программа, несмотря на ошибки, выдаёт верный ответ.
- Найдите допущенные программистом ошибки и исправьте их:
- 1) выпишите строку, в которой сделана ошибка;
- 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
✍ Решение:
- Программа выведет число 3.
- Программа выдаёт правильный ответ, например, при N = 244.
- В программе есть две ошибки:
Примечание для эксперта. Программа выводит сумму цифр, отличных от 4.
Первая ошибка: неверная проверка условия увеличения счетчика – переменной R.
Строка с ошибкой:
if d <> 4 then
Верное исправление:
if d = 4 then
Вторая ошибка: неверно увеличивается значение переменной R.
Строка с ошибкой:
R := R + d;
Верное исправление:
R := R + 1;
Видео
25.
25 задание. 2020 г, ФИПИ:
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству.
Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
141 256 92 148 511 4
программа должна вывести следующий массив:
2 256 92 148 2 4
Исходные данные объявлены так, как показано ниже на примерах для нескольких языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Паскаль:
1 2 3 4 5 6 7 8 9 10 |
const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i := 1 to N do readln(a[i]); ... end. |
Бейсик:
CONST N AS INTEGER = 30 DIM A (1 TO N) AS LONG DIM I AS LONG, J AS LONG, K AS LONG FOR I = 1 TO N INPUT A(I) NEXT I ... END |
Python:
# допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ... |
С++:
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; } |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии.
✍ Решение:
-
Паскаль:
k := 0; for i := 1 to N do if (a[i] > 100) and (a[i] mod 4 <> 0) then k := k + 1; for i := 1 to N do begin if (a[i] > 100) and (a[i] mod 4 <> 0) then a[i] := k; writeln(a[i]); end;
Бейсик:
K = 0 FOR I = 1 TO N IF A(I) > 100 AND A(I) MOD 4 <> 0 THEN K = K + 1 END IF NEXT I FOR I = 1 TO N IF A(I) > 100 AND A(I) MOD 4 <> 0 THEN A(I) = K END IF PRINT A(I) NEXT I |
Python:
k = 0 for i in range(0, n): if (a[i] > 100 and a[i] % 4 != 0): k = k + 1 for i in range(0, n): if (a[i] > 100 and a[i] % 4 != 0): a[i] = k print(a[i]) |
С++:
k = 0; for (i = 0; i < N; i++) if (a[i] > 100 && a[i] % 4 != 0) k++; for (i = 0; i < N; i++) { if (a[i] > 100 && a[i] % 4 != 0) a[i] = k; cout << a[i] << endl; } |
26.
26 задание. 2020 г, ФИПИ:
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в пять раз.
Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 19 или 75 камней.
У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 63.
Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 63 или больше камней.
В начальный момент в куче было S камней; 1 ≤ S ≤ 62.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
Задание 1
а) Укажите все такие значения числа S, при которых Петя может выиграть
за один ход
.
б) Укажите такое значение S, при котором Петя
не может выиграть за один ход
, но при любом ходе Пети Ваня может выиграть своим
первым ходом
. Опишите выигрышную стратегию Вани.
Задание 2
Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
Для каждого указанного значения S
опишите выигрышную стратегию Пети
.
Задание 3
Укажите значение S, при котором одновременно выполняются два условия:
Для указанного значения S опишите выигрышную стратегию Вани.
Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах – количество камней в куче.
Дерево не должно содержать партии, невозможные при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.
✍ Решение:
- Задание 1
- Задание 2
- Задание 3
а) Петя может выиграть, если S = 13, … 62.
б) Ваня может выиграть первым ходом (как бы ни играл Петя), если исходно в куче S = 12 камней. Тогда после первого хода Пети в куче будет 13, 16 или 60 камней. Во всех случаях Ваня увеличивает количество камней в 5 раз и выигрывает за один ход.
Замечание для проверяющего. В задаче не требуется указать все выигрышные стратегии. Если в работе выпускника, как в приведённом примере, просто указано, что Ваня всегда увеличивает в 5 раз количество камней, – это не ошибка.
Возможные значения S: 8, 11. В этих случаях Петя, очевидно, не может выиграть первым ходом. Однако он может получить кучу из 12 камней. Эта позиция разобрана в п. 1б. В ней игрок, который будет ходить (теперь это Ваня), выиграть не может, а его противник (т.е. Петя) следующим ходом выиграет.
Возможные значения S: 7, 10.
Например, для S = 7 после первого хода Пети в куче будет 8, 11 или 35 камней. Если в куче станет 35 камней, Ваня увеличит количество камней в 5 раз и выиграет первым ходом. Ситуация, когда в куче 8 или 11 камней, разобрана в п. 2. В этой ситуации игрок, который будет ходить (теперь это Ваня), выигрывает своим вторым ходом.
Ниже представлено дерево возможных партий (и только их) при описанной стратегии Вани для значения S = 7. При выбранной стратегии на последнем ходе Ваня увеличивает в 5 раз количество камней, хотя возможны и другие выигрышные стратегии. Для второго возможного
значения дерево строится аналогично. Заключительные позиции (в них выигрывает Ваня) подчёркнуты.
Примечание для проверяющего. Здесь для полноты картины указаны два возможных значения S. По условию задачи достаточно указать одно из них
27.
27 задание. 2020 г, ФИПИ (1 вариант):
Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, разность которых чётна, и в этих парах, по крайней мере, одно из чисел пары делится на 17. Порядок элементов в паре неважен. Среди всех таких пар нужно найти и вывести пару с максимальной суммой элементов. Если одинаковую максимальную сумму имеет несколько пар, можно вывести
любую из них
. Если подходящих пар в последовательности нет,
нужно вывести два нуля
.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (2 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.
Пример входных данных:
5 34 12 51 52 51
Пример выходных данных для приведённого выше примера входных данных:
51 51
Пояснение. Из данных пяти чисел можно составить три различные пары, удовлетворяющие условию: (34, 12), (34, 52), (51, 51). Наибольшая сумма получается в паре (51, 51). Эта пара допустима, так как число 51 встречается в исходной последовательности дважды.
Напишите эффективную по времени и памяти программу для решения этой задачи.
Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.
Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, – 4 балла.
Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла.
Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.
Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
✍ Решение:
- Программа эффективна по времени и памяти
- Правильная программа на языке C++, эффективная только по времени
- Правильная, но неэффективная программа на языке Паскаль
Паскаль (PascalABC):
const p = 17; var N: integer; {количество чисел} a: integer; {очередное число} m0, m1: integer; {чётный и нечётный максимумы} mp0, mp1: integer; {чётный и нечётный максимумы, кратные p} x, y: integer; {ответ – пара чисел} i: integer; begin m0 := 0; m1 := 0; mp0 := 0; mp1 := 0; x := 0; y := 0; readln(N); for i := 1 to N do begin readln(a); // 5 34 12 51 52 51 // 4 51 68 3 2 // 4 85 51 68 2 // для четных if a mod 2 = 0 then begin // если кратное if (a mod p = 0)and(a>=mp0) then begin if mp0>m0 then m0:=mp0; mp0:=a end else if a>m0 then m0 := a; end else begin // для нечетных if (a mod p = 0)and(a>=mp1) then begin if mp1>m1 then m1:=mp1; mp1 := a; end else if a>m1 then m1:=a; end; end; // writeln('mp0=', mp0, 'm0=', m0); if (mp0 > 0) and (m0 > 0) then begin x := mp0; y := m0; end; // writeln('mp1=', mp1, 'm1=', m1); if (mp1 > 0) and (m1 > 0) and (mp1 + m1 > x + y) then begin x := mp1; y := m1; end; writeln('=', x, ' ', y) end.
:
p = 17 m0 = m1 = mp0 = mp1 = 0 N = int(input()) for i in range(N): a = int(input()) if a % 2 == 0: if a % p == 0 and a >= mp0: if mp0 > m0: m0 = mp0 mp0 = a elif a > m0: m0 = a else: if a % p == 0 and a >= mp1: if mp1 > m1: m1 = mp1 mp1 = a elif a > m1: m1 = a x = y = 0 if mp0 > 0 and m0 > 0: x = mp0; y = m0 if mp1 > 0 and m1 > 0 and mp1 + m1 > x + y: x = mp1; y = m1 print(x,y)
Ещё один путь решения – записать всю последовательность в массив и анализировать её в несколько проходов. Ниже приводится реализующая такой алгоритм программа на языке C++. В этой программе массив с исходными данными обрабатывается два раза: на первом проходе находятся индексы максимального чётного и нечётного элементов, кратных p, на втором проходе – общие чётный и нечётный максимумы. При этом элементы, выделенные как кратные при первом проходе, во время второго прохода из сравнения исключаются. Такая программа эффективна по времени (несмотря на повторную обработку массива, общее время работы пропорционально N), но неэффективна по памяти. Максимальная оценка за такую программу при отсутствии в ней синтаксических и содержательных ошибок – 3 балла.
С++:
#include <iostream> using namespace std; int main() { const int p = 17; // делитель int N; cin >> N; // количество элементов int a[N]; // элементы последовательности for (int i = 0; i < N; ++i) cin >> a[i]; int imp0 = -1, imp1 = -1; //индексы максимумов, кратных p for (int i = 0; i < N; ++i) { if (a[i] % p == 0) { if (a[i] % 2 == 0) { if (imp0 == -1 || a[i] > a[imp0]) imp0 = i; } else { if (imp1 == -1 || a[i] > a[imp1]) imp1 = i; } } } int im0 = -1, im1 = -1; // индексы общих максимумов for (int i = 0; i < N; ++i) { if (i != imp0 && i != imp1) { if (a[i] % 2 == 0) { if (im0 == -1 || a[i] > a[im0]) im0 = i; } else { if (im1 == -1 || a[i] > a[im1]) im1 = i; } } } int x = 0, y = 0; // пара чисел для ответа if (imp0 != -1 && im0 != -1) { x = a[imp0]; y = a[im0]; } if (imp1 != -1 && im1 != -1 && a[imp1] + a[im1] > x + y) { x = a[imp1]; y = a[im1]; } cout << x << ' ' << y << endl; return 0; }
Паскаль:
const p = 17; var N: integer; {количество чисел} a: array [1..10000] of integer; {исходные данные} x, y: integer; {ответ – пара чисел} i, j: integer; begin readln(N); for i := 1 to N do readln(a[i]); x := 0; y := 0; for i := 1 to N - 1 do begin for j := i + 1 to N do begin if ((a[i] - a[j]) mod 2 = 0) and ((a[i] mod p = 0) or (a[j] mod p = 0)) and (a[i] + a[j] > x + y) then begin x := a[i]; y := a[j] end end end; writeln(x, ' ', y) end.
Видео
ЕГЭ по информатике -> досрочный ЕГЭ 2020
Официальный сайт ФИПИ опубликовал 2 варианта КИМ досрочного периода EГЭ-2020 по информатике с ответами и критерии оценивания заданий с развёрнутым ответом.
Это дает дополнительную возможность участникам ознакомиться со структурой КИМ и уровнем сложности реальных заданий, оценить время выполнения каждого из заданий.
Досрочные варианты EГЭ 2020 по информатике с ответами
→ вариант 1 | ответы | критерии
→ вариант 2 | ответы | критерии
Методические рекомендации ФИПИ обучающимся 11 классов по организации индивидуальной подготовки к ЕГЭ 2020 года по информатике.
→ скачать
В 2020 г., как и в предыдущие годы, вариант КИМ ЕГЭ по информатике и ИКТ состоит из двух частей, различающихся типом ответа на предложенные задания – в первой части собраны задания с кратким ответом, во второй – с развёрнутым ответом.
Задания каждой части расположены по возрастанию сложности, поэтому различающиеся уровнем сложности задания по одним и тем же разделам курса информатики и ИКТ в КИМ могут находиться не рядом друг с другом.
Рекомендуется следующая последовательность действий при подготовке к экзамену:
1. Провести самодиагностику, прорешав демонстрационный вариант КИМ, и самостоятельно проверить ответы, воспользовавшись эталонными ответами и критериями оценивания. Если есть возможность работать в паре или группой, желательно всегда организовывать взаимную проверку развёрнутых ответов. Цель – выявить собственные пробелы в знаниях, темы, вызвавшие затруднения, зафиксировать исходный уровень подготовки.
2. Заполнить индивидуальный план подготовки к экзамену и следовать ему.
3. При повторении каждой темы сначала выполнять задания по линиям, не менее чем по три-четыре задания каждого типа, встречающегося в линии, затем выполнять задания группами, относящимися к данной теме. После того как ошибки в выполнении заданий по данной теме сведены к минимуму, можно переходить к проработке следующей темы.
4. После завершения повторения всех тем следует прорешать ещё как минимум один вариант КИМ и сравнить результаты с п. 1. Также снова следует выявить темы и линии заданий, вызвавшие затруднения, и дополнительно их проработать/
Связанные страницы:
На официальном сайте ФИПИ опубликованы по два варианта досрочного периода ЕГЭ 2020 по информатике. В 2020 году ФИПИ дополнительно опубликовал ответы (21 апреля).
→ вариант 1 | ответы | критерии
→ вариант 2 | ответы | критерии
Так же ФИПИ опубликовал методические рекомендации для самостоятельной подготовки к ЕГЭ 2020.
→ информатика и ИКТ
В 2020 г., как и в предыдущие годы, вариант КИМ ЕГЭ по информатике и ИКТ состоит из двух частей, различающихся типом ответа на предложенные задания – в первой части собраны задания с кратким ответом, во второй – с развёрнутым ответом.
Задания каждой части расположены по возрастанию сложности, поэтому различающиеся уровнем сложности задания по одним и тем же разделам курса информатики и ИКТ в КИМ могут находиться не рядом друг с другом.
Рекомендуем Вам прорешать тренировочный вариант ЕГЭ, например, демонстрационный вариант КИМ этого года или прошлых лет, открытые варианты и задания из Открытого банка заданий ЕГЭ, размещенного на официальном сайте ФГБНУ «ФИПИ».
Также можно воспользоваться различными сборниками вариантов, при этом следует обращать внимание на соответствие этих вариантов официальному демонстрационному варианту КИМ по структуре и тематике заданий.
Если выполнение заданий по какой-либо теме вызвало затруднения, то на изучение / повторение соответствующей темы следует запланировать больше времени. Не следует изначально планировать себе слишком жёсткий график, который Вы вряд ли сможете выдержать, будьте реалистом.
Рекомендуется следующая последовательность действий при подготовке к экзамену:
1. Провести самодиагностику, прорешав демонстрационный вариант КИМ, и самостоятельно проверить ответы, воспользовавшись эталонными ответами и критериями оценивания. Если есть возможность работать в паре или группой, желательно всегда организовывать взаимную проверку развёрнутых ответов. Цель – выявить собственные пробелы в знаниях, темы, вызвавшие затруднения, зафиксировать исходный уровень подготовки.
2. Заполнить индивидуальный план подготовки к экзамену и следовать ему.
3. При повторении каждой темы сначала выполнять задания по линиям, не менее чем по три-четыре задания каждого типа, встречающегося в линии, затем выполнять задания группами, относящимися к данной теме. После того как ошибки в выполнении заданий по данной теме сведены к минимуму, можно переходить к проработке следующей темы.
4. После завершения повторения всех тем следует прорешать ещё как минимум один вариант КИМ и сравнить результаты с п. 1. Также снова следует выявить темы и линии заданий, вызвавшие затруднения, и дополнительно их проработать.
Смотрите также:
Задачи:
1. Сколько единиц в двоичной записи шестнадцатеричного числа E1F016?
Посмотреть ответ. Посмотреть решение.
2. Миша заполнял таблицу истинности функции но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
0 | 1 | 1 | 0 | 0 |
0 | 0 | |||
1 | 0 | 1 | 0 |
Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Пример. Функция задана выражением зависящим от двух переменных, а фрагмент таблицы имеет следующий вид.
0 | 1 | 0 |
В этом случае первому столбцу соответствует переменная y, а второму столбцу – переменная x. В ответе следует написать yx.
Посмотреть ответ. Посмотреть решение.
3. На рисунке слева изображена схема дорог N-ского района. В таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой. Отсутствие звёздочки означает, что такой дороги нет.
Каждому населённому пункту на схеме соответствует его номер в таблице, но неизвестно, какой именно номер. Определите, какие номера населённых пунктов в таблице могут соответствовать населённым пунктам E и G на схеме. В ответе запишите эти два номера в возрастающем порядке без пробелов и знаков препинания.
Посмотреть ответ. Посмотреть решение.
4. Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных, у скольких детей на момент их рождения матерям было меньше 27 полных лет. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
Посмотреть ответ. Посмотреть решение.
5. По каналу связи передаются сообщения, содержащие только четыре буквы: А, Б, В, Г; для передачи используется двоичный код, удовлетворяющий условию Фано. Для букв Б, В, Г используются такие кодовые слова: Б – 101; В – 110; Г – 0.
Укажите кратчайшее кодовое слово для буквы А, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наибольшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.
Посмотреть ответ. Посмотреть решение.
6. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописываются два нуля, в противном случае справа дописываются две единицы. Например, двоичная запись 1001 числа 9 будет преобразована в 100111.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа – результата работы данного алгоритма.
Укажите минимальное число N, для которого результат работы алгоритма будет больше 134. В ответе это число запишите в десятичной системе счисления.
Посмотреть ответ. Посмотреть решение.
7. Дан фрагмент электронной таблицы. Из ячейки A3 в ячейку C4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Какова сумма числовых значений формул в ячейках A3 и C4?
Примечание. Знак $ обозначает абсолютную адресацию.
Посмотреть ответ. Посмотреть решение.
8. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.
Бейсик | Python |
DIM S, N AS INTEGER S = 175 N = 0 WHILE S + N < 325 S = S - 10 N = N + 30 WEND PRINT PRINT S |
s = 175 n = 0 while s + n < 325: s = s - 10 n = n + 30 print(s) |
Алгоритмический язык | Паскаль |
алг нач цел n, s s := 175 n := 0 нц пока s + n < 325 s := s - 10 n := n + 30 кц вывод s кон |
var s, n: integer; begin s := 175; n := 0; while s + n < 325 do begin s := s - 10; n := n + 30 end; writeln(s) end. |
С++ | |
#include <iostream> using namespace std; int main() { int s = 175, n = 0; while (s + n < 325) { s = s - 10; n = n + 30; } cout << s << endl; return 0; } |
Посмотреть ответ. Посмотреть решение.
9. Музыкальный фрагмент был записан в формате квадро (четырёхканальная запись), оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла без учёта размера заголовка файла – 12 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате моно и оцифрован с разрешением в 2 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер в Мбайт файла, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно. Искомый объём не учитывает размера заголовка файла.
Посмотреть ответ. Посмотреть решение.
10. Вася составляет 5-буквенные слова, в которых есть только буквы В, О, Л, К, причём буква В используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?
Посмотреть ответ. Посмотреть решение.
11. Ниже на пяти языках программирования записан рекурсивный алгоритм F.
Бейсик | Python |
SUB F(n) IF n > 0 THEN PRINT n, F(n - 3) F(n 2) END IF END SUB |
def F(n): if n > 0: print(n) F(n - 3) F(n // 2) |
Алгоритмический язык | Паскаль |
алг F (цел n) нач если n > 0 то вывод n F(n - 3) F(div(n, 2)) все кон |
procedure F(n: integer); begin if n > 0 then begin write(n); F(n - 3); F(n div 2) end end; |
С++ | |
void F(int n){ if (n > 0){ std::cout << n; F(n - 3); F(n / 2); } } |
Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.
Посмотреть ответ. Посмотреть решение.
12. В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 117.191.176.37 адрес сети равен 117.191.160.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа.
Посмотреть ответ. Посмотреть решение.
13. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 25 символов и содержащий только символы из 7-символьного набора: С, Д, А, М, Е, Г, Э. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 50 пользователях потребовалось 1200 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.
Посмотреть ответ. Посмотреть решение.
14. Исполнитель Редактор получает на вход строку символов и преобразовывает её.
Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w.
Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие ложно).
На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 10 цифр 1, 20 цифр 2 и 30 цифр 3, расположенных в произвольном порядке.
Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы.
Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.
НАЧАЛО
ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)
ЕСЛИ нашлось (>1)
ТО заменить (>1, 22>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>2)
ТО заменить (>2, 2>)
КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (>3)
ТО заменить (>3, 1>)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Посмотреть ответ. Посмотреть решение.
15. На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Какова длина самого длинного пути из города А в город М? Длиной пути считать количество дорог, составляющих этот путь.
Посмотреть ответ. Посмотреть решение.
16. Значение арифметического выражения: – записали в системе счисления с основанием 3. Сколько цифр 2 содержится в этой записи?
Посмотреть ответ. Посмотреть решение.
17. В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос | Найдено страниц (в сотнях тысяч) |
Физика | 46 |
Квант | 34 |
Ньютон | 34 |
Ньютон | Физика | Квант | 90 |
Ньютон & Физика | 12 |
Ньютон & Квант | 0 |
Какое количество страниц (в сотнях тысяч) будет найдено по запросу Физика & Квант?
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов
Посмотреть ответ. Посмотреть решение.
18. Для какого наименьшего целого неотрицательного числа А выражение
тождественно истинно, т.е. принимает значение 1 при любых целых неотрицательных x и y?
Посмотреть ответ. Посмотреть решение.
19. В программе используется одномерный целочисленный массив A с индексами от 0 до 11. Значения элементов массива A[i] приведены в таблице.
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
A[i] | 14 | 13 | 15 | 8 | 4 | 12 | 30 | 21 | 22 | 16 | 5 | 9 |
Определите значение переменной s после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).
Бейсик | Python |
s = 0 n = 1 FOR i = 0 TO 11 IF A(i) > A(n) THEN s = s + A(i) + i ELSE A(n) = A(i) END IF NEXT i |
s = 0 n = 1 for i in range(0, 12): if A[i] > A[n]: s += A[i] + i else: A[n] = A[i] |
Алгоритмический язык | Паскаль |
s := 0 n := 1 нц для i от 0 до 11 если A[i] > A[n] то s := s + A[i] + i иначе A[n] := A[i] все кц |
s := 0; n := 1; for i := 0 to 11 do if A[i] > A[n] then s := s + A[i] + i else A[n] := A[i]; |
С++ | |
s = 0; n = 1; for (int i = 0; i < 12; i++) { if (A[i] > A[n]) s += A[i] + i; else A[n] = A[i]; } |
Посмотреть ответ. Посмотреть решение.
20. Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм выводит сначала 2, а потом 3.
Бейсик | Python |
DIM X, L, M AS INTEGER INPUT X L = 0 M = 0 WHILE X > 0 M = M + 1 IF X MOD 2 <> 0 THEN L = L + X MOD 8 END IF X = X 8 WEND PRINT L PRINT M |
x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + x % 8 x = x // 8 print(L) print(M) |
Алгоритмический язык | Паскаль |
алг нач цел x, L, M ввод x L := 0 M := 0 нц пока x > 0 M := M + 1 если mod(x, 2) <> 0 то L := L + mod(x, 8) все x := div(x, 8) кц вывод L, нс, M кон |
var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + x mod 8; x := x div 8 end; writeln(L); writeln(M) end. |
С++ | |
#include <iostream> using namespace std; int main(){ int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if(x % 2 != 0) { L = L + x % 8; } x = x / 8; } cout << L << endl << M << endl; return 0; } |
Посмотреть ответ. Посмотреть решение.
21. Определите наибольшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 27. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик | Python |
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < G(K) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 2 * N + 2 END FUNCTION |
def F(n): return n*n*n def G(n): return 2 * n + 2 k = int(input()) i = 1 while F(i) < G(k): i+=1 print (i) |
Алгоритмический язык | Паскаль |
алг нач цел i, k ввод k i := 1 нц пока f(i) < g(k) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 2 * n + 2 кон |
var k, i : longint; function F(n: longint): longint; begin F := n * n * n; end; function G(n: longint): longint; begin G := 2 * n + 2; end; begin readln(k); i := 1; while F(i) < G(k) do i := i + 1; writeln(i) end. |
С++ | |
#include <iostream> using namespace std; long F(long n) { return n * n * n; } long G(long n) { return 2 * n + 2; } int main() { long k, i; cin >> k; i = 1; while(F(i) < G(k)) i++; cout << i; return 0; } |
Посмотреть ответ. Посмотреть решение.
22. Исполнитель Вычислитель преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для Вычислителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1 результатом является число 21 и при этом траектория вычислений содержит число 10 и не содержит числа 18?
Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Посмотреть ответ. Посмотреть решение.
23. Сколько существует различных наборов значений логических переменных которые удовлетворяют всем перечисленным ниже условиям?
В ответе не нужно перечислять все различные наборы значений переменных , при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
Посмотреть ответ. Посмотреть решение.
24.
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее , и выводит число, равное количеству цифр 4 в десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования.
Бейсик | Python |
DIM N AS LONG DIM R, d AS INTEGER INPUT N R = 0 WHILE N > 0 d = N MOD 10 IF d <> 4 THEN R = R + d END IF N = N 10 WEND PRINT R EN |
N = int(input()) R = 0 while N > 0: d = N % 10 if d != 4: R = R + d N = N // 10 print(R) |
Алгоритмический язык | Паскаль |
алг нач цел N, R, d ввод N R := 0 нц пока N > 0 d := mod(N, 10) если d <> 4 то R := R + d все N := div(N, 10) кц вывод R кон |
var N: longint; R, d: integer; begin readln(N); R := 0; while N > 0 do begin d := N mod 10; if d <> 4 then R := R + d; N := N div 10; end; writeln(R); end |
С++ | |
#include <iostream> using namespace std; int main() { long int N; int R, d; cin >> N; R = 0; while (N > 0) { d = N % 10; if (d != 4) { R = R + d; } N = N / 10; } cout << R << endl; return 0; } |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 241.
2. Приведите пример входного числа N, при котором приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Посмотреть ответ. Посмотреть решение.
25. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденному количеству.
Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
141
256
92
148
511
4
программа должна вывести следующий массив:
2
256
92
148
2
4
Исходные данные объявлены так, как показано ниже на примерах для пяти языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
Бейсик | Python |
CONST N AS INTEGER = 30 DIM A (1 TO N) AS LONG DIM I AS LONG, J AS LONG, K AS LONG FOR I = 1 TO N INPUT A(I) NEXT I ... END |
# допускается также # использовать две # целочисленные переменные j и k a = [] n = 30 for i in range(0, n): a.append(int(input())) ... |
Алгоритмический язык | Паскаль |
алг нач цел N = 30 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон |
const N = 30; var a: array [1..N] of longint; i, j, k: longint; begin for i := 1 to N do readln(a[i]); ... end. |
С++ | |
#include <iostream> using namespace std; const int N = 30; int main() { long a[N]; long i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; } |
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
Посмотреть ответ. Посмотреть решение.
26. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или четыре камня либо увеличить количество камней в куче в пять раз. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 19 или 75 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится не менее 63.
Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 63 или больше камней.
В начальный момент в куче было S камней; 1 ≤ S ≤ 62.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.
Выполните следующие задания. Во всех случаях обосновывайте свой ответ.
Задание 1
а) Укажите все такие значения числа S, при которых Петя может выиграть за один ход.
б) Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. Опишите выигрышную стратегию Вани.
Задание 2
Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Для каждого указанного значения S опишите выигрышную стратегию Пети.
Задание 3
Укажите значение S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Для указанного значения S опишите выигрышную стратегию Вани.
Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах – количество камней в куче.
Дерево не должно содержать партии, невозможные при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.
Посмотреть ответ. Посмотреть решение.
27.
Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, разность которых чётна, и в этих парах, по крайней мере, одно из чисел пары делится на 17. Порядок элементов в паре неважен. Среди всех таких пар нужно найти и вывести пару с максимальной суммой элементов. Если одинаковую максимальную сумму имеет несколько пар, можно вывести любую из них. Если подходящих пар в последовательности нет, нужно вывести два нуля.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (2 ≤ N ≤ 10 000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000.
Пример входных данных:
5
34
12
51
52
51
Пример выходных данных для приведённого выше примера входных данных:
51 51
Пояснение. Из данных пяти чисел можно составить три различные пары, удовлетворяющие условию: (34, 12), (34, 52), (51, 51). Наибольшая сумма получается в паре (51, 51). Эта пара допустима, так как число 51 встречается в исходной последовательности дважды.
Напишите эффективную по времени и памяти программу для решения этой задачи.
Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N. Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и памяти, – 4 балла.
Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла.
Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.
Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.
Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.
Посмотреть ответ. Посмотреть решение.
Спасибо за то, что пользуйтесь нашими материалами.
Информация на странице «Досрочный ЕГЭ 2020 года, Информатика» подготовлена нашими редакторами специально, чтобы помочь вам в освоении предмета и подготовке к экзаменам.
Чтобы успешно сдать необходимые и поступить в ВУЗ или колледж нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий.
Также вы можете воспользоваться другими материалами из данного раздела.
Публикация обновлена:
08.03.2023
Досрочный вариант 2 ЕГЭ 2020 по информатике. Варианты ЕГЭ досрочного периода 2020 года по информатике и ИКТ. Ответы и Критерии
ege-inf-dosroch-2020-var2
Ответы и Критерии
ege-inf-dosroch-2020-var2-otvet
ege-inf-dosroch-2020-var2-kriter
Смотрите также:
Досрочный вариант 1 ЕГЭ 2020 по информатике