«УТВЕРЖДАЮ»
Директор Федерального института педагогических измерений
|
«СОГЛАСОВАНО»
Председатель Научно- методического совета ФИПИ по информатике
|
Единый государственный экзамен по ИНФОРМАТИКЕ и ИКТ
Демонстрационный вариант КИМ 2009 г.
подготовлен Федеральным государственным научным учреждением
«ФЕДЕРАЛЬНЫЙ ИНСТИТУТ ПЕДАГОГИЧЕСКИХ ИЗМЕРЕНИЙ»
(2009 - 2 )
П
Единый государственный экзамен по ИНФОРМАТИКЕ и ИКТ
Пояснения к демонстрационному варианту
При ознакомлении с Демонстрационным вариантом 2009 года следует иметь в виду, что задания, включённые в демонстрационный вариант, не отражают всех вопросов содержания, которые будут
проверяться с помощью вариантов КИМ в 2009 году
. Полный перечень вопросов, которые могут контролироваться на едином государственном экзамене 2009 года, приведен в кодификаторе, помещённом на сайте www.fipi.ru
.
Назначение демонстрационного варианта заключается в том, чтобы дать возможность любому участнику ЕГЭ и широкой общественности составить представление о структуре будущих КИМ, количестве заданий, их форме, уровне сложности: базовом, повышенном и высоком. Приведённые критерии оценки выполнения заданий с развёрнутым ответом (тип «С»), включённые в этот вариант, позволят составить представление о требованиях к полноте и правильности записи развёрнутого ответа.
Эти сведения позволят выпускникам выработать стратегию подготовки и сдачи ЕГЭ в соответствии с целями, которые они ставят перед собой.
Единый государственный экзамен по ИНФОРМАТИКЕ и ИКТ
Демонстрационный вариант 2009 г.
Инструкция по выполнению работы
На выполнение экзаменационной работы по информатике и ИКТ отводится 4 часа (240 минут). Экзаменационная работа состоит из 3 частей, включающих 32 задания. На выполнение частей 1 и 2 работы рекомендуется отводить 1,5 часа (90 минут). На выполнение заданий части 3 – 2,5 часа (150 минут).
Часть 1 включает восемнадцать заданий с выбором ответа. К каждому заданию дается четыре ответа, из которых только один правильный.
Часть 2 состоит из десяти заданий с кратким ответом (к этим заданиям вы должны самостоятельно сформулировать и записать ответ).
Часть 3 состоит из четырех заданий. Для выполнения заданий этой части вам необходимо написать развернутый ответ в произвольной форме.
Выполняйте задания в том порядке, в котором они даны. Если какое-то задание вызывает у вас затруднение, пропустите его и постарайтесь выполнить те, в ответах на которые вы уверены. К пропущенным заданиям можно будет вернуться, если останется время.
За каждый правильный ответ в зависимости от сложности задания дается один или более баллов. Баллы, полученные вами за все выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать как можно больше баллов.
Желаем успеха!
В экзаменационных заданиях используются следующие соглашения:
1. Обозначения для логических связок (операций):
a) отрицание
(инверсия, логическое НЕ) обозначается ¬ (например, ¬А);
b) конъюнкция
(логическое умножение, логическое И) обозначается /\
(например, А /\ В) либо & (например, А & В);
c) дизъюнкция
(логическое сложение, логическое ИЛИ) обозначается \/
(например, А \/ В) либо | (например, А | В);
d) следование
(импликация) обозначается → (например, А → В);
e) символ 1 используется для обозначения истины (истинного высказыва-
ния); символ 0 – для обозначения лжи (ложного высказывания).
2. Два логических выражения, содержащих переменные, называются равносильными
(эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (¬А) \/ В равносильны, а А \/ В и А /\ В – нет (значения выражений разные, например, при А = 1, В = 0).
3. Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование). Таким образом, ¬А /\ В \/ С /\ D совпадает с ((¬А) /\ В) \/ (С /\ D). Возможна запись А /\ В /\ С вместо (А /\ В) /\ С. То же относится и к дизъюнкции: возможна запись А \/ В \/ С вместо (А \/ В)
\/ С.
Часть 1
При выполнении заданий этой части в бланке ответов № 1 под номером выполняемого вами задания (А1–А18) поставьте знак «
× » в клеточку, номер которой соответствует номеру выбранного вами ответа.
Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?
1) 30 2) 60 3) 120 4) 480
В велокроссе участвуют 119 спортсменов. Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша, записывая его номер с использованием минимально возможного количества бит, одинакового для каждого спортсмена. Каков информационный объем сообщения, записанного устройством, после того как промежуточный финиш прошли 70 велосипедистов?
1) 70 бит 2) 70 байт 3) 490 бит 4) 119 байт
Дано: а
=D716
, b
=3318
. Какое из чисел c
, записанных в двоичной системе, отвечает условию a
<c
<b
?
1) 11011001 2) 11011100 3) 11010111 4) 11011000
Чему равна сумма чисел 438
и 5616
?
1) 1218
2) 1718
3) 6916
4) 10000012
Определите значение переменной c после выполнения следующего фрагмента программы.
Бейсик
|
Паскаль
|
Алгоритмический
|
a = 5 a = a + 6 b = – a c = a – 2 * b
|
a:=5; a:=a+6; b:= –a; c:=a–2*b;
|
a:=5 a:=a+6 b:= –a c:=a–2*b
|
1) c = –11 2) c = 15 3) c = 27 4) c = 33
A6
Дан фрагмент программы, обрабатывающей двухмерный массив A
размера n×n.
Бейсик
|
Паскаль
|
Алгоритмический
|
k = 1
FOR i = 1 TO n
c = A(i,i)
A(i,i) = A(k,i)
A(k,i) = c
NEXT i
|
k:=1; for i:=1 to n do begin
c:=A[i,i];
A[i,i]:=A[k,i]; A[k,i]:=c end
|
k:=1 нц
для
i от
1 до
n c:=A[i,i]
A[i,i]:=A[k,i] A[k,i]:=c
кц
|
Представим массив в виде квадратной таблицы, в которой для элемента массива A[i,j] величина i является номером строки, а величина j – номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами
1) два столбца в таблице
2) две строки в таблице
3) элементы диагонали и k-ой строки таблицы
4) элементы диагонали и k-го столбца таблицы
Для какого из указанных значений X истинно высказывание
¬ ((X>2) → (X>3))?
1) 1 2) 2 3) 3 4) 4
Укажите, какое логическое выражение равносильно выражению
A /\ ¬ (¬B \/ C).
1) ¬A \/ ¬B \/ ¬C
2) A /\ ¬B /\ ¬C
3) A /\ B /\ ¬C 4) A /\ ¬B /\ C
Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z.
Дан фрагмент таблицы истинности выражения F:
X
|
Y
|
Z
|
F
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
Какое выражение соответствует F?
1) ¬X /\ ¬Y /\ ¬Z 2) X /\ Y /\ Z 3) X \/ Y \/ Z 4) ¬X \/ ¬Y \/ ¬Z Между четырьмя местными аэропортами: ОКТЯБРЬ, БЕРЕГ, КРАСНЫЙ и СОСНОВО, ежедневно выполняются авиарейсы. Приведён фрагмент расписания перелётов между ними:
Аэропорт вылета
|
Аэропорт прилета
|
Время вылета
|
Время прилета
|
СОСНОВО
|
КРАСНЫЙ
|
06:20
|
08:35
|
КРАСНЫЙ
|
ОКТЯБРЬ
|
10:25
|
12:35
|
ОКТЯБРЬ
|
КРАСНЫЙ
|
11:45
|
13:30
|
БЕРЕГ
|
СОСНОВО
|
12:15
|
14:25
|
СОСНОВО
|
ОКТЯБРЬ
|
12:45
|
16:35
|
КРАСНЫЙ
|
СОСНОВО
|
13:15
|
15:40
|
ОКТЯБРЬ
|
СОСНОВО
|
13:40
|
17:25
|
ОКТЯБРЬ
|
БЕРЕГ
|
15:30
|
17:15
|
СОСНОВО
|
БЕРЕГ
|
17:35
|
19:30
|
БЕРЕГ
|
ОКТЯБРЬ
|
19:40
|
21:55
|
Путешественник оказался в аэропорту ОКТЯБРЬ в полночь (0:00).
Определите самое раннее время, когда он может попасть в аэропорт СОСНОВО.
1) 15:40 2) 16:35 3) 17:15 4) 17:25
Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Если таким способом закодировать последовательность символов БАВГ и записать результат шестнадцатеричным кодом, то получится
1) 4B 2) 411 3) BACD 4) 1023
Цепочка из трех бусин, помеченных латинскими буквами, формируется по следующему правилу. В конце цепочки стоит одна из бусин A, B, C. На первом месте – одна из бусин B, D, C, которой нет на третьем месте. В середине – одна из бусин А, C, E, B, не стоящая на первом месте. Какая из перечисленных цепочек создана по этому правилу?
1) CBB 2) EAC 3) BCD 4) BCB
A13
Для групповых операций с файлами используются маски имен файлов
.
Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
Символ «?» (вопросительный знак) означает ровно один произвольный символ.
Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Определите, какое из указанных имен файлов удовлетворяет маске: ?hel*lo.c?*
.
1) hello.c 2) hello.cpp 3) hhelolo.cpp 4) hhelolo.c
Результаты тестирования представлены в таблице:
Фамилия
|
Пол
|
Математика
|
Русский язык
|
Химия
|
Информатика
|
Биология
|
Аганян
|
ж
|
82
|
56
|
46
|
32
|
70
|
Воронин
|
м
|
43
|
62
|
45
|
74
|
23
|
Григорчук
|
м
|
54
|
74
|
68
|
75
|
83
|
Роднина
|
ж
|
71
|
63
|
56
|
82
|
79
|
Сергеенко
|
ж
|
33
|
25
|
74
|
38
|
46
|
Черепанова
|
ж
|
18
|
92
|
83
|
28
|
61
|
Сколько записей в ней удовлетворяют условию «Пол=’ж’ ИЛИ Химия>Биология»?
1) 5 2) 2 3) 3 4) 4
Для кодирования цвета фона страницы Интернет используется атрибут bgcolor="#ХХХХХХ", где в кавычках задаются шестнадцатеричные значения интенсивности цветовых компонент в 24-битной RGB-модели. Какой цвет будет у страницы, заданной тэгом <body bgcolor="#FFFFFF">?
1) белый 2) зеленый 3) красный 4) синий
В электронной таблице значение формулы =СУММ(B1:B2) равно 5. Чему равно значение ячейки B3, если значение формулы =СРЗНАЧ(B1:B3) равно 3?
1) 8 2) 2 3) 3 4) 4
A17
На диаграмме показано количество призеров олимпиады по информатике
Какая из диаграмм правильно отражает соотношение общего числа призеров по каждому предмету для всех городов вместе?
1) И
2) И
3) И
4)
ММ
М
М
Ф
Ф Ф
A18
Система команд исполнителя РОБОТ, «живущего» в прямоугольном
лабиринте на клетчатой плоскости:
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:
сверху свободно
|
снизу свободно
|
слева свободно
|
справа свободно
|
Цикл
ПОКА < условие
> команда
выполняется, пока условие истинно, иначе происходит переход на следующую строку.
Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке, с которой он начал движение?
НАЧАЛО
ПОКА < снизу свободно
> вниз
6
ПОКА < слева свободно
> влево
5
ПОКА < сверху свободно
> вверх
4
ПОКА < справа свободно
> вправо
3
КОНЕЦ 2
1
A B C D E F
1) 1 2) 2 3) 3 4) 0
Часть 2
Ответом к заданиям этой части (В1–В10) является набор символов, которые следует записать в бланк ответов № 1 справа от номера соответствующего задания, начиная с первой клеточки. Каждый символ пишите в отдельной клеточке в соответствии с приведенными образцами.
Световое табло состоит из лампочек. Каждая лампочка может находиться в одном из трех состояний («включено», «выключено» или «мигает»). Какое наименьшее количество лампочек должно находиться на табло, чтобы с его помощью можно было передать 18 различных сигналов?
Запишите значение переменной b
после выполнения фрагмента алгоритма:
Примечание: знаком := обозначена операция присваивания. знаком * обозначена операция умножения.
Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие
25, запись которых в системе счисления с основанием четыре оканчивается на 11.
Каково наибольшее целое число X, при котором истинно высказывание (50<X·X) → (50>(X+1) ·(X+1))?
B5
У исполнителя Калькулятор две команды, которым присвоены номера:
1.
прибавь 3
2.
умножь на 4
Выполняя первую из них, Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе получения из числа 3 числа 57, содержащей не более 6 команд, указывая лишь номера команд. (Например, программа 21211
это программа умножь на 4 прибавь 3 умножь на 4 прибавь 3 прибавь 3
которая преобразует число 2 в 50.)
Классный руководитель пожаловался директору, что у него в классе появилась компания из 3-х учеников, один из которых всегда говорит правду, другой всегда лжет, а третий говорит через раз то ложь, то правду. Директор знает, что их зовут Коля, Саша и Миша, но не знает, кто из них правдив, а кто – нет. Однажды все трое прогуляли урок астрономии. Директор знает, что никогда раньше никто из них не прогуливал астрономию. Он вызвал всех троих в кабинет и поговорил с мальчиками. Коля сказал: "Я всегда прогуливаю астрономию. Не верьте тому, что скажет Саша". Саша сказал: "Это был мой первый прогул этого предмета". Миша сказал: "Все, что говорит Коля, – правда". Директор понял, кто из них кто. Расположите первые буквы имен мальчиков в порядке: "говорит всегда правду", "всегда лжет", "говорит правду через раз". (Пример: если бы имена мальчиков были Рома, Толя и Вася, ответ мог бы быть: РТВ)
Скорость передачи данных через ADSL-соединение равна 128000 бит/c. Через данное соединение передают файл размером 625 Кбайт. Определите время передачи файла в секундах.
Строки (цепочки символов латинских букв) создаются по следующему правилу.
Первая строка состоит из одного символа – латинской буквы «А». Каждая из последующих цепочек создается такими действиями: в очередную строку сначала записывается буква, чей порядковый номер в алфавите соответствует номеру строки (на i-м шаге пишется «i
»-я буква алфавита), к ней справа дважды подряд приписывается предыдущая строка.
Вот первые 4 строки, созданные по этому правилу:
(1) A
(2) BAA
(3) CBAABAA
(4) DCBAABAACBAABAA
Латинский алфавит (для справки):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Запишите семь символов подряд, стоящие в восьмой строке со 126-го по 132-е место (считая слева направо).
Петя записал IP-адрес школьного сервера на листке бумаги и положил его в карман куртки. Петина мама случайно постирала куртку вместе с запиской. После стирки Петя обнаружил в кармане четыре обрывка с фрагментами IP-адреса. Эти фрагменты обозначены буквами А, Б, В и Г. Восстановите IP-адрес.
В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.
В таблице приведены запросы к поисковому серверу. Расположите номера запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу.
Для обозначения логической операции “ИЛИ” в запросе используется символ |, а для логической операции “И” – &.
1
|
принтеры & сканеры & продажа
|
2
|
принтеры & продажа
|
3
|
принтеры | продажа
|
4
|
принтеры | сканеры | продажа
|
Не забудьте перенести все ответы в бланк ответов № 1.
Часть 3
Для записи ответов к заданиям этой части (С1–С4) используйте бланк ответов № 2. Запишите сначала номер задания (С1 и т.д.), а затем – полное решение. Ответы записывайте четко и разборчиво.
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y
– действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы.
Программист торопился и написал программу неправильно.
ПРОГРАММА НА ПАСКАЛЕ
|
ПРОГРАММА НА БЕЙСИКЕ
|
ПРОГРАММА НА СИ
|
var x,y: real; begin readln(x,y); if y<=1 then if x>=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end.
|
INPUT x, y
IF y<=1 THEN
IF x>=0 THEN
IF y>=SIN(x) THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END
|
void main(void)
{ float x,y;
scanf("%f%f",&x,&y);
if (y<=1) if (x>=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); }
|
Последовательно выполните следующее:
1) Приведите пример таких чисел x
, y
, при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)
Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (5,2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (x,y) в одну из трех точек: или в точку с координатами (x+3,y), или в точку с координатами (x,y+3), или в точку с координатами (x,y+4). Выигрывает игрок, после хода которого расстояние по прямой от фишки до точки с координатами (0,0) не меньше 13 единиц. Кто выигрывает при безошибочной игре обоих игроков – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника.
Следует учитывать, что N>=1000.
Инструкция по проверке и оценке работ учащихся по информатике и ИКТ
ЧАСТЬ 1
№ задания
|
Ответ
|
№ задания
|
Ответ
|
А1
|
2
|
А10
|
4
|
А2
|
3
|
А11
|
1
|
А3
|
4
|
А12
|
1
|
А4
|
2
|
А13
|
3
|
А5
|
4
|
А14
|
1
|
А6
|
3
|
А15
|
1
|
А7
|
3
|
А16
|
4
|
А8
|
3
|
А17
|
1
|
А9
|
4
|
А18
|
1
|
ЧАСТЬ 2
№
|
Ответ
|
В1
|
3
|
В2
|
511
|
В3
|
5,21
|
В4
|
7
|
В5
|
22111
|
В6
|
СКМ
|
В7
|
40
|
В8
|
ВААGFED
|
В9
|
ГБВА
|
В10
|
1234
|
ЧАСТЬ 3
КРИТЕРИИ ПРОВЕРКИ И ОЦЕНКИ ВЫПОЛНЕНИЯ ЗАДАНИЙ С РАЗВЁРНУТЫМ ОТВЕТОМ
Внимание!
При выставлении баллов за выполнение задания в «Протокол проверки ответов на задания бланка № 2» следует иметь в виду, что, если ответ отсутствует
(нет никаких записей, свидетельствующих о том, что экзаменуемый приступал к выполнению задания), то в протокол проставляется «Х»
, а не «0». При использовании технологии «КРОК
» в подобной ситуации используется знак «–», а не «Х
».
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y
– действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы.
Программист торопился и написал программу неправильно.
ПРОГРАММА НА
ПАСКАЛЕ
|
ПРОГРАММА НА БЕЙСИКЕ
|
ПРОГРАММА НА СИ
|
var x,y: real; begin readln(x,y); if y<=1 then if x>=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') end.
|
INPUT x, y
IF y<=1 THEN
IF x>=0 THEN
IF y>=SIN(x) THEN
PRINT "принадлежит"
ELSE
PRINT "не принадлежит"
ENDIF
ENDIF
ENDIF
END
|
void main(void)
{ float x,y;
scanf("%f%f",&x,&y);
if (y<=1) if (x>=0) if (y>=sin(x)) printf("принадлежит"); else printf("не принадлежит"); }
|
Последовательно выполните следующее:
1) Приведите пример таких чисел x
, y
, при которых программа неверно решает поставленную задачу.
2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).
Ответ
:
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
|
Элементы ответа:
1) Пример: x=3, y=0,5 (Любая пара (x,y), для которой выполняется: y>1 или x<0 или (y>=sin x и x>π/2 и y<=1))
2) Возможная доработка (Паскаль): if (y<=1) and (x>=0) and (y>=sin(x)) and (x<=3,14/2) then write('принадлежит') else write('не принадлежит')
(могут быть и другие способы доработки).
|
Указания по оцениванию
|
Баллы
|
Обратите внимание! В задаче требовалось выполнить три
действия: указать пример входных данных, при которых программа работает неверно, и исправить две ошибки:
1. Неправильное использование условного оператора, в результате чего при невыполнении первого или второго условия программа не выдавала ничего (отсутствуют случаи ELSE).
2. Приведенным трем ограничениям удовлетворяют также те точки плоскости, у которых (y>=sin x и x>=π/2 и y<=1).
|
Правильно выполнены оба пункта задания. Исправлены обе ошибки. Допускается замена числа π на 3,14 или другую константу.
В работе (во фрагментах программ) допускается не более одной синтаксической ошибки
|
3
|
Правильно выполнены 2 пункта задания из трех (исправлены обе ошибки, но не указан/неправильно указан пример требуемых входных данных, либо правильно указан пример входных данных, программа правильно работает при большем числе случаев, чем исходная, но не при всех).
Например, выдает "принадлежит" для точек, у которых (y>=sin x и x>π/2 и y<=1).
Допускается, например, такое решение:
if y<=1 then if x>=0 then if y>=sin(x) then write('принадлежит') else write('не принадлежит') else write('не принадлежит') else
write('не принадлежит')
При этом в сданной работе допускается не более двух
|
2
|
синтаксических ошибок (пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования)
|
Правильно выполнен только один пункт задания.
То есть, только приведен пример входных данных, либо он не приведен, но имеется программа, корректно работающая при большем количестве входных данных, чем исходная.
При этом, если приведена программа, то в ней допускается не более трех синтаксических ошибок (пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования)
|
1
|
Все пункты задания выполнены неверно (пример входных данных не указан или указан неверно, программа не приведена, либо приведенная программа корректно работает в не большем количестве случаев, чем исходная)
|
0
|
Максимальный балл
|
3
|
C2
Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
Ответ
:
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
|
Заводим новый целочисленный массив той же длины. В цикле от первого элемента до последнего сравниваем элементы исходного массива с нулем и отрицательным элементам меняем знак. Записываем значения в элементы второго массива с тем же номером. Печатать значения массива не обязательно.
Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):
|
На языке Паскаль
|
На языке Бейсик
|
const N=30; var a, b:array[1..N] of integer; i: integer; begin for i:=1 to N do read(a[i]); for i:=1 to N do if a [i] < 0 then b[i]:= - a[i] else b[i]:= a[i]; end.
|
N=30
DIM I, A(N), B(N) AS INTEGER
FOR I=1 to N
INPUT A(I)
NEXT I
FOR I = 1 TO N
IF A(I) < 0 THEN
B(I) = - A(I)
ELSE
B(I) = A(I)
ENDIF
NEXT I
END
|
Указания по оцениванию
|
Баллы
|
Предложен правильный алгоритм, выдающий верное значение.
Возможно использование числа 30 вместо константы. Возможно использование операции "больше" (Так как -0=0) Возможно использование двух индексных переменных.
Возможно наличие отдельных синтаксических ошибок (пропущенные «;», неверная запись оператора присваивания и т.п.), не искажающих замысла автора программы.
Алгоритм может не содержать ввода-вывода данных.
Алгоритм может не содержать объявления массивов.
|
2
|
Имеется не более одной ошибки из числа следующих:
1) Не инициализируется или неверно инициализируется индексная переменная в цикле
2) Не указано или неверно указано условие завершения цикла
3) Индексная переменная в цикле не меняется
4) Неверно расставлены операторные скобки
|
1
|
Ошибок, перечисленных выше, две или больше, или алгоритм сформулирован неверно.
|
0
|
Максимальный балл
|
2
|
Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (5,2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (x,y) в одну из трех точек: или в точку с координатами (x+3,y), или в точку с координатами (x,y+3), или в точку с координатами (x,y+4). Выигрывает игрок, после хода которого расстояние по прямой от фишки до точки с координатами (0,0) не меньше 13 единиц. Кто выигрывает при безошибочной игре обоих игроков – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.
Ответ
:
Содержание верного ответа и указания к оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
|
Выигрывает второй игрок.
Для доказательства рассмотрим неполное дерево игры, оформленное в виде таблицы, где в каждой ячейке записаны координаты фишки на каждом этапе игры.
|
1 ход
|
2 ход
|
3 ход
|
4 ход
|
Старт овая позиц ия
|
I-й игрок
(все
варианты хода)
|
II-й игрок (выигрышны
й ход)
|
I-й игрок
(все варианты
хода)
|
II-й игрок (выигрышный ход, один из вариантов)
|
5,2
|
5,6
|
8,6
|
11,6
|
14,6
|
8,9
|
11,9
|
8,10
|
11,10
|
5,5
|
8,5
|
11,5
|
14,5
|
8,8
|
11,8
|
8,9
|
11,9
|
8,2
|
8,5
или 8,6
(экзаменуемо му достаточно привести один из вариантов)
|
Те же варианты третьегочетвертого ходов.
|
Таблица содержит все возможные
варианты ходов первого игрока. Из неё видно, что при любом ходе первого игрока у второго имеется ход, приводящий к победе.
|
Указания по оцениванию
|
Баллы
|
Правильное указание выигрывающего игрока и его ходов со строгим доказательством правильности (с помощью или без помощи дерева игры).
|
3
|
Правильное указание выигрывающего игрока, стратегии игры, приводящей к победе, но при отсутствии доказательства ее правильности.
|
2
|
При наличии в представленном решении одного из пунктов:
1. Правильно указан выигрывающий игрок и его первый ход, рассмотрены все возможные ответы второго игрока, но неверно определены дальнейшие действия.
2. Правильно указан выигрывающий игрок и его первый ход, но описание выигрышной стратегии неполно и рассмотрены несколько (больше одного, но не все) вариантов ответов второго игрока.
|
1
|
Задание не выполнено или в представленном решении полностью отсутствует описание элементов выигрышной стратегии, и отсутствует анализ вариантов первого-второго ходов играющих (даже при наличии правильного указания выигрывающего игрока).
|
0
|
Максимальный балл
|
3
|
На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> разделены одним пробелом. Пример входной строки: Иванов П.С. 57
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.
Ответ
:
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки ответа, не искажающие его смысла)
|
Программа верно читает входные данные, не запоминая их все, а сразу подсчитывая в массиве, хранящем 99 целых чисел согласно номерам школ, количество участников олимпиады из каждой школы. Затем с использованием ненулевых элементов этого массива ищется минимальный элемент, затем распечатываются номера соответствующих школ. Баллы начисляются только за программу, которая решает задачу хотя бы для частного случая.
|
Указания по оцениванию
|
Баллы
|
Программа работает верно, т.е. корректно выделяет из входных данных номера школ, не содержит вложенных циклов, в тексте программы не анализируется каждая школа в отдельности, все считанные номера не запоминаются в массиве. Допускается наличие в тексте программы одной синтаксической ошибки.
Пример правильной и эффективной программы:
var nc:array[1..99] of integer; p:1..99; c:char; i, k, N, min: integer;
begin readln(N); for i:=0 to 99 do nc[i]:=0; for i:=1 to N do begin repeat
|
4
|
read(c) until c=’ ’; {считана фамилия} repeat
read(c)
until c=’ ’; {считаны инициалы} readln(p); nc[p]:=nc[p]+1;
end; min:=N; for i:=1 to 99 do if nc[i]>0 then begin if nc[i]<min then min:=nc[i]; end;
for i:=1 to 99 do if nc[i]=min then writeln(i);
readln end.
|
Программа работает верно, но содержит вложенные циклы (oт 1 до
N и от 1 до 99) или обрабатывает каждую школу явным образом (99 операторов IF или оператор CASE, содержащий 99 вариантов номеров, в бланке ответа допускаются многоточия), или номера всех школ сохраняются в массиве с последующим поиском наименее часто встречающегося в массиве элемента. Допускается наличие от одной до трех различных синтаксических ошибок: пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных.
|
3
|
Программа работает в целом верно, но, возможно, некорректно обрабатывает номера школ, ученики которых во входных данных отсутствуют. Возможно, в реализации алгоритма содержатся 1–2 ошибки (используется знак “<” вместо “>”, “or” вместо “and”, выражение на 1 отличается от верного и т.п.). Допускается наличие от одной до пяти различных синтаксических ошибок.
|
2
|
Программа неверно работает при некоторых входных данных и, возможно, содержит ошибку в алгоритме нахождения минимума. Допускается наличие от одной до семи различных синтаксических ошибок.
|
1
|
Задание не выполнено или выполнено неверно
|
0
|
Максимальный балл
|
4
|
|