Московский городской педагогический университет

advertisement
Московский городской педагогический университет
Математический факультет
ОЛИМПИАДА ПО ИНФОРМАТИКЕ. 2006 год
УСЛОВИЯ ПРОВЕДЕНИЯ
Олимпиада проводится 9 апреля 2006 года в 10.00 часов в помещении Математического
факультета Московского городского педагогического университета по адресу: г. Москва, ул.
Шереметьевская, д.29.
Задание состоит из 6 задач.
На выполнение задания дается 3 часа.
Задания выполняются на бланках без использования компьютеров.
Максимальная оценка, выставляемая за полное выполнение всего задания – 100 баллов.
ПРИМЕРНЫЕ КРИТЕРИИ ОЦЕНИВАНИЯ
Задача 1. Максимальная оценка за полное решение задачи – 5 баллов.
Решение. Так как все числа даны в различных системах счисления, для их сравнения необходимо
перевести все числа в одну систему счисления.
Например, в двоичную:
1234 = 110112
348 = 111002
2016 = 10000010
или в десятичную:
111012 = 2910
1234 = 2710
348 = 2810
2016 = 3210
Таким образом, заданные числа в порядке возрастания: 1234, 348, 111012, 2016
Критерии оценивания.
Получен правильный обоснованный ответ – 5 баллов.
Получен обоснованный ответ, но допущена одна ошибка при выписывании чисел в порядке
возрастания – 3 балла.
Задача 2. Максимальная оценка за полное решение задачи – 10 баллов.
Решение.
2 x  2 (бит)  8 y 5 ( Кбайт)
 2 y 1
2 ( Мбайт)  16 x 3 (бит)
2 x  2 (бит)  2 3( y 5)  210  2 3 (бит)
 2 y 1 20 3
2
 2  2 (бит)  2 4 ( x 3) (бит)
2 x  2 (бит)  2 3( y 5) 103 (бит)
 ( 2 y 1)  203
2
(бит)  2 4 ( x 3) (бит)
 x  2  3( y  5)  13

2 y  22  4( x  3)
 x  2  3( y  5)  13

2 y  22  4( x  3)
x  3 y  4

 y  2 x  17
y  2(3 y  4)  17
y5
y  5

 x  11
