инф 10-11 классы

advertisement
Олимпиадные задачи по информатике 10 класс
Задание 1 (10 баллов)
Существует ли треугольник, длины сторон которого выражаются числами
128,1116, и 110112?
Задание 2 (13 баллов)
Все файлы и каталоги на дисках организованы в виде дерева. Если бы
перечисленные ниже термины являлись именами файлов с соответствующим
имени содержанием, то как бы организовали структуру этих фалов на диске.
Нарисуйте «Дерево» файлов и каталогов:
Один
ноль
манипулятор «Мышь» CD-ROM
Бейсик
ноль
сложение
Семь
Монитор
конъюнкция
графопостроитель
Сканер
Один
клавиатура
пять
СИ
Звуковые колонки системный блок отрицание
три
Четыре
вычитание
Ассемблер
шесть
Умножение
отрицание
винчестер
Паскаль
Деление
джойстик
эквиваленция
дизъюнкция
Принтер
следование
два
Дискета
Задание 3:Курдский язык. (10 баллов)
Даны пословицы на курдском языке и их переводы на русский язык:
Нужда рождает нужду
Дэрддэрддьзэ
Бедняк понимает нужду бедняка
К'эсибдэрдек'эсибдьхунэ
Ленивый бык не берет тяжелую ношу
Гае qэлп баре гьраннагьртэ
Шер гоштешернахwэ, шергоште
Лев не ест мясо льва, лев ест мясо быка
га дьхwэ
Ч'э'век'ор саг' дьбэ, дьлеqэлп саг' Слепой глаз становится здоровым, ленивое
сердце не становится здоровым
набэ
Переведите на курдский язык: а) ленивый лев ест мясо; б) здоровый бедняк берет
ношу;
в) бык бедняка не понимает бедняка.
Примечание:г', к', ч', q, w - особые согласные звуки, э', э, ь -- особые гласные
звуки курдского языка.
Задание 4:Телефонная связь. (5 баллов)
В городе Маленьком 15 телефонов. Можно ли их соединить проводами так, чтобы
каждый телефон был соединен ровно с пятью другими? Ответ объяснить.
Задание 5:Тройка чисел (15 баллов)
Тройка чисел (T1,M1,C1) задает стартовое время, а тройка (T2,M2,C2) - финишное
время участника лыжной гонки 30 км (часы, минуты, секунды). Проверить
корректность данных и найти результат участника.
Задача 6: (15 баллов)
Есть N секций забора, каждая длиной 1 метр. Найдите
максимальную площадь прямоугольного поля, которое
можно ограничить не более, чем N секциями забора.
Входными данными является число N (1N 100).
Выходными данными является единственное число –
максимальная площадь прямоугольника в м2.
Пример входных и выходных данных
Входные
выходные
15
12
Ответы:
Задание 1: (10 баллов.)
Такого треугольника не существует, т.к. 1010+1710=2710
Задание 2:(13 баллов)
Элементы
компьютера
Устройства
ввода
Устройства
Ввода-вывода
Устройства
вывода
Внешняя
память
Прочие
устройства
1. Винчестер
2. Дискета
3. CD-ROM
1. Системный блок
2. Звуковые колонки
Восьмеричная
система
счисления
Цифры
Двоичная
система
счисления
Языки
программирования
1. Ноль
2. Один
3. Два
4. Три
5. Четыре
6. Пять
7. Шесть
8. Семь
1. Ноль
2. Один
1. Бейсик
2. Паскаль
3. СИ
4. Ассемблер
Арифметические
Операции
Логические
1. Умножение
2. Вычитание
3. Сложение
4. Деление
1. Конъюнкция
2. Дизъюнкция
3. Следование
4. Отрицание
5. Эквиваленция
1. Клавиатура
2. «Мышка»
3. Джойстик
4. Сканер
1. Монитор
2. Принтер
3. Графопостроитель
Задание 3: (10 баллов)
РЕШЕНИЕ. Разберёмся с порядком слов и словоизменением.
1. Сказуемое всегда стоит в конце фразы, имеет структуру дь* (утвердительная
форма) или на* (отрицательная форма).
2. Группа слов, выражающих подлежащее (субъект), стоит в начале фразы,
объект (прямое дополнение) -- потом, грамматические формы вроде бы с этим
не связаны.
3. Последний, наименее очевидный факт: в конструкциях "Определение (О) -определяемое слово (С)", таких как "ленивый бык", "ленивое сердце", а также
"бедняцкая нужда" (= нужда бедняка) пишется всегда "Се О", т.е. определяемое
слово идет вначале и принимает окончание "е".
На основе этих фактов получаем ответ:
а) Шере qэлпгоштдьхwэ;
б) К'эсибе саг' бар дьгьртэ;
в) Гае к'эсибк'эсибнахунэ.
Критерии оценки:
В работе дан только правильный ответ без анализа и объяснений – 0 баллов.
В работе правильно определены корни курдских слов, но не сделан анализ
построения фраз, не получен правильный ответ – 2 балла
В работе правильно определены корни курдских слов, сделан анализ построения
фраз, но имеются ошибки в окончаниях, не получен правильный ответ – 5
баллов.
В работе получен правильный ответ, правильно найдены корни курдских слов,
произведён анализ построения фраз, верно определены окончания –10 баллов.
Задание 4: Телефонная связь. (5 баллов)Ответ:это невозможно.
РЕШЕНИЕ. Предположим, что это возможно. Рассмотрим тогда граф, вершины
которого соответствуют телефонам, а ребра - соединяющим их проводам. В
этом графе 15 вершин, степень каждой из которых равна пяти. Подсчитаем
количество ребер в этом графе. Для этого сначала просуммируем степени всех
его вершин. Ясно, что при таком подсчете каждое ребро учтено дважды (оно
ведь соединяет две вершины!). Поэтому число ребер графа должно быть равно
15 · 5/2. Но это число нецелое! Следовательно, такого графа не существует, а
значит, и соединить телефоны требуемым образом невозможно.
Критерии оценки.
В работе дан только правильный ответ без анализа и объяснений – 0 баллов.
В работе правильный ответ не получен, но сделаны попытки анализа количества
рёбер графа – 1 балл
В работе получен правильный ответ, подсчитано количество рёбер графа,
имеется анализ – 5 баллов.
Задание 5: Тройка чисел(15 баллов)
var
a,b,x,y,t1,m1,c1,t2,m2,c2 :integer;
begin
write('Старт...'); { ввод данных }
readln(t1,m1,c1);
write('Финиш...');
readln(t2,m2,c2);
if (t1<0) or (t2<0) or (m1<0) or (m2<0) or {проверяем корректность: }
(c1<0) or (c2<0) or (t1>23)or (t2>23) or {часы от 0 до 23 }
(m1>59) or (m2>59) or (c1>59) or (c2>59) { мин,сек.от 0 до 59 }
thenwriteln('Некорректные данные')
elsebegin
x:=(c2-c1) div 60;
y:=(c2-c1) mod 60; {секунды}
a:=((m2-m1) mod 60) + x; {минуты}
x:=(m2-m1) div 60;
b:=((t2-t1) mod 60) + x; {часы}
if y<0
thenbegin
y:=y+60;
a:=a-1;
end;
if a<0
thenbegin
a:=a+60;
b:=b-1;
end;
if b<0
then b:=b+24;
writeln('Результат ',b,' ч. ',a,' мин. ',y,' сек.');
end;
end.
Олимпиадные задачи по информатике 11 класс
Задание 1: палиндромы (3 балла)
Задание 2: Планирование (4 балла)
Задание 3: (6 баллов)
Вы – директор завода по производству кваса. Ваш завод произвёл nлитров
кваса, который теперь нужно разлить по бутылкам. У вас есть большое количество
бутылок трёх различных объёмов: a, b и c литров.
Вам не хочется терять ни литра драгоценного продукта, поэтому все nлитров
должны быть разлиты по бутылкам. Также, вы хотите использовать как можно
меньшее число бутылок. Определите, сколько бутылок каждого типа нужно
наполнить.
Задание 4: Билеты в кино (6 баллов)
Задание 5:Интересный алгоритм. (25 баллов)
Вводятся два числа: одно в восьмеричной системе, а другое — в
шестнадцатеричной. Причем в первой строке расположено число 1  N  1000 —
количество восьмеричных цифр в первом числе, во второй строке — само
восьмеричное число, в третьей строке записано число M — количество
шестнадцатеричных цифр во втором числе, в четвертой строке — само
шестнадцатеричное число (данные корректны). Цифры, большие 9, при этом
обозначаются заглавными латинскими буквами A, B, C и т.д. Требуется написать
программу на языке Паскаль или Бейсик, которая будет сравнивать данные числа
между собой и выводить на экран знак <, > или =, в зависимости от результата
сравнения. Например, если исходные числа были такими:
2
13
1
C
то результат должен быть следующим:<
Ответы:
Задание 1: Ответ24
Задание 2: Ответ10
Задание 3:
Задание 4:
Задание 5: Интересный алгоритм
Решение задачи основано на быстром (поразрядном) переводе входных
данных в двоичную систему счисления. Каждая цифра восьмеричного числа, за
исключением первой, заменяется на 3 двоичные цифры, а каждая цифра
шестнадцатеричного — на 4. Программа читает цифры из файла, запоминая в
массиве результат перевода в двоичную систему. Далее сравниваются длины
полученных массивов. Только если они равны, то производится их поэлементное
сравнение, начиная со старшего разряда.
Программа составлена верно, т.е. правильно сравнивает достаточно большие числа,
не переводя их в десятичную систему. При переводе символа цифры в его числовое
значение не анализируется каждый символ в отдельности. Допускается наличие в
тексте программы одной пунктуационной ошибки. Пример правильной и
эффективной программы:
vara,b:array[1..4000] of 0..1;
n,m,i,j,k,l1,l2,p:integer;
c:char;
begin
assign(input,'numbers.dat'); reset(input);
readln(n); read(c);
k:=ord(c)-ord('0'); p:=4; l1:=0;
while k div p =0 do p:=p div 2;
while p>0 do
begin
l1:=l1+1; a[l1]:=k div p;
k:=k mod p; p:=p div 2
end;
for i:=2 to n do
begin
read(c); k:=ord(c)-ord('0');
p:=4;
for j:=1 to 3 do
begin
l1:=l1+1; a[l1]:=k div p;
k:= k mod p; p:=p div 2
end
end;
readln(m); read(c); p:=8; l2:=0;
if c in ['1'..'9'] then k:=ord(c)-ord('0')
else k:=ord(c)-ord('A')+10;
while k div p = 0 do p:=p div 2;
while p>0 do
begin
l2:=l2+1; b[l2]:=k div p;
k:= k mod p; p:=p div 2
end;
for i:=2 to m do
begin
read(c); p:=8;
if c in ['0'..'9'] then k:=ord(c)-ord('0')
else k:=ord(c)-ord('A')+10;
for j:=1 to 4 do
begin
l2:=l2+1; b[l2]:=k div p;
k:= k mod p; p:=p div 2
end
end;
if l1<l2 then writeln('<') else
if l1>l2 then writeln('>') else
begin
i:=1;
while (i<l1)and(a[i]=b[i]) do i:=i+1;
if a[i]<b[i] then writeln('<')
else
if a[i]>b[i] then writeln('>')
elsewriteln('=')
end
end.
Программа работает верно, но переводит исходные данные в десятичную
систему, что делает ее значительно более сложной. Допускается наличие от
одной до трех синтаксических ошибок: пропущен или неверно указан знак
пунктуации,
неверно
написано
зарезервированное
слово
языка
программирования, не описана или неверно описана переменная.
Программа работает в целом верно, но неправильно работает с большими
числами, не представимыми в компьютере. Допускается наличие от одной до
пяти синтаксических ошибок: пропущен или неверно указан знак пунктуации,
неверно написано зарезервированное слово языка программирования, не
описана или неверно описана переменная
Программа обрабатывает каждый символ явным образом (16 или 6 операторов
IF или оператор CASE, содержащий 16 или 6 вариантов), и, возможно, неверно
работает при некоторых входных данных (например, отдельно не
анализируются первые цифры). Допускается наличие от одной до семи
синтаксических ошибок: пропущен или неверно указан знак пунктуации,
неверно написано зарезервированное слово языка программирования, не
описана или неверно описана переменная.
Задание выполнено неверно
Download