Демоверсия ЕГЭ 2017 по информатике от ФИПИ — задания, ответы и критерии
Официальный демонстрационный вариант КИМ ЕГЭ 2017 года по информатике, опубликованный ФИПИ: 27 заданий, 3 ч 55 мин на выполнение, максимум 35 первичных баллов. Ниже — PDF для скачивания и просмотра, текст заданий, ответы и критерии оценивания части 2.
Задания демоверсии ЕГЭ 2017 по информатике — текст
Текст извлечён из официального PDF ФИПИ автоматически: формулы, таблицы и рисунки могут отображаться неточно — сверяйтесь с документом выше.
ИНФОРМАТИКА и ИКТ, 11 класс.
Единый государственный экзамен по ИНФОРМАТИКЕ и ИКТ
Демонстрационный вариант контрольных измерительных материалов единого государственного экзамена 2017 года по информатике и ИКТ
подготовлен Федеральным государственным бюджетным научным учреждением «ФЕДЕРАЛЬНЫЙ ИНСТИТУТ ПЕДАГОГИЧЕСКИХ ИЗМЕРЕНИЙ»
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Единый государственный экзамен по ИНФОРМАТИКЕ и ИКТ Пояснения к демонстрационному варианту контрольных измерительных материалов единого государственного экзамена 2017 года по ИНФОРМАТИКЕ и ИКТ При ознакомлении с демонстрационным вариантом контрольных измерительных материалов ЕГЭ 2017 г. следует иметь в виду, что задания, включённые в него, не отражают всех вопросов содержания, которые будут проверяться с помощью вариантов КИМ в 2017 г. Полный перечень вопросов, которые могут контролироваться на едином государственном экзамене 2017 г., приведён в кодификаторе элементов содержания и требований к уровню подготовки выпускников образовательных организаций для проведения единого государственного экзамена 2017 г. по информатике и ИКТ. Назначение демонстрационного варианта заключается в том, чтобы дать возможность любому участнику ЕГЭ и широкой общественности составить представление о структуре будущих КИМ, количестве заданий, об их форме и уровне сложности. Приведённые критерии оценки выполнения заданий с развёрнутым ответом, включённые в этот вариант, дают представление о требованиях к полноте и правильности записи развёрнутого ответа. Эти сведения позволят выпускникам выработать стратегию подготовки к ЕГЭ.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Демонстрационный вариант контрольных измерительных материалов для проведения в 2017 году единого государственного экзамена по ИНФОРМАТИКЕ и ИКТ Инструкция по выполнению работы Экзаменационная работа состоит из двух частей, включающих в себя 27 заданий. Часть 1 содержит 23 задания с кратким ответом. Часть 2 содержит 4 задания с развёрнутым ответом. На выполнение экзаменационной работы по информатике и ИКТ отводится 3 часа 55 минут (235 минут). Ответы к заданиям 1–23 записываются в виде числа, последовательности букв или цифр. Ответ запишите в поле ответа в тексте работы, а затем перенесите в бланк ответов №
1. КИМ
Ответ: 23 . Задания 24–27 требуют развёрнутого решения. В бланке ответов № 2 укажите номер задания и запишите его полное решение. Все бланки ЕГЭ заполняются яркими чёрными чернилами. Допускается использование гелевой, или капиллярной, или перьевой ручки. При выполнении заданий можно пользоваться черновиком. Записи в черновике не учитываются при оценивании работы. Баллы, полученные Вами за выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать наибольшее количество баллов. Желаем успеха!
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В экзаменационных заданиях используются следующие соглашения. 1. Обозначения для логических связок (операций): a) отрицание (инверсия, логическое НЕ) обозначается (например, А); b) конъюнкция (логическое умножение, логическое И) обозначается /\ (например, А /\ В) либо & (например, А & В); c) дизъюнкция (логическое сложение, логическое ИЛИ) обозначается \/ (например, А \/ В) либо | (например, А | В); d) следование (импликация) обозначается → (например, А → В); e) тождество обозначается ≡ (например, A ≡ B). Выражение A ≡ B истинно тогда и только тогда, когда значения A и B совпадают (либо они оба истинны, либо они оба ложны); f) символ 1 используется для обозначения истины (истинного высказывания); символ 0 – для обозначения лжи (ложного высказывания). 2. Два логических выражения, содержащих переменные, называются равносильными (эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (А) \/ В равносильны, а А \/ В и А /\ В неравносильны (значения выражений разные, например, при А = 1, В = 0). 3. Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование), тождество. Таким образом, А /\ В \/ С /\ D означает то же, что и ((А) /\ В) \/ (С /\ D). Возможна запись А /\ В /\ С вместо (А /\ В) /\ С. То же относится и к дизъюнкции: возможна запись А \/ В \/ С вместо (А \/ В) \/ С.
4. Обозначения
Мбайт и Кбайт используются в традиционном для информатики смысле – как обозначения единиц измерения, чьё соотношение с единицей «байт» выражается степенью двойки.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Часть 1 Ответами к заданиям 1–23 являются число, последовательность букв или цифр, которые следует записать в БЛАНК ОТВЕТОВ № 1 справа от номера соответствующего задания, начиная с первой клеточки, без пробелов, запятых и других дополнительных символов. Каждый символ пишите в отдельной клеточке в соответствии с приведёнными в бланке образцами. 1
Сколько существует натуральных чисел x, для которых выполнено неравенство 110111002 < x < DF16? В ответе укажите только количество чисел, сами числа писать не нужно. Ответ: ___________________________.
Логическая функция F задаётся выражением x /\ ¬y /\ (¬z \/ w). На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z. Перем. 1 ??? 0 0 1
Перем. 2 ??? 0 0 0
Перем. 3 ??? 1 1 1
Перем. 4 Функция ??? F 0 1 1 1 1 1
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая первому столбцу; затем – буква, соответствующая второму столбцу, и т.д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Пример. Если бы функция была задана выражением ¬x \/ y, зависящим от двух переменных: x и y, и был приведён фрагмент её таблицы истинности, содержащий все наборы аргументов, при которых функция F истинна. Перем. 1 ??? 0 1 1
Перем. 2 ??? 0 0 1
Функция F 1 1 1
Тогда первому столбцу соответствовала бы переменная y, а второму столбцу – переменная x. В ответе следовало бы написать: yx. Ответ: ___________________________.
На рисунке справа схема дорог Н-ского района изображена в виде графа; в таблице слева содержатся сведения о протяжённости каждой из этих дорог (в километрах). П1 П2 П3 П4 П5 П6 П1 10 8 5 П2 10 20 12 П3 4 П4 20 4 15 П5 8 12 15 7 П6 5 7
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова протяжённость дороги из пункта Б в пункт В. В ответе запишите целое число – так, как оно указано в таблице. Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Ниже представлены две таблицы из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных ID племянницы Иваненко М.И. В ответе запишите только цифры ID. Пояснение: племянницей считается дочь брата или сестры. ID 1015 1023 1033 1035 1043 1073 2022 2024 2032 2042 2044 2046 2052 …
Таблица 1 Фамилия_И.О. Пол Иваненко Н.А. Ж Иваненко М.И. М Будай В.С. Ж Будай С.С. М Коладзе Л.А. М Будай М.А. Ж Иваненко И.М. М Иваненко М.М. М Будай А.И. Ж Коладзе А.С. Ж Родэ О.С. М Родэ М.О. М Ауэрман А.М. Ж … …
Таблица 2 ID_Родителя ID_Ребёнка 1015 1035 1023 2024 1023 2052 1035 1033 1035 2044 1073 2052 1073 2024 2022 1023 2022 2032 2032 1033 2032 2044 2042 2032 2042 1023 … …
Ответ: ___________________________. 5
Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0; для буквы Б – кодовое слово 10. Какова наименьшая возможная сумма длин всех шести кодовых слов? Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений. Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам. 1. Складываются первая и вторая, а также вторая и третья цифры исходного числа. 2. Полученные два числа записываются друг за другом в порядке убывания (без разделителей). Пример. Исходное число: 348. Суммы: 3 + 4 = 7; 4 + 8 = 12. Результат: 127. Укажите наименьшее число, в результате обработки которого автомат выдаст число 1711. Ответ: ___________________________.
Дан фрагмент электронной таблицы. Из ячейки A2 в ячейку B3 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Запишите в ответе числовое значение формулы в ячейке B3. А
=C$2+D$3
Примечание: знак $ обозначает абсолютную адресацию. Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Определите, какое число будет напечатано в результате выполнения программы, записанной ниже на пяти языках программирования. Бейсик
Python
DIM N, S AS INTEGER N = 1 S = 0 WHILE N <= 150 S = S + 30 N = N * 5 WEND PRINT S
n = 1 s = 0 while n <= 150: s = s + 30 n = n * 5 print(s)
Алгоритмический язык
Паскаль
алг нач цел n, s n := 1 s := 0 нц пока n <= 150 s := s + 30 n := n * 5 кц вывод s кон
var n, s: integer; begin n := 1; s := 0; while n <= 150 do begin s := s + 30; n := n * 5 end; write(s) end.
Си #include<stdio.h> int main() { int n, s; n = 1; s = 0; while (n <= 150) { s = s + 30; n = n * 5; } printf("%d", s); return 0; }
Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Для хранения произвольного растрового изображения размером 1024×1024 пикселей отведено 512 Кбайт памяти, при этом для каждого пикселя хранится двоичное число – код цвета этого пикселя. Для каждого пикселя для хранения кода выделено одинаковое количество бит. Сжатие данных не производится. Какое максимальное количество цветов можно использовать в изображении? Ответ: ___________________________.
Вася составляет 5-буквенные слова, в которых встречаются только буквы А, Б, В, Г, причём буква А появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася? Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Ниже на пяти языках программирования записан рекурсивный алгоритм F. Бейсик
Python
DECLARE SUB F(n) SUB F(n) IF n > 2 THEN PRINT n F(n - 3) F(n – 4) END IF END SUB
def F(n): if n > 2: print(n) F(n - 3) F(n – 4)
Алгоритмический язык
Паскаль
алг F(цел n) нач если n > 2 то вывод n, нс F(n - 3) F(n – 4) все кон
procedure F(n: integer); begin if n > 2 then begin writeln(n); F(n - 3); F(n – 4) end end;
Си void F(int n) { if (n > 2) { printf("%d\n", n); F(n - 3); F(n – 4); } }
Чему равна сумма напечатанных на экране чисел при выполнении вызова F(10)? Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданным IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 119.83.208.27 адрес сети равен 119.83.192.0. Каково наименьшее возможное количество единиц в разрядах маски? Ответ: ___________________________.
При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 9 символов. Из соображений информационной безопасности каждый пароль должен содержать хотя бы 1 десятичную цифру, как прописные, так и строчные латинские буквы, а также не менее 1 символа из 6-символьного набора: «&», «#», «$», «*», «!», «@». В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 500 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт. Примечание. В латинском алфавите 26 букв. Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 69 идущих подряд цифр 8? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (3333) ИЛИ нашлось (8888) ЕСЛИ нашлось (3333) ТО заменить (3333, 88) ИНАЧЕ заменить (8888, 33) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город М, проходящих через город В?
Ответ: ___________________________.
Значение арифметического выражения: 918 + 354 – 9 – записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи? Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Запрос Бабочка Гусеница Трактор Бабочка & Гусеница Трактор & Гусеница Трактор & Бабочка
Найдено страниц (в сотнях тысяч) 22 40 28 20 16 0
Какое количество страниц (в сотнях тысяч) будет найдено по запросу Трактор | Бабочка | Гусеница? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов. Ответ: ___________________________.
Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n. Так, например, 14&5 = 11102&01012 = 01002 =
4. Для какого наименьшего неотрицательного целого числа
А формула x&51 = 0 \/ (x&41 = 0 → x&А ≠ 0) тождественно истинна (т.е. принимает значение 1 при неотрицательном целом значении переменной х)?
любом
Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 1, 2, 5, 8, 9, 3, 4, 0, 7, 6 соответственно, т.е. A[0] = 1, A[1] = 2 и т.д. Определите значение переменной j после выполнения следующего фрагмента программы (записанного ниже на пяти языках программирования). Бейсик
Python
j = 5 WHILE A(j) < A(j-1) t = A(j) A(j) = A(j-1) A(j-1) = t j = j - 1 WEND
j = 5 while A[j] < A[j-1]: A[j],A[j-1]=A[j-1],A[j] j -= 1
Алгоритмический язык
Паскаль
j := 5 нц пока A[j] < A[j-1] t := A[j] A[j] := A[j-1] A[j-1] := t j := j - 1 кц
j := 5; while A[j] < A[j-1] do begin t := A[j]; A[j] := A[j-1]; A[j-1] := t; j := j - 1; end;
Си j = 5; while (A[j] < A[j-1]) { t = A[j]; A[j] = A[j-1]; A[j-1] = t; j -= 1; }
Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число R. Укажите такое число x, при вводе которого алгоритм печатает двузначное число, сумма цифр которого равна 16. Если таких чисел x несколько, укажите наименьшее из них. Бейсик
Python
DIM X,D,R AS LONG INPUT X R = 0 WHILE X>0 D = X MOD 10 R = 10*R + D X = X \ 10 WEND PRINT R
x = int(input()) R = 0 while x>0: d = x % 10 R = 10*R + d x = x // 10 print(R)
Алгоритмический язык
Паскаль
алг нач цел x, d, R ввод x R := 0 нц пока x>0 d := mod(x, 10) R := 10*R + d x := div(x, 10) кц вывод R кон
var x,d,R: longint; begin readln(x); R := 0; while x>0 do begin d := x mod 10; R := 10*R + d; x := x div 10 end; writeln(R) end.
Си #include <stdio.h> int main() { long x,d,R; scanf("%ld", &x); R = 0; while (x>0) { d = x % 10; R = 10*R + d; x = x / 10; } printf("%ld", R); return 0; }
Ответ: ___________________________. Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования). Бейсик
Python
DIM A, B, N, t AS INTEGER A = -100: B = 100 N = 0 FOR t = A TO B IF F(t) <= 0 THEN N = N + 1 END IF NEXT t PRINT N
def f(x): return (x - 16)*(x + 25)
FUNCTION F (x) F = (x - 16)*(x + 25) END FUNCTION
a = -100 b = 100 n = 0 for t in range(a, b + 1): if f(t) <= 0: n = n + 1 print(n)
Алгоритмический язык
Паскаль
алг нач цел a, b, N, t a := -100; b := 100 N := 0 нц для t от a до b если F(t) <= 0 то N := N + 1 все кц вывод N кон алг цел F(цел x) нач знач := (x - 16)*(x + 25) кон
var a, b, N, t: integer; Function F(x: integer):integer; begin F := (x - 16)*(x + 25) end; begin a := -100; b := 100; N := 0; for t := a to b do begin if (F(t) <= 0) then N := N + 1 end; write(N) end.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Си #include<stdio.h> int F(int x) { return (x - 16)*(x + 25); } void main() { int a, b, N, t; a = -100; b = 100; N = 0; for (t = a; t <= b; t++) { if (F(t) <= 0) { N++; } } printf("%d", N); }
Ответ: ___________________________.
Исполнитель А16 преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 3. Умножить на 2 Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает его на 2. Программа для исполнителя А16 – это последовательность команд. Сколько существует таких программ, которые исходное число 3 преобразуют в число 12 и при этом траектория вычислений программы содержит число 10? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18. Ответ: ___________________________.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Сколько существует различных наборов значений логических переменных x1, x2, … x6, y1, y2, … y6, которые удовлетворяют всем перечисленным ниже условиям? (x1 → (x2 /\ y1)) /\ (y1 → y2) = 1 (x2 → (x3 /\ y2)) /\ (y2 → y3) = 1 … (x5 → (x6 /\ y5)) /\ (y5 → y6) = 1 x6 → y6 = 1 В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x6, y1, y2, … y6, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов. Ответ: ___________________________.
Не забудьте перенести все ответы в бланк ответов № 1 в соответствии с инструкцией по выполнению работы.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Часть 2 Для записи ответов на задания этой части (24–27) используйте БЛАНК ОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво. 24
Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 3. То есть требуется определить, существует ли такое целое число K, что 3K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования. Бейсик
Python
DIM N, K AS INTEGER INPUT N K = 0 WHILE K MOD 3 = 0 K = K + 1 N = N \ 3 WEND IF N > 0 THEN PRINT K ELSE PRINT "Не существует" END IF END
n = int(input()) k = 0 while k%3 == 0: k = k + 1 n = n // 3 if n > 0: print(k) else: print("Не существует")
Алгоритмический язык
Паскаль
алг нач цел n, k ввод n k := 0 нц пока mod(k, 3)=0 k := k + 1 n := div(n,3) кц если n > 0 то вывод k иначе вывод "Не существует" все кон
var n, k: integer; begin read(n); k := 0; while k mod 3 = 0 do begin k := k + 1; n := n div 3; end; if n > 0 then writeln(k) else writeln('Не существует') end.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Си #include <stdio.h> int main(){ int n, k; scanf("%d",&n); k = 0; while (k%3 == 0) { k = k + 1; n = n / 3; } if (n > 0) printf("%d", k); else printf("Не существует"); return 0; }
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа
9. 2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Бейсик
Python
CONST N = 40 DIM A (1 TO N) AS INTEGER DIM I, J, K, AS INTEGER
//допускается также использовать //две целочисленные переменные j и k a = [] n = 40 for i in range(0, n): a.append(int(input())) ...
FOR I = 1 TO N INPUT A(I) NEXT I ... END
Алгоритмический язык
Паскаль
алг нач
const N = 40; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ...
цел N = 40 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ...
end.
Естественный язык Объявляем массив A из 40 элементов. Объявляем целочисленные переменные I, J, K. В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й. …
#include <stdio.h> #define N 40 int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) scanf("%d", &a[i]); ... return 0; }
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке). 26
Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 20. Если при этом в куче оказалось не более 30 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 17 камней и Паша удвоит количество камней в куче, то игра закончится, и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 19. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Выполните следующие задания. 1. а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши. б) У кого из игроков есть выигрышная стратегия при S = 18, 17, 16? Опишите выигрышные стратегии для этих случаев. 2. У кого из игроков есть выигрышная стратегия при S = 9, 8? Опишите соответствующие выигрышные стратегии. 3. У кого из игроков есть выигрышная стратегия при S = 7? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах – количество камней в позиции.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Вам предлагается два задания с похожими условиями: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Задание Б более сложное, его решение оценивается выше. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. Напишите программу для решения этой задачи. В этом варианте задания оценивается только правильность программы, время работы и размер использованной памяти не имеют значения. Максимальная оценка за правильную программу – 2 балла. Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. Напишите программу для решения этой задачи. Постарайтесь сделать программу эффективной по времени и используемой памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта. Максимальная оценка за правильную программу, эффективную по времени и памяти, – 4 балла. Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, – 3 балла. Как в варианте А, так и в варианте Б программа должна напечатать одно число – максимально возможную сумму, соответствующую условиям задачи (или 0, если такую сумму получить нельзя). НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Перед текстом программы кратко опишите Ваш алгоритм решения, укажите использованный язык программирования и его версию (например, Free Pascal 2.6.4). Входные данные Для варианта А на вход программе подаётся шесть строк, каждая из которых содержит два натуральных числа, не превышающих 10 000. Пример входных данных для варианта А: 1 3 5 12 6 9 5 4 3 3 1 1 Для варианта Б на вход программе в первой строке подаётся количество пар N (1 ≤ N ≤ 100 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример входных данных для варианта Б: 6 1 3 5 12 6 9 5 4 3 3 1 1 Пример выходных данных для приведённых выше примеров входных данных: 32
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Ответы и критерии оценивания — показать
Официальная система оценивания ФИПИ. Сначала решите задания самостоятельно.
Система оценивания экзаменационной работы по информатике и ИКТ Часть 1 За правильный ответ на задания 1–23 ставится 1 балл; за неверный ответ или его отсутствие – 0 баллов. № задания 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Ответ 2 zyxw 8 1033 19 298 75 120 16 405 33 18 17 888 36 34 54 18 2 79 42 60 28
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Часть 2 24
Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 3. То есть требуется определить, существует ли такое целое число K, что 3K = N, и вывести это число либо сообщение, что такого числа не существует. Для решения этой задачи ученик написал программу, но, к сожалению, его программа оказалась неверной. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования. Бейсик
Python
DIM N, K AS INTEGER INPUT N K = 0 WHILE K MOD 3 = 0 K = K + 1 N = N \ 3 WEND IF N > 0 THEN PRINT K ELSE PRINT "Не существует" END IF END
n = int(input()) k = 0 while k%3 == 0: k = k + 1 n = n // 3 if n > 0: print(k) else: print("Не существует")
Алгоритмический язык
Паскаль
алг нач цел n, k ввод n k := 0 нц пока mod(k, 3)=0 k := k + 1 n := div(n,3) кц если n > 0 то вывод k иначе вывод "Не существует" все кон
var n, k: integer; begin read(n); k := 0; while k mod 3 = 0 do begin k := k + 1; n := n div 3; end; if n > 0 then writeln(k) else writeln('Не существует') end.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Си #include <stdio.h> int main(){ int n, k; scanf("%d",&n); k = 0; while (k%3 == 0) { k = k + 1; n = n / 3; } if (n > 0) printf("%d", k); else printf("Не существует"); return 0; }
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа
9. 2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)
- 1. При вводе числа 9 программа выведет число 1.
- 2. Примеры чисел, при вводе которых программа выводит корректный ответ: 2,
- 3. Других чисел нет. Комментарий для экспертов. После выполнения программы при любом введённом n значение k будет равно 1 (тело цикла выполнится ровно 1 раз). В результате программа напечатает либо 1 (если n ≥ 3), либо «Не существует» (в противном случае). Таким образом, программа выводит корректный ответ, только если введено 2 или
- 3. Экзаменуемому достаточно указать любое из этих чисел. Отметим, что при n=1 программа напечатает «Не существует», что неверно (должно быть напечатано «0»).
- 3. Программа содержит две ошибки: 1) неверное условие цикла; 2) неверное условие при печати результата. Пример исправления для языка Паскаль: Первая ошибка: while k mod 3 = 0 do begin Исправленная строка: while n mod 3 = 0 do begin Вторая ошибка: if n>0 then Исправленная строка: if n=1 then Пояснение для эксперта После исправления первой ошибки в результате выполнения цикла значение переменной n будет равно n0/(3k), где n0 – введённое пользователем значение; k – максимальный показатель степени, при котором 3k является делителем числа n0. Число n0 является степенью числа 3, если n0 = 3k, т.е. n0/(3k) =
- 1. В программах на других языках ошибочные строки и их исправления аналогичны. Незначительной опиской, не влияющей на оценку, следует считать отсутствие служебных слов и знаков после содержательной части исправления Указания по оцениванию Баллы В задаче требуется выполнить три действия.
- 1. Указать результат программы при данном вводе. Это действие считается выполненным, если указан верный результат работы программы при заданных входных данных. Экзаменуемый не обязан объяснять, как получен этот результат, достаточно указать верное число. Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
2. Указать пример ввода, при котором программа выводит верный ответ. Это действие считается выполненным, если указан пример числа, при вводе которого выводится верное сообщение (верный показатель степени или текст «Не существует», если введённое число не является степенью). Ученик не обязан указывать, что будет выведено, и объяснять, как работает программа. 3. Найти и исправить ошибки в программе. Это действие считается выполненным, если верно указаны обе ошибки и предложены верные варианты исправления, при этом никакие верные строки программы не указаны в качестве неверных. В исправленной строке допускаются незначительные синтаксические ошибки (лишние или пропущенные знаки препинания, неточные написания служебных слов языка). Ошибка считается исправленной, если выполнены оба следующих условия: а) правильно указана строка с ошибкой; б) указан такой новый вариант строки, что при исправлении другой ошибки получается правильная программа Выполнены все три необходимых действия, и ни одна верная строка не указана в качестве ошибочной Не выполнены условия, позволяющие поставить 3 балла. Имеет место одна из следующих ситуаций. 1. Выполнены два первых действия, найдена и исправлена одна ошибка в программе, ни одна верная строка не названа ошибочной. 2. Выполнены два первых действия, найдены и исправлены две ошибки в программе, одна верная строка названа ошибочной.
3. Выполнено одно из первых двух действий, найдены и исправлены две ошибки в программе, ни одна верная строка не названа ошибочной
Не выполнены условия, позволяющие поставить 2 или 3 балла. При этом имеет место один из следующих случаев. 1. Выполнены два первых действия. При этом несущественно, насколько правильно выполнено третье действие. 2. Найдены и исправлены две ошибки в программе, не более чем одна верная строка названа ошибочной. При этом несущественно, насколько правильно выполнены действия 1 и 2. 3. Выполнено одно из двух первых действий. Исправлена одна из двух ошибок. Не более чем одна верная строка названа ошибочной Не выполнены условия, позволяющие поставить 1, 2 или 3 балла Максимальный балл
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых десятичная запись хотя бы одного числа оканчивается на 2. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Бейсик
Python
CONST N = 40 DIM A (1 TO N) AS INTEGER DIM I, J, K, AS INTEGER
//допускается также использовать //две целочисленные переменные j и k a = [] n = 40 for i in range(0, n): a.append(int(input())) ...
FOR I = 1 TO N INPUT A(I) NEXT I ... END
Алгоритмический язык
Паскаль
алг нач
const N = 40; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ...
цел N = 40 целтаб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон
end.
Естественный язык Объявляем массив A из 40 элементов. Объявляем целочисленные переменные I, J, K. В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й. …
#include <stdio.h> #define N 40 int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) scanf("%d", &a[i]); ... return 0; }
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке). Содержание верного ответа и указания по оцениванию (допускаются иные формулировки решений, приводящие к правильному результату)
На языке Паскаль k := 0; for i := 1 to N - 1 do if (a[i] mod 10 = 2) or (a[i + 1] mod 10 = 2) then inc(k); writeln(k);
На алгоритмическом языке k := 0; нц для i от 1 до N-1 если mod(a[i],10)=2 или mod(a[i+1],10)=2 то k := k+1 все кц вывод k
На языке Бейсик K = 0 FOR I = 1 TO N - 1 IF (A(I) MOD 10 = 2) OR (A(I + 1) MOD 10 = 2) THEN K = K + 1 END IF NEXT I PRINT K
На языке Си k = 0; for (i = 0; i < N - 1; i++) if (a[i] % 10 == 2 || a[i + 1] % 10 == 2) k++; printf("%d", k);
На языке Python k = 0 for i in range(0, n – 1): if (a[i] % 10 == 2 or a[i + 1] % 10 == 2): k += 1 print(k)
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
На естественном языке Записываем в переменную K начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления текущего и следующего элементов массива на 10. Если первый или второй из полученных остатков равен 2, увеличиваем переменную K на единицу. После завершения цикла выводим значение переменной K Указания по оцениванию Общие указания 1. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. 2. Эффективность алгоритма не имеет значения и не оценивается. 3. Допускается запись алгоритма на языке программирования, отличном от языков, перечисленных в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи Предложен правильный алгоритм, выдающий в качестве результата верное значение
Баллы
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Не выполнены условия, позволяющие поставить 2 балла. Предложено в целом верное решение, содержащее не более одной ошибки из числа следующих: 1) в цикле происходит выход за границу массива (например, при использовании цикла от 1 до N); 2) не инициализируется или неверно инициализируется счётчик количества найденных пар; 3) счётчик количества пар в цикле не изменяется или изменяется неверно; 4) неверно выделяется последняя цифра числа; 5) при проверке выполнения условия для пары элементов используются неверные индексы; 6) последняя цифра выделяется не у самих элементов массива, а у их индексов; 7) в сложном логическом условии простые проверки верны, но условие в целом построено неверно (например, перепутаны операции «И» и «ИЛИ», неверно расставлены скобки в логическом выражении); 8) отсутствует вывод ответа; 9) используется переменная, не объявленная в разделе описания переменных; 10) не указано или неверно указано условие завершения цикла; 11) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 12) неверно расставлены операторные скобки Не выполнены условия, позволяющие поставить 1 или 2 балла Максимальный балл
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 20. Если при этом в куче оказалось не более 30 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 17 камней и Паша удвоит количество камней в куче, то игра закончится, и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 19. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Выполните следующие задания. 1. а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши. б) У кого из игроков есть выигрышная стратегия при S = 18, 17, 16? Опишите выигрышные стратегии для этих случаев. 2. У кого из игроков есть выигрышная стратегия при S = 9, 8? Опишите соответствующие выигрышные стратегии. 3. У кого из игроков есть выигрышная стратегия при S = 7? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход; в узлах – количество камней в позиции.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)
1. а) Паша может выиграть, если S = 19 или S = 10, 11, 12, 13, 14, 15. При S = 19 первым ходом нужно добавить в кучу один камень, при остальных указанных значениях S нужно удвоить количество камней. б) При S = 16, 17 или 18 удваивать количество камней не имеет смысла, так как после такого хода выигрывает противник. Поэтому можно считать, что единственный возможный ход – это добавление в кучу одного камня. При S = 18 после такого хода Паши в куче станет 19 камней. В этой позиции ходящий (т.е. Валя) выигрывает (см. п. 1а): при S = 18 Паша (игрок, который должен ходить первым) проигрывает. Выигрышная стратегия есть у Вали. При S = 17, после того как Паша своим первым ходом добавит один камень, в куче станет 18 камней. В этой позиции ходящий (т.е. Валя) проигрывает (см. выше): при S = 17 Паша (игрок, который должен ходить первым) выигрывает. Выигрышная стратегия есть у Паши. При S = 16 выигрышная стратегия есть у Вали. Действительно, если Паша первым ходом удваивает количество камней, то в куче становится 32 камня, и игра сразу заканчивается выигрышем Вали. Если Паша добавляет один камень, то в куче становится 17 камней. Как мы уже знаем, в этой позиции игрок, который должен ходить (т.е. Валя), выигрывает. Во всех случаях выигрыш достигается тем, что при своём ходе игрок, имеющий выигрышную стратегию, должен добавить в кучу один камень. Замечание для проверяющего. Скорее всего, решение экзаменуемого будет не столь подробным. Это не является ошибкой. Ученик может, например, нарисовать деревья всех возможных партий для указанных значений S. Другая возможность – (1) указать на то, что удваивать кучу не имеет смысла, и (2) последовательно сводить случай S = 18 к случаю S = 19, случай S = 17 – к случаю S = 18 и т.д. 2. При S = 9 или 8 выигрышная стратегия есть у Паши. Она состоит в том, чтобы удвоить количество камней в куче и получить кучу, в которой будет соответственно 18 или 16 камней. В обоих случаях игрок, который будет делать ход (теперь это Валя), проигрывает (п. 1б). 3. При S = 7 выигрышная стратегия есть у Вали. После первого хода Паши в куче может стать либо 8, либо 14 камней. В обеих этих позициях выигрывает игрок, который будет делать ход (теперь это Валя). Случай S = 8 рассмотрен в п. 2, случай S = 14 рассмотрен в п. 1а. В таблице изображено дерево возможных партий при описанной стратегии Вали. Заключительные позиции (в них выигрывает Валя) подчёркнуты. На рисунке это же дерево изображено в графическом виде (оба способа изображения дерева допустимы).
Российской Федерации
И.п.
1-й ход Паши (все ходы) 7+1 = 8
ИНФОРМАТИКА и ИКТ, 11 класс.
Положения после очередных ходов 1-й ход 2-й ход 2-й ход 3-й ход Вали Вали Паши Паши (только (только (все (все ход по ход по ходы) ходы) стратегии) стратегии) 18+1=19 16+1=17 17+1=18 8*2=16 18*2=36
3-й ход Вали (только ход по стратегии) 19+1=20
16*2=32 7*2=14
14*2=28
Рис.
1. Дерево всех партий, возможных при
Валиной стратегии. Знаком >> обозначены позиции, в которых партия заканчивается Указания по оцениванию Баллы Предварительные замечания В задаче от ученика требуется выполнить три задания. Их трудность возрастает. Количество баллов в целом соответствует количеству выполненных заданий (подробнее см. ниже). Ошибка в решении, не искажающая основного замысла и не приведшая к неверному ответу, например арифметическая ошибка при вычислении количества камней в заключительной позиции, при оценке решения не учитывается. Пункт 1а считается выполненным, если правильно указаны все позиции, в которых Паша выигрывает первым ходом, и указано, каким должен быть первый ход. Пункт 1б считается выполненным, если (i) правильно указано, кто из игроков имеет выигрышную стратегию в каждой из указанных позиций, и (ii) описаны выигрышные стратегии – так, как это сделано в образце решения, или другим способом. Первое задание считается выполненным полностью, если выполнены полностью оба пункта: 1а и 1б. Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Замечание для проверяющего. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника (см. условие задачи). Есть два основных способа сделать это. (1) Можно построить дерево всех партий, возможных при выбранной стратегии, и убедиться, что все заключительные позиции являются выигрышными для игрока, реализующего стратегию. (2) Можно свести задачу к рассмотренным выше позициям. Например, выигрышную стратегию для игрока, который ходит первым, можно описать, указав ход, ведущий в позицию, для которой известна выигрышная стратегия для игрока, который ходит вторым. Чтобы подобным образом описать выигрышную стратегию для игрока, который ходит вторым (Вали), нужно перебрать все возможные первые ходы Паши и убедиться, что для всех полученных позиций мы знаем выигрышную стратегию для игрока, который ходит первым. В примере решения мы используем в основном второй способ описания стратегии. Экзаменуемый может описывать стратегию любым удобным ему способом. Существенно (повторим), чтобы (1) для каждой позиции, которая может встретиться игроку, реализующему стратегию, было понятно, какой ход он должен сделать, и (2) было показано, что все возможные заключительные позиции выигрышные для этого игрока. Задание 2 считается выполненным, если (i) правильно указано, кто из игроков имеет выигрышную стратегию в каждой из указанных позиций, и (ii) описаны выигрышные стратегии. Задание 3 считается выполненным, если (i) правильно указано, что выигрышную стратегию имеет Валя; (ii) правильно описано дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). При этом допускаются арифметические ошибки, не искажающие сути решения. Во всех случаях стратегии могут быть описаны так, как это сделано в примере решения, или другим способом
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Выполнены второе и третье задания. Для первого задания правильно перечислены позиции, в которых Паша выигрывает первым ходом (п. 1а), и правильно указано, кто из игроков имеет выигрышную стратегию при указанных значениях S (п. 1б). При этом допускаются недочёты следующих типов: – в п. 1а не указано, каким ходом выигрывает Паша; – в п. 1б не указано, что игрокам нет смысла удваивать количество камней в куче. Здесь и далее в решениях допускаются арифметические ошибки, которые не искажают сути решения и не приводят к неправильному ответу Не выполнены условия, позволяющие поставить 3 балла, и выполнено одно из следующих условий. Выполнено третье задание. Выполнены первое и второе задания. Первое задание выполнено, возможно, при наличии недочётов, указанных в критериях на 3 балла; для второго задания (i) правильно указано, кто из игроков имеет выигрышную стратегию в каждой из указанных позиций, и (ii) правильно указан первый ход Паши при выигрышной стратегии, однако не указано, что после выбранного хода Паши получается позиция, выигрышная для Вали; для третьего задания правильно указан игрок, имеющий выигрышную стратегию Не выполнены условия, позволяющие поставить 3 или 2 балла, и выполнено одно из следующих условий. Первое задание выполнено, возможно, с недочётами, указанными в критериях на 3 балла. Второе задание выполнено, возможно, с недочётами, указанными в критериях на 2 балла. Для второго и третьего заданий во всех случаях правильно указан игрок, имеющий выигрышную стратегию Не выполнено ни одно из условий, позволяющих поставить 1, 2 или 3 балла Максимальный балл
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Вам предлагается два задания с похожими условиями: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Задание Б более сложное, его решение оценивается выше. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. Напишите программу для решения этой задачи. В этом варианте задания оценивается только правильность программы, время работы и размер использованной памяти не имеют значения. Максимальная оценка за правильную программу – 2 балла. Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. Напишите программу для решения этой задачи. Постарайтесь сделать программу эффективной по времени и используемой памяти (или хотя бы по одной из этих характеристик). Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта. Максимальная оценка за правильную программу, эффективную по времени и памяти, – 4 балла. Максимальная оценка за правильную программу, эффективную по времени, но неэффективную по памяти, – 3 балла. Как в варианте А, так и в варианте Б программа должна напечатать одно число – максимально возможную сумму, соответствующую условиям задачи (или 0, если такую сумму получить нельзя). НАПОМИНАЕМ! Не забудьте указать, к какому заданию относится каждая из представленных Вами программ.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Перед текстом программы кратко опишите Ваш алгоритм решения, укажите использованный язык программирования и его версию (например, Free Pascal 2.6.4). Входные данные Для варианта А на вход программе подаётся шесть строк, каждая из которых содержит два натуральных числа, не превышающих 10 000. Пример входных данных для варианта А: 1 3 5 12 6 9 5 4 3 3 1 1 Для варианта Б на вход программе в первой строке подаётся количество пар N (1 ≤ N ≤ 100 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример входных данных для варианта Б: 6 1 3 5 12 6 9 5 4 3 3 1 1 Пример выходных данных для приведённых выше примеров входных данных: 32
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)
Задание Б. Cначала рассмотрим решение для более общего задания (вариант Б). Решение 1. Чтобы получить максимально возможную сумму, будем брать из каждой пары самое большое число. Если полученная при этом сумма будет делиться на 3, её необходимо уменьшить. Для этого достаточно в одной из пар, где числа имеют разные остатки при делении на 3, заменить ранее выбранное число на другое число из той же пары. При этом разница между числами в паре должна быть минимально возможной. Если во всех парах оба числа имеют одинаковый остаток при делении на 3, получить нужную сумму невозможно. Замечание для эксперта. От ученика не требуется доказывать правильность предложенного алгоритма. Для удобства экспертов докажем, что при наличии решения достаточно заменить одно число. Пусть это не так, т.е. найдутся две такие пары, от которых в искомую сумму входят не бόльшие в своих парах числа x1 и y1, а меньшие числа из соответствующих пар: x2 и y2. При этом x2 + y2 имеет остаток от деления на 3, отличный от остатка от деления на 3 числа x1 + y1 (иначе мы могли бы включить в сумму x1 + y1 вместо x2 + y2). Но это означает, что хотя бы одно из чисел x2, y2 тоже при делении на 3 имеет остаток, отличный от соответствующего максимального числа пары. Значит, оптимальной является замена только одного из таких чисел. Программа читает все данные один раз. В каждой паре определяется большее число Max и разность между бόльшим и меньшим числами пары D. После обработки очередной пары программа хранит два числа: s – сумму всех максимальных элементов прочитанных пар и D_min – наименьшую возможную разность D, не кратную 3. Окончательным ответом будет значение s, если оно не делится на 3, и s–D_min в противном случае. Если s делится на 3, а D_min не определено (разность между числами во всех парах кратна 3), ответ в соответствии с условиями задачи считается равным 0
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Программа
1. Пример правильной и эффективной программы для задания
Б на языке Паскаль const aMax = 10000; {наибольшее возможное число в исходных данных} var N: longint; {количество пар} a, b: longint; {пара чисел} Max: longint; {максимум в паре} Min: longint; {минимум в паре} s: longint; {сумма выбранных чисел} D_min: longint; {минимальная разница Max-Min не кратная 3} i: longint; begin s := 0; D_min := aMax + 1; readln(N); for i := 1 to N do begin readln(a, b); if a>b then begin Max:=a; Min:=b end else begin Max:=b; Min:=a end; s := s + Max; if ((Max - Min) mod 3 > 0) and (Max - Min < D_min) then D_min := Max - Min end; if s mod 3 = 0 then begin if D_min > aMax then s := 0 else s := s – D_min end; writeln(s) end.
Решение 2. Возможно и решение, основанное на другой идее, а именно будем хранить для каждого прочитанного набора пар три суммы (s0, s1, s2) – максимальные суммы элементов пар, имеющие при делении на 3 соответственно остатки 0, 1 и 2. При обработке очередной пары (a1, a2) эти суммы обновляются. Для этого достаточно рассмотреть суммы s0+a1, s1+a1, s2+a1, s0+a2, s1+a2, s2+a2 и для каждого возможного остатка от деления на 3 выбрать в качестве нового значения s0, s1 или s2 значение наибольшей из указанных сумм, дающей данный остаток. Окончательным ответом будет бόльшая из сумм s1 и s2. Эта идея приводит к более громоздкой реализации, но все основные требования по эффективности в ней выполнены, поэтому подобное решение при отсутствии ошибок можно оценить максимальным количеством баллов. Ниже приводится пример основанной на этом принципе программы на языке Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Паскаль. Замечание для эксперта. В приведённом ниже решении для хранения s0, s1, s2 используется массив s_new[0..2]. Это упрощает реализацию, однако решение, в котором используются простые переменные, также допустимо. Не следует снижать баллы только за то, что в программе использованы простые переменные, а не массив, как в привёденном ниже примере Программа
2. Пример правильной и эффективной программы для задания
Б на языке Паскаль var N: longint; {количество пар} a: array[1..2] of longint; {пара чисел} s_old, s_new: array[0..2] of longint; {суммы с соответствующими остатками от деления на 3} i, j, k, r: longint; begin readln(N); for j := 0 to 2 do s_old[j] := 0; for i := 1 to N do begin readln(a[1], a[2]); for j := 0 to 2 do s_new[j] := 0; for k := 1 to 2 do begin for j := 0 to 2 do begin if (s_old[j] > 0) or (i = 1) then begin r := (s_old[j] + a[k]) mod 3; if s_new[r] < s_old[j] + a[k] then s_new[r] := s_old[j] + a[k] end end end; s_old := s_new end; if s_new[1] > s_new[2] then writeln(s_new[1]) else writeln(s_new[2]); {если решения не существует, то s_new[1] и s_new[2] окажутся равными нулю} end.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Замечание для эксперта. Ученик может «перестраховаться» и явно проверить, что хотя бы одно из чисел s_new[1], s_new[2] отлично от 0. Эта проверка излишня (см. комментарий в конце программы), однако она не влияет на порядок роста времени программы. Снижать баллы за такую избыточную проверку не следует. Задание А. Это задание можно выполнить «в лоб»: сохранить в массиве все исходные данные, перебрать все возможные способы выбора одного элемента из каждой пары и найти максимальную сумму, соответствующую условиям задачи. Ниже приводится пример такого решения Пример решения задачи А на языке Паскаль var a: array[1..6, 1..2] of longint; i1, i2, i3, i4, i5, i6: longint; s, sMax: longint; begin for i1:= 1 to 6 do readln(a[i1,1], a[i1,2]); sMax := 0; for i1:=1 to 2 do for i2:=1 to 2 do for i3:=1 to 2 do for i4:=1 to 2 do for i5:=1 to 2 do for i6:=1 to 2 do begin s:=a[1,i1]+a[2,i2]+a[3,i3]+a[4,i4]+a[5,i5]+a[6,i6]; if (s mod 3 <> 0) and (s > sMax) then sMax := s end; writeln(sMax) end.
Российской Федерации
ИНФОРМАТИКА и ИКТ, 11 класс.
Указания по оцениванию Баллы Предварительные замечания. 1. В задаче есть два задания (А и Б). Соответственно, ученик может представить две программы. В каждой из программ должно быть указано, решением какого из заданий она является. Если в работе представлена одна программа, то в ней также должно быть указано, решением какого из заданий она является. 2. Если ученик не указал, к какому заданию относится программа, или можно предположить, что ученик ошибся в идентификации программ, необходимо следовать приведённым ниже инструкциям. Случай 2.1. Ученик представил только одну программу. Следует рассматривать программу как решение задания Б и оценивать её по соответствующим критериям. Случай 2.2. Ученик представил две программы, но указание задания есть только для одной из программ. Следует рассматривать вторую программу как ответ на оставшееся задание. Случай 2.3. Ученик представил две программы; ни для одной из них задание не указано, или в обоих решениях указано одно и то же задание. Следует первую (по порядку в представленных учеником материалах) программу рассматривать как ответ на задание А, а вторую – как ответ на задание Б. Случай 2.4. Ученик представил более двух программ. Следует рассматривать только две последние и соотносить их с заданиями по правилам 2.1–2.3.
Показана часть текста. Полная версия — в PDF выше.