Ответ: x = 11, y = 5.
Критерии оценивания.
Правильно переведены Мбайты и Кбайты в биты. Уравнения выражены через степень с
основанием степени равным 2. Приведение системы показательных уравнений к системе двух
уравнений с двумя переменными. Решение системы одним из методов и получение правильного
решения – 8-10 баллов.
Правильно переведены Мбайты и Кбайты в биты. Уравнения выражены через степень с
основанием степени равным 2. Приведение системы показательных уравнений к системе двух
уравнений с двумя переменными – 6-7 баллов.
Правильно переведены Мбайты и Кбайты в биты. Уравнения выражены через степень с
основанием степени равным 2 – 4-5 баллов.
Правильно переведены Мбайты и Кбайты в биты – 1-3 баллов.
Задача 3. Максимальная оценка за полное решение задачи – 10 баллов.
Решение.
Системное программное обеспечение (ПО) – обеспечивает целостное функционирование
компьютера. Необходимо для корректного функционирования прикладного программного
обеспечения, управления режимами работы и настройки аппаратного обеспечения.
К системному ПО относятся:
- операционная система (ОС) - комплекс программ, управляющих устройствами
компьютера, файловой системой, диалогом с пользователем;
- сервисное ПО - программы обслуживания дисков, контролирующие и
диагностирующие программы, архиваторы, антивирусы.
Прикладное программное обеспечение предназначено для непосредственного решения
пользовательских (прикладных) задач.
К прикладному ПО относятся:
- прикладные программы общего назначения - текстовые, графические, звуковые
редакторы и процессоры, СУБД, табличные процессоры, игры;
- прикладные программы специального назначения - математические пакеты, САПР,
бухгалтерские пакеты, экспертные системы, педагогические программные средства.
Общие черты системного и прикладного программного обеспечения в том, что все эти программы
позволяют пользователю использовать компьютер для решения разнообразных задач.
Критерии оценивания. Ответ учащегося, записанный в произвольной форме, содержит
корректное определение и общие черты системного и прикладного программного обеспечения – 13 баллов.
В ответе перечислены программы, входящие в состав системного и прикладного программного
обеспечения – 1-3 балла.
Дан развернутый ответ, содержащий дополнительные сведения, определения, примеры, рисунки и
т.п. – 1-2 балла.
Корректность, грамотность и логичность изложения – 1-2 балла.
При определении итогового балла за выполнение задачи суммируются баллы, выставленные по
вышеотмеченным критериям.
Задача 4. Оценка за полное решение задачи – 15 баллов.
Решение.
х = div(n, m)*(n – m) + 1, где div — операция целочисленного целения.
Рассуждения: так как при n < m имеем: div(n, m) = 0, а при n = m: n – m = 0, то число х, которое
будем выводить, может быть определено следующим образом: х = div(n, m)*(n – m) + 1. Тогда если
n  m, то будет выведено 1, иначе – другое число.
Возможными правильными решениями являются также
х = (n div (m+1)) + 1,
х = n-m + abs(n-m) + 1, где abs - взятие модуля.
Критерии оценивания.
Разработан фрагмент программы, решающий поставленную задачу во всех случаях – 14-15 баллов.
Разработан фрагмент программы, решающий поставленную задачу не во всех случаях – 6-10
баллов.
Задача 5. Оценка за полное решение задачи – 25 баллов.
Решение.
Основные этапы решения задачи:
1) определение номера “тройки” цифр, в которую входит заданная k–я цифра; этот номер (n)
может быть найден, например, так: n = (k + 2) div 3, где div — операция целочисленного целения;
2) нахождение трехзначного числа m, образованного соответствующей “тройкой” цифр: m = 100 +
n;
3) определение в найденном трехзначном числе m искомой цифры.
На школьном алгоритмическом языке соответствующий фрагмент программы имеет вид:
если mod(k, 3) = 0 |число k кратно трем
| то |искомая цифра х равна последней цифре числа m
| x := mod(m, 10)
| иначе
| если mod(k, 3) = 1 |k — одно из чисел 1, 4, 7, …
| | то
| | x := 1 |первая цифра каждой “тройки“ — 1
| | иначе |k — одно из чисел 2, 5, 8, …,
| | |т.е. искомая цифра равна средней цифре числа m
| | x := mod(div(m, 10), 10)
| все
все
Критерии оценивания.
Разработана программа, решающая поставленную задачу во всех случаях – 20-25 баллов.
Разработана программа, решающая поставленную задачу не во всех случаях – 15-19 баллов.
Составлен только корректный алгоритм решения задачи – 5-10 баллов.
Задача 6. Оценка за полное решение задачи – 35 баллов.
Решение.
Приводится текст программы, решающей поставленную задачу.
program Key;
var
n, i, sum, dif, invNum: Integer;
str: String;
begin
readLn(n);
i:=0;
sum:=0;
str:='';
while sum < n do
begin
i:=i+1;
str:=str + '+';
sum:=sum+i;
end;
dif:=sum-n;
if dif <> 0 then
begin
invNum:= dif div 2;
if invNum>0 then str[invNum]:='-';
sum:=sum-2*invNum;
if (dif mod 2) > 0 then begin
str:=str+'+-';
i:=i+2;
sum:=sum-1;
end;
end;
writeLn(i);
writeLn(str);
end.
Критерии оценивания.
Разработана программа, решающая поставленную задачу во всех случаях – 30-35 баллов.
Разработана программа, решающая поставленную задачу не во всех случаях – 20-25 баллов.
Составлен только корректный алгоритм решения задачи – 15-19 баллов.
Download