К.Ю. Поляков ЕГЭ по информатике: 2015 и далее… К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 2 Структурные изменения 1) уменьшение части А (А1-А3) 2) сокращение количества задач 3) объединение простых задач (3, 6, 7, 9) Цель: оставить больше времени на решение сложных задач. 4) повышение роли части С без части С: 2014: 73 балла 2015: 70 баллов 5) язык Python 6) ! Вариабельность! К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 3 A1: кодирование и декодирование Сообщения, содержат буквы П, О, С, Т; используется двоичный код, допускающий однозначное декодирование. Кодовые слова: Т: 111, О: 0, П: 100. Укажите кратчайшее кодовое слово для буквы С, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением. 1 0x 10 0xx К.Ю. Поляков, 2015 11 101 110 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 4 A1: кодирование и декодирование Сообщения содержат три гласные буквы: А, Е, И – и пять согласных букв: Б, В, Г, Д, К. Буквы кодируются префиксным кодом. Известно, что все кодовые слова для согласных имеют одну и ту же длину, и А –1, Е – 01, И – 001. Какова наименьшая возможная длина кодовых слов для согласных букв? 5 согласных букв 3 бита 4 бита 5 бит 4: 1xx 2: 01x 1: 001 свободны: 000 000x 000xx 1 2 4 К.Ю. Поляков, 2015 6 бит 000xxx 8 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 5 А2: таблица истинности x1 1 x2 0 x3 x4 x5 x6 0 1 x7 x8 1 1 F 0 1 1 1) «в лоб» – подставлять в формулы… 2) если все «ИЛИ» один ноль проверяем строку, где F = 0 x2 без инверсии, x8 с инверсией 3) если все «И» одна единица ? Может ли быть иначе? К.Ю. Поляков, 2015 Да! Но это не базовый уровень! http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 6 А3-2: табличные базы данных 1) сколько потомков (детей, внуков, правнуков…) у X? 2) сколько предков X есть в таблице? 23 24 25 К.Ю. Поляков, 2015 34 57 35 42 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 7 B4: системы счисления Сколько единиц в двоичной записи десятичного числа 999? 1) «в лоб» – переводить… 2) 999 = 1023 – 16 – 8 1023 = 1024 – 1 = 11111111112 минус две единицы: 8 519? 519 = 512 + 7 512 = 10000000002 7 = 1112 плюс три единицы: 4 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 8 B4: системы счисления Укажите наименьшее число, двоичная запись которого содержит ровно три значащих нуля и три единицы. Ответ запишите в десятичной системе счисления 1000112 = 35 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 9 B4: системы счисления Какое из указанных ниже чисел может быть записано в двоичной системе счисления в виде 1xxx10, где x может означать как 0, так и 1? 1) 74 2) 38 3) 60 4) 47 1) 1000102 = 34 N 1111102 = 62 2) 1xxx10 делится на 2 3) 1xxx10 не делится на 4 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 10 B5: весовые матрицы графов A A B C D E F Z B 4 C 6 3 D E F 11 4 5 7 4 Z 30 27 10 8 2 29 1) матрица несимметричная (орграф) 2) две дороги с односторонним движением 3) «сколько есть дорог проходящих через N пунктов?» 4) «… не менее, чем через N пунктов?» К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 11 B6-1: автомат Вход: четырёхзначное число. 1. Складываются первая и последняя, а также вторая и третья цифры исходного числа. 2. Полученные два числа записывают в порядке убывания. Пример. Исходное число: 2357. Суммы: 2 + 7 = 9; 3 + 5 = 8. Результат: 98. Укажите наименьшее число, в результате обработки которого автомат выдаст число 1512. 12 = 3 + 9 15 = 6 + 9 К.Ю. Поляков, 2015 3699 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 12 B12: адресация в сетях IP-адрес 224.128.112.142 Адрес сети 224.128.64.0. Чему равен третий слева байт маски? не забываем про *.*.112.* старшие единицы! *.*.64.0 маска: 110000002 = 192 192 112 = 011100002 64 = 010000002 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 13 B14: Чертёжник сместиться на (–3, –3) 1) ПОВТОРИ N РАЗ 2) сместиться на (a, b) 3) сместиться на (27, 12) 4) КОНЕЦ ПОВТОРИ сместиться на (–22, -7) 3 N x 22 0 3 N y 7 0 наименьшее N > 1 наибольшее N все возможные N сумма всех N N x 25 N y 10 N = общий делитель(25,10) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 14 B15: количество путей в графах Сколько существует различных путей из города А в город Л, не проходящих через B? Д Б Ж В А Г К.Ю. Поляков, 2015 И Е Л К http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 15 B15: количество путей в графах Сколько существует различных путей из города А в город Л, проходящих через Д? Д Б И Ж В А Г К.Ю. Поляков, 2015 Е Л К http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 16 B16: системы счисления Сколько единиц содержится в двоичной записи числа (24400–1)·(42200+2)? (24400–1)·(42200+2) = (24400–1)·(24400+1+1) = (24400–1)·(24400+1) + 24400–1 = 28800 – 1 + 24400–1 = 28800 + 24400 – 21 1 4399 1 + 4399 = 4400 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 18 B16: системы счисления Сколько единиц содержится в двоичной записи значения числа 8148 – 4123 + 2654 – 17? 8148 = 2444 4123 = 2246 2654 17 = 16 + 1 = 24 + 2 0 2654 + 2444 – 2246 – 24 – 20 444 – 2246 – 24 – 20 2 1 444 – 2 1 + 444 – 2 = 443 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 19 B17: запросы в поисковых системах Запрос США | Япония | Китай Япония | Китай (США & Япония) | (США & Китай) США A = США B = Япония | Китай Запрос А|B B А&B A NА | B = NA + NB – NA & B К.Ю. Поляков, 2015 Страниц 450 260 50 ? Страниц 450 260 50 ? NA = 450 – 260 + 50 = 240 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 20 B18: логические операции, множества P = [37; 60] и Q = [40; 77]. Укажите наименьшую возможную длину такого отрезка A, что выражение ( x P) ((( x Q) ( x A)) ( x P)) тождественно истинно, то есть равно 1 при любом значении переменной х. P ( x P), Q ( x Q), A ( x A) P (Q A P ) P (Q A P ) P QA P P QA PQA P Q К.Ю. Поляков, 2015 P 37 40 60 77 x 20 Q http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 21 B18: логические операции, множества Множество А: натуральные числа. Выражение (x {2, 4, 6, 8, 10, 12}) → (((x {4, 8, 12, 116}) ¬(x A)) → ¬(x {2, 4, 6, 8, 10, 12})) истинно при любом значении х. Определите наименьшее возможное значение суммы элементов множества A. P x {2, 4, 6, 8, 10, 12}, Q x {4, 8, 12, 116}, A x A P (Q A P ) PQA Amin P Q P Q {4, 8, 12} К.Ю. Поляков, 2015 = 24 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 22 B19: обработка массивов Массив с индексами от 0 до 9. c:= 0; for i:= 1 to 9 do if A[i-1] < A[i] then begin c:= c + 1; t:= A[i]; перестановка пары A[i]:= A[i-1]; при сортировке A[i-1]:= t пузырьком end; Какое значение будет иметь переменная «c»? К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 23 B19: обработка массивов 1) 2) 3) 4) 5) 6) 6 9 9 9 9 9 9 9 6 7 7 7 7 7 7 7 6 6 6 6 6 2 2 2 2 2 2 2 1 1 1 5 5 5 5 5 5 5 1 1 1 1 0 0 0 0 3 3 3 3 3 3 3 0 4 4 4 4 4 4 4 0 8 8 8 8 8 8 8 0 с=6 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 24 B19: обработка массивов Массив с индексами от 0 до 10. s:=0; n:=10; for i:=0 to n-2 do begin s:=s+A[i]-A[i+2] end; В массиве находились трёхзначные натуральные числа. Какое наибольшее значение может иметь «s»? s:=A[0]-A[2]+A[1]-A[3]+A[2]-... +A[6]-A[8]+A[7]-A[9]+A[8]-A[10] max = 999 + 999 – 100 – 100 = 1798 1798 К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 25 B20: циклы и условия Укажите наименьшее пятизначное число x, при котором будет напечатано сначала 6, а потом 3. a := 0; b := 10; readln(x); while x > 0 do begin y := x mod 10; x := x div 10; 33336 if y > a then a := y; if y < b then b := y; end; writeln(a); { максимальная цифра } writeln(b); { минимальная цифра } К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 26 B21: циклы и процедуры Найдите число различных значений k, при которых программа выдаёт тот же ответ, что и при k = 36. function f(n: longint): longint; begin i f(i) f:= n*(n-1)+10 1 10 end; … 2 12 readln(k); 3 16 i:= 0; 4 22 while f(i) < k do 5 30 36 i:= i + 1; writeln(i); 6 40 Останов: k <= f(i) 31 … 40 10 К.Ю. Поляков, 2015 ? Для k = 30? 23 … 30 8 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 27 C24: исправление ошибок Считывается натуральное число x, нужно найти количество значащих цифр в его двоичной записи. readln(x); c:= 0; while x > 0 do begin ? Что считает? c:= c + x mod 2; x:= x div 10 end; ? Когда работает верно? writeln(c) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 28 С27: сложная задача на программирование Для заданной последовательности неотрицательных целых чисел необходимо найти максимальное произведение двух её элементов, номера которых различаются не менее чем на 8. Количество элементов последовательности не превышает 10000. Задача А (2 балла). O(N2) по времени, O(N) по памяти. Задача Б (3 балла). O(N) по времени, O(N) по памяти. Задача Б (4 балла). O(N) по времени, O(1) по памяти. К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 29 С27: сложная задача на программирование Задача А (2 балла). Данные хранятся в массиве. var N: integer; a: array[1..10000] of integer; i, j, max: integer; begin readln(N); for i:=1 to N do read(a[i]); max:= 0; for i:= 9 to N do for j:= 1 to i-8 do if a[j]*a[i] > max then max := a[j]*a[i]; writeln(max) end. К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 30 С27: сложная задача на программирование Задача Б (3 балла). Данные в массиве, время O(N). i-8 i a[i] m накапливать! max a[ j ] a[i] max a[ j ] a[i] j j max:= 0; m:= 0; for i:= 9 to N do begin if a[i-8] > m then m := a[i-8]; if m*a[i] > max then max := m*a[i]; end; К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 31 С27: сложная задача на программирование Задача Б (4 балла). Память O(1), время O(N). i-8 i храним в массиве var a: array[1..8] of integer; x Начальное заполнение массива: for i:=1 to 8 do read(a[i]); Продвижение: for i:=1 to 7 do a[i]:=a[i+1]; a[8]:= x; К.Ю. Поляков, 2015 ! Это очередь! http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 32 С27: сложная задача на программирование Задача Б (4 балла). Память O(1), время O(N). a[1] x const d = 8; { сдвиг } ... { уже прочитали первые d штук } max:= 0; m:= 0; for i:=d+1 to N do begin read(x); if a[1] > m then m:= a[1]; if m*x > max then max:= m*x; for j:=1 to d-1 do a[j]:= a[j+1]; a[d]:= x; end; К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 33 С27: сложная задача на программирование Задача Б (4 балла). Без сдвига (очередь-кольцо). i 0 1 2 3 9 1 5 6 7 k 0 a 4 10 2 11 3 12 4 5 8 9 N-1 10 11 12 13 14 15 16 17 18 7 6 7 8 a[i mod d]:= data[i]; for i:=0 to d-1 do read(a[i]); for i:=d to N-1 do begin read(x); k:= i mod d; if a[k] > m then m := a[k]; if m*x > max then max := m*x; a[k]:=x; end; К.Ю. Поляков, 2015 http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 34 Выводы ! К.Ю. Поляков, 2015 Вариабельность! http://kpolyakov.spb.ru ЕГЭ по информатике: 2015 и далее… 35 Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru К.Ю. Поляков, 2015 http://kpolyakov.spb.ru