Школьная олимпиада по информатике 1 ОТВЕТЫ школьного этапа Всероссийской олимпиады школьников по информатике 8 - 11 класс Теоретический этап. Информатика Задача А Шифруемся. Тип задачи: Задача на кодирование текстовой информации Максимальная оценка: 10 баллов 1) В таблице ниже представлена часть кодовой таблицы ASCII: Символ Десятичный код Шестнадцатеричный код 1 49 31 5 53 35 J 74 4A K 75 4B P 80 50 j 106 6A k 107 6B Каков шестнадцатеричный код символа «p» ? Ответ: __________________70_______________________ Задача В Кто-кто в теремочке живёт? Тип задачи: Задача на логическое рассуждение Максимальная оценка: 10 баллов На одной улице стоят в ряд 4 дома, в каждом из них живет по одному человеку. Их зовут Василий, Семен, Геннадий и Иван. Известно, что все они имеют разные профессии: скрипач, столяр, охотник и врач. Известно, что (1) Столяр живет правее охотника. (2) Врач живет левее охотника. (3) Скрипач живет с краю. (4) Скрипач живет рядом с врачом. (5) Семен не скрипач и не живет рядом со скрипачом. (6) Иван живет рядом с охотником. (7) Василий живет правее врача. (8) Василий живет через дом от Ивана. Определите, кто где живет, и запишите начальные буквы имен жильцов всех домов слева направо. Например, если бы в домах жили (слева направо) Кирилл, Олег, Мефодий и Пафнутий, ответ был бы КОМП. скрипач врач охотник столяр Геннадий Иван Семён Василий Ответ: ________ГИСВ_________________________________ Задача С Зри в корень. Тип задачи: Задача на системы счисления Максимальная оценка: 10 баллов Школьная олимпиада по информатике 2 Запись числа 6710 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Укажите основание этой системы счисления N. Решение: Начнем с двоичной системы. Для хранения числа 67 необходимо 7 цифр, т.к. 64<67<128. 128=27. Троичная система. Для хранения числа 67 нужно 4 цифры, т.к. 27<67<81. 81=34. Следовательно,троичная система удовлетворяет условию:"число содержит 4 цифры". Теперь необходимо проверить,удовлетворяет данная система условию:"число оканчивается на 1". Для этого нужно перевести 6710 в троичную систему. Но полный певевод делать не надо,т.к. нас интересует только первый остаток, на него и будет оканчиваться 67 в троичной системе. 67 | 3 _ 6 22 7 6 1 Остаток равен 1. Следовательно, и второе условие выполнено, поэтому троичная система подходит. Ответ:____ Основание троичной системы равно 3.____________________________ Задача D Алгоритм Тип задачи: Задача на построение алгоритма управления формальным исполнителем Максимальная оценка: 10 баллов У исполнителя Квадратор две команды, которым присвоены номера: 1. возведи в квадрат 2. вычти 3 Первая из них возводит число на экране во вторую степень, вторая вычитает из числа 3. Составьте алгоритм получения из числа 2 числа 46, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 2221 – это алгоритм вычти 3 вычти 3 вычти 3 возведи в квадрат, который преобразует число 4 в 25.) Если таких алгоритмов более одного, то запишите любой из них. Ответ: ___________22212______________________________ Задача E Пути-дороги Тип задачи: Задача на применение теории графов Максимальная оценка: 15 баллов Школьная олимпиада по информатике 3 На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, К. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К? Ответ: ___________8________________________ Задача F Раз - цепочка, два - цепочка Тип задачи: Задача по кодированию информации Максимальная оценка: 25 баллов Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечётна, то дублируется средний символ цепочки символов, а если чётна, то в начало цепочки добавляется буква Г. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А – на Б, Б – на В и т. д., а Я – на А). Получившаяся таким образом цепочка является результатом работы описанного алгоритма. Например, если исходной была цепочка УРА, то результатом работы алгоритма будет цепочка ФССБ, а если исходной была цепочка ПУСК, то результатом работы алгоритма будет цепочка ДРФТЛ. Дана цепочка символов РЕКА. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. Применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ Ответ: ____________ЕТЖЖМВ _____________________________ Задача G Ход Черепахой Тип задачи: Задача на использование формального исполнителя Максимальная оценка: 20 баллов Исполнитель Черепашка передвигается по экрану компьютера, оставляя за собой след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды: Вперед n (где n – целое число), вызывающая перемещение Черепашки на n шагов в направлении движения. Направо m (где m – целое число), вызывающая изменение направления движения Черепашки на m градусов по часовой стрелке. Запись Повтори k [Команда 1 Команда 2 Команда 3] означает, что последовательность команд, обозначенная в скобках, повторяется k раз. Черепашке был дан для исполнения следующий алгоритм: Повтори 4 [Вперед 20 Направо 90 Вперед 20 Направо 90 Вперед 20 Направо 90 Вперед 20 Налево 30] Школьная олимпиада по информатике 4 Какая фигура появится на экране? Ответ: Задача H Фишки Тип задачи: Задача по теории графов Максимальная оценка: 50 баллов Два игрока играют в следующую игру. На координатной плоскости стоит фишка. Игроки ходят по очереди. В начале игры фишка находится в точке с координатами (-1, -2). Ход состоит в том, что игрок перемещает фишку из точки с координатами (А, В) в одну из трёх точек: или в точку с координатами (А-2, В-3), или в точку с координатами (А+2, В+2), или в точку с координатами (А+1, В+4). Игра заканчивается, как только расстояние от фишки до начала координат превысит число 6. Выигрывает игрок, который сделал последний ход. Кто выигрывает при безошибочной игре обоих игроков – игрок, делающий первый ход, или игрок, делающий второй ход? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте, построив таблицу или дерево игры. Ответ: Выигрывает игрок, делающий первый ход; его ход - (А+2, В+2) дает возможность ему выиграть на втором ходу с любой позиции фишки после хода второго игрока. Хотя у него есть возможность выиграть и если его ход будет (А+1,В+4), что видно из таблицы ниже. Школьная олимпиада по информатике 5 Старто вая позици я 1 ход 1 игрок 2 ход 1 игрок 2 игрок (-5,-8) - (-3,-5) (-1,-3) - (-2,-1) (-3,-6) (-1,-3) (1,-1) Школьная олимпиада по информатике 6 (0,1) (-1.-2) (1,-1) (1,0) (3,2) (5,4) (4,6) (1,1) (2,4) (4,6) (3,8) (-2,-1) (-4,-4) (0,1) (-1,3) (0,2) (0,1) (2,4) (4,6) (3,8) (-1,3) (1,6) (3,8) (2,10) Практический этап. Информатика-технологии Задача M Грузоперевозки Тип задачи: Задача по технологии работы с большими массивами числовых данных Максимальная оценка: 50 баллов В электронную таблицу занесли информацию о грузоперевозках, совершённых некоторым автопредприятием с 1 по 9 октября. Ниже приведены первые пять строк таблицы. Каждая строка таблицы содержит запись об одной перевозке. В столбце A записана дата перевозки (от «1 октября» до «9 октября»); В столбце B – название населённого пункта отправления перевозки; В столбце C – название населённого пункта назначения перевозки; В столбце D – расстояние, на которое была осуществлена перевозка (в километрах); в столбце E – расход бензина на всю перевозку (в литрах); В столбце F – масса перевезённого груза (в килограммах). Всего в электронную таблицу были занесены данные по 370 перевозкам в хронологическом порядке. Школьная олимпиада по информатике 7 Выполните задание. Откройте файл с данной электронной таблицей (расположение файла Вам сообщат организаторы). На основании данных, содержащихся в этой таблице, ответьте на два вопроса. 1. На какое суммарное расстояние были произведены перевозки с 1 по 3 октября? Ответ на этот вопрос запишите в ячейку H2 таблицы. 2. Какова средняя масса груза при автоперевозках, осуществлённых из города Липки? Ответ на этот вопрос запишите в ячейку H3 таблицы с точностью не менее одного знака после запятой. Полученную таблицу необходимо сохранить под именем, указанным организаторами. Содержание верного ответа (допускаются иные формулировки ответа, не искажающие его смысла) Решение для OpenOffice.org Calc В ячейку H2 необходимо записать формулу =SUM(D2:D118) В ячейку H3 необходимо записать формулу =SUMIF(B2:B371;"Липки";F2:F371)/ COUNTIF(B2:B371;"Липки") Решение для Microsoft Excel В ячейку H2 необходимо записать формулу =СУММ(D2:D118) В ячейку H3 необходимо записать формулу =СУММЕСЛИ(B2:B371;"Липки";F2:F371)/ СЧЁТЕСЛИ(B2:B371;"Липки") Возможны и другие варианты решения, например сортировка строк по значению столбца B с последующим заданием правильных блоков для функций. Если задание выполнено правильно и при выполнении задания использовались файлы, специально подготовленные для проверки выполнения данного задания, то должны получиться следующие ответы: На первый вопрос: 28468. На второй вопрос: 760,9 Указания по оцениванию Баллы Получены правильные ответы на оба вопроса. Допустима запись ответа в другие ячейки (отличные от тех, которые указаны в задании), при условии правильности полученных ответов. Допустима запись ответов с большей точностью 50 Получен правильный ответ только на один из двух вопросов 25 Правильные ответы не получены ни на один из вопросов 0 Максимальный балл: Практический этап. Программирование. 50 Школьная олимпиада по информатике 8 Задача L Примеры ослика Иа-Иа Тип задачи: Задача по программированию Максимальное время работы на одном тесте: 2 секунды Максимальный объем используемой памяти: 64 мегабайта Максимальная оценка: 100 баллов Условие задачи: Однажды Пятачок пришел к ослику Иа-Иа и застал того в величайшей задумчивости. Выяснилось, что Иа-Иа решил поупражняться в арифметике и теперь в уме решает примеры на сложение. Вот только сверить получающиеся ответы ему было не с чем. И поэтому вопрос, правильно ли он решил пример, очень тяготил бедного ослика. Не прошло и пяти минут, как Пятачок осчастливил друга, написав специально для него программу, находящую сумму двух чисел. Вам предлагается сделать то же самое. Входные данные Во входном файле input.txt в двух строках находятся два числа N и М (-32000 < N, М < 32000). Выходные данные В выходной файл output.txt нужно вывести сумму чисел N и M. Пример Примеры входных данных input.txt -31 11 Примеры выходных данных output.txt -20 Комментарии В качестве решения данной задачи вам необходимо создать исходный файл программы на языке Бейсик, Паскаль или Си. При вводе и выводе запрещается использовать дополнительные текстовые сообщения (например, «Введите число», «Ответ равен ...»), а также нельзя использовать пустой оператор readln в конце программы. Входной и выходной файл необходимо называть строго маленькими буквами. Файлы располагаются в текущей директории, нельзя использовать абсолютные пути к имени файла. Ответ: CLS OPEN "c:\input.txt" FOR INPUT AS #1 INPUT #1,a INPUT #1,b CLOSE c=a+b OPEN "c:\back.txt" FOR OUTPUT AS #2 PRINT #2, c CLOSE END