1. Слушай и двигайся

Тамара — слепая девочка, которая может гулять по городу, используя говорящие очки.

На говорящие очки установлены камеры и интеллигентная система распознавания объектов. Очки различают четыре типа объектов: дом, дерево, дорогу и траву. Когда Тамара оказывается в новом квадрате, то очки сообщают ей (именно в этом порядке), что находится слева от неё, перед ней и справа от неё — например, "дерево дорога дом".

Тамара начинает двигаться с отмеченного треугольником квадрата (при этом она смотрит в сторону правой части карты) и слушает сообщения говорящих очков. Она слышит следующее:

Используя эти сообщения, девочка доберётся до одного из обозначенных буквами квадрата.

Вопрос

До какого квадрата доберётся Тамара?

[Raadionupud]

A. A

B. B

C. C

D. D

E. E

F. F

Ответ

Правильный ответ: B.

Объяснение ответа

Ответ можно найти несколькими способами. Например, можно начать из стартового пункта и искать путь, который соответствовал бы передаваемым очками сообщениям. Однако очки не сообщают о том, в какую сторону двигалась Тамара. Именно поэтому на каждом этапе нам необходимо изучить все квадраты вокруг и проверить соответствует ли описание обстановки тому, что сообщают очки. Например, если посмотреть на ведущий к квадрату А путь, мы видим, что после третьего сообщения ("дерево дорога дерево") следующим должно было бы быть сообщение "трава дорога дерево", но очки сообщили совсем другое — "дорога дорога дорога". Значит, Тамара не пошла в квадрат А, и мы должны изучить другие варианты. Так мы должны рассуждать до тех пор, пока не проверим все пути или до того момента, когда без каких-либо противоречий доберемся до какого-то обозначенного квадрата. На рисунке изображены все возможные пути, которые могла бы пройти Тамара, а красный X обозначает квадрат, где возникают противоречия.

Другой способ решить это задание — это проверить все шесть квадратов-пунктов назначений: из них только B и D соответствуют сообщению "дом дорога дерево". Но у квадрата D нет соседей, которые бы соответствовали предпоследнему сообщению "дорога дорога дерево". Значит, Тамара добралась до квадрата B.

Это информатика!

Задание показывает, как список сообщений от говорящих очков может быть достаточным источником информации для определения квадрата-пункта назначения, хотя эти сообщения и не говорят прямо в каком направлении двигалась Тамара. Часто бывает трудно оценить, насколько конфиденциальна собранная о людях информация, особенно в случае пространственных и географических данных.

Распознавание объектов является важной темой в информатике. Оснащенные искусственным интеллектом системы можно натренировать распознавать различные объекты, такие как дома, деревья и дорожные покрытия. Скорее всего и камера твоего смартфона умеет распознавать лица людей и обозначать их рамками. Беспилотные автомобили должны распознавать находящихся вокруг людей, машины, знаки дорожного движения и другие объекты, чтобы на основании полученных данных решить, в каком направлении двигаться дальше. Для помощи слепым и слабовидящим системы способны добавить автоматическое описание картинки (англ Automatic Alt Text, AAT). Хотя "говорящие очки" — это пока еще что-то из области фантастики, уже сейчас существуют прототипы, которые направлены на реализацию этой идеи.

Категории

2. Крестики-нолики

В крестики-нолики играют вдвоём. На клетчатом поле 3 на 3 игроки по очереди ставят свои символы (Х или О, соответственно), причём только в пустые клетки. Победителем считается тот, кто первым составит состоящую из трёх своих символов строчку, столбец или диагональ. Если никто из игроков не достиг такого результата, то игра заканчивается ничьей.

На рисунке пример игры, где Х выиграл; последний шаг каждого этапа выделен.

Положение, которое будет на поле в конце игры, назовём итоговым состоянием. Но не все поля, заполненные в случайном порядке символами Х и О, соответствуют итоговым состояниям.

Вопрос

Что из нижеприведённого соответствует итоговому состоянию, учитывая правила игры крестики-нолики?

[Raadionupud]

A.

B.

C.

D.

Ответ

Правильный ответ: C.

Объяснение ответа

Ответ C правильный: игрок O выиграл, и поэтому игра закончилась.

Вариант A не отображает корректного состояния: игрок X выиграл, но игрок O поставил больше символов, чем X. Так как победитель всегда ходит последним, то он делает либо больше, либо столько же ходов, что и противник, но никак не меньше.

Вариант B не отображает корректного состояния: на поле имеется 5 символов X, но только 3 символа O. Так как ходы делаются по очереди, то разница в количестве символов может быть только 0 или 1.

Вариант D не показывает итогового состояния: победитель ещё не определён, и не все поля заполнены.

Это информатика!

При решении этого задания мы проверили на соответствие четырёх рисунков правилам игры. Основываясь на правилах, мы, в свою очередь, можем вывести требования к итоговому состоянию. Например:

Если какой-то рисунок противоречит приведённым требованиям, значит он не отражает корректное итоговое состояние.

Правила очень важны в информатике, которая также занимается и обработкой данных. Имеются, например, точные требования того, как должны выглядеть номера телефонов, личные коды, файлы с фотографиями. Если мы попытаемся открыть какой-нибудь файл с фотографиями в редакторе изображений, то сначала программа проверит, соответствует ли содержимое файла требованиям формата файла изображения.

С другой стороны, также очень важно, чтобы установленные программой правила не были бы очень строгими. Например, форма для записи контактов, разработанная для интернет-магазина программистами из США, может требовать содержания в телефонном номере 3-значного кода региона и 7-значного номера абонента. Однако в Эстонии телефонные номера имеют другую структуру, и их невозможно было бы внести в форму.

Категории

3. Мисс Бесконечность

Ученики одного класса общаются друг с другом как показано на рисунке. Например, в течение дня ученик H общается только с D, E и F.

В понедельник на работу пришла новая учительница математики, которую три ученика A, D и I за её причёску тут же прозвали "мисс Бесконечность". Прозвище распространялось среди учеников таким образом, что каждый ученик, у которого больше половины собеседников уже стало использовать это прозвище, сам на следующий школьный день стал так называть учительницу.

Вопрос

Когда настал тот первый день, когда все ученики этого класса стали использовать прозвище "мисс Бесконечность"?

[Raadionupud]

A. Вторник

B. Среда

C. Четверг

D. Пятница

E. Следующий понедельник

Ответ

Правильный ответ: D.

Объяснение ответа

Проследим распространение прозвища.

Во вторник это прозвище стали использовать ученики G и C. G общается с одним одноклассником, а именно с I, который использовал это прозвище уже в понедельник. C общается с четырьмя одноклассниками, и трое из них уже в понедельник использовали новое прозвище. Трое из четырёх — это уже больше половины, значит и C начал уже во вторник использовать новое прозвище.

В среду новое прозвище стал использовать B.

В четверг к ним присоединился E.

В пятницу новую учительницу математики назвали "мисс Бесконечность" уже и ученики F и H.

Это информатика!

Социальные сети играют большую роль в распространении информации, идей и точек зрения. Мысль, которая окажется в социальной сети, быстро распространится или исчезнет. Исследования скорости распространения информации в социальных сетях является очень популярным направлением информатики, а увеличение этой скорости стал важной отраслью в мире рекламы.

Это задание сосредоточилось на так называемой пороговой модели (англ threshold model), где у каждого человека есть порог, то есть количество контактов, который должен быть активным (в данном случае это означает использование нового прозвища), чтобы и человек сам стал активным (то есть и сам начал использовать это прозвище).

Категории

  • Понимание информации
  • Алгоритмы
  • Графы

4. Бобровые плотины

На реке каждый из шести бобров A, B, C, D, E и F построил свою плотину. Однажды случился шторм, и часть брёвен, из которых были построены плотины, смыло вниз по течению. К счастью, на каждом бревне было указано имя строителя. Например, на строительном материале, который использовал бобр А при строительстве плотины, была отметка в виде буквы "A".

После шторма каждый бобр собрал прибившиеся к его плотине чужие брёвна, чтобы затем передать их хозяевам. Результат был следующим:

Вопрос

Если опираться на собранные бобрами брёвна, то в каком порядке были построены плотины (если смотреть от расположенной на самом верху плотины и дальше двигаться вниз по течению)?

[Raadionupud]

A. A→B→C→D→E→F

B. C→B→F→A→D→E

C. C→F→B→D→A→E

D. E→C→F→B→A→D

Ответ

Правильный ответ: D.

Объяснение ответа

Брёвна плывут вниз по течению. Если бобр Х нашёл строительные материалы бобра Y, то, следовательно, плотина бобра X должна была находиться ниже плотины бобра Y. Учитывая это и опираясь на вышеприведённый второй рисунок, мы можем составить схему (так называемый граф), которая покажет, как расположены две плотины относительно друг друга. Стрелками на схеме отмечены направления течения между двумя плотинами.

Как можем заметить, ни одна из стрелок на направляется в сторону плотин C или E. Значит, только они могут быть первыми плотинами, и вариант А не подходит. Вариант В неправильный, потому что на схеме видно, что плотина F должна располагаться выше плотины B. Вариант C также не подходит, потому что в этом случае плотина D должа быть выше E, а на схеме показано наоборот. Итак, правильным вариантом может быть только D.

Это информатика!

Ориентированный граф (англ directed graph) состоит из вершин и ориентированных рёбер или арок. В данном задании мы каждую плотину рассматриваем как вершину, а арки описывают направления движения брёвен. Такое упорядочение плотин в соответствии с направлением течения реки или, в общем случае, упорядочение вершин в соответствии с направлением арок называется топологической сортировкой (англ topological ordering).

У одного графа может быть несколько топологических сортировок. Например, в данном задании, порядок плотин C, F, B, A и D является устойчивым, но на основании данных из этого задания плотина Е может располагаться среди других плотин в пяти различных местах.

С другой стороны, в некоторых ориентированных графах может и не быть топологической сортировки. Это может произойти, если в графе присутствует так называемый цикл — это такая последовательность арок, при которой, начиная с какой-то либо вершины, мы вновь возвращаемся к той же самой вершине.

Одним из способов нахождения топологической сортировки является применение алгоритма Кана (англ Kahn's algorithm). Согласно ему, прежде всего выбирается какая-нибудь вершина S, которая не является конечной вершиной какой-нибудь арки. Далее она удаляется вместе с выходящей из неё арки. Шаги повторяются до тех пор, пока граф не окажется пустым. Алгоритм Кана позволяет проверить наличие циклов в графе: если в ходе выполнения алгоритма мы окажемся в таком состоянии, при котором граф всё ещё не будет пуст, и каждая оставшаяся вершина будет являться конечной вершиной какой-нибудь арки, то это будет указывать на отсутствие в этом графе топологической сортировки.

В информатике топологическая сортировка применяется, например, для составления порядка работы процессов.

Категории

  • Понимание информации
  • Графы

5. Собираем камни

Владения семьи Бобровых включают 21 канал. Всего из каналов необходимо извлечь 31 камень. Все бобры начинают работу с пруда, плывут по каналам до камней и несут их домой.

Камни очень тяжёлые, и поэтому один бобр может за один раз принести только один или два камня. Бобры всегда тратят ровно один час, чтобы проплыть от одного перекрёстка каналов до другого. После одновременного старта бобры должны принести все камни домой за четыре часа.

Вопрос

Какое наименьшее количество бобров для этого понадобится?

[Raadionupud]

A. 14 бобров

B. 18 бобров

C. 20 бобров

D. 24 бобра

Ответ

Правильный ответ: A.

Объяснение ответа

Так как с точки зрения решения задачи точная форма каналов и камней не важна, то мы можем приведённый в задании рисунок упростить до нижеприведённой схемы, где каналы представлены линиями, а груды камней — числами.

Вначале мы можем заметить, что всего за два часа 2 бобра могут принести домой 4 камня, если проплывут отмеченный на схеме красным цветом путь. Далее у них останется достаточно времени, чтобы принести ещё 4 камня, проплыв по синему пути вперёд-назад.

В то же время остальные бобры могут плыть, как показано на следующей схеме: 3 бобра могут проплыть по красному пути и принести домой 6 камней; следующие 3 бобра могут проплыть по синему пути и тоже принести домой 6 камней; следующие 2 бобра могут проплыть по зеленому пути и принести домой 4 камня; последние 4 бобра могут проплыть по фиолетовому пути и принести домой последние 7 камней.

Таким образом, мы показали, что 14 бобров действительно могут принести домой все камни за четыре часа. Но откуда мы знаем, что это невозможно при меньшем количестве бобров? Для этого обратим внимание на три момента.

Во-первых, после того, как бобр уже добрался до дома, потребуется не менее двух часов, чтобы снова выйти и принести следующие камни (по меньшей мере ему потребуется один час, чтобы доплыть до камней, и ещё не менее одного часа, чтобы принести их домой). Поскольку все камни должны оказаться дома через четыре часа, то это означает, что от момента старта до момента, когда бобр окажется дома, он не должен потратить более двух часов на плавание.

Во-вторых, есть только один путь от старта до дома, прохождение которого занимает два часа, и нет ни одного пути, прохождение которого занимало бы меньше времени. Поскольку на единственном достаточно коротком пути имеется 4 камня, то это означает, что только 2 бобра смогут за 4 часа принести домой две груды камней.

В-третьих, всего в каналах находится 31 камень. Если бы каждый бобр принёс домой по 2 камня, то нам понадобилось бы в общей сложности 16 бобров (31/2=15,5, но очевидно, что нельзя использовать половину бобра, чтобы принести домой последний камень!). Так как есть только 2 бобра, которые могут принести домой две груды камней, то нам потребуется минимум 16–2=14 бобров.

Это информатика!

Текст задания (и имеющийся в нём рисунок) описывают красочный рассказ о бобрах и камнях. Первый шаг учёного — это убрать все ненужные детали и оставить только ту информацию, которая необходима для поиска решения. Благодаря этому подходу мы смогли представить каналы в виде линий, а груды камней с помощью чисел, показывающих их размеры. Такой способ представления данных называется графом и широко используется в компьютерных науках.

В этом задании нам нужно было найти решение для переноски камней с наименьшим количеством бобров. Задания, где необходимо найти наилучшее решение по какому-либо критерию, принято называть задачами оптимизации. Есть несколько очень общих методов для их решения, но они основаны на переборе всех возможных вариантов и занимают очень много времени. Часто можно достичь оптимального решения намного быстрее, если обратить внимание на специфические моменты задания.

Для многих типов заданий придуманы специальные, подходящие для них методы решения. Для некоторых типов заданий известно, что существующие методы являются наилучшими из возможных, но для многих типов заданий это не так, и исследователи всё ещё ищут новые и лучшие решения.

Категории

  • Дискретная математика
  • Графы

6. Списки

Например, мы можем представить список из чисел 3, 5, 2, 4, 1 визуально следующим образом (маленькие красные числа наверху являются индексами элементов, то есть они обозначают местоположение числа в списке):

Для обозначения расположенного на втором месте числа мы можем использовать запись (X 2). Следовательно, в нашем примере (X 2) будет числом 5, а (X 5) будет числом 1.

Мы можем задать индексы и косвенно. Например, (X (X 3)) будет 5, потому что (X 3) — это 2, а значит (X (X 3)) = (X 2) = 5.

У нас имеется три списка: A, B и C.

Вопрос

Какое число обозначается записью (A (B (C 3)))?

[Täisarv]

Ответ

Правильный ответ: 4.

Объяснение ответа

Так как (C 3) = 4, то (B (C 3)) = (B 4) = 3 и (A (B (C 3)) = (A (B 4)) = (A 3) = 4.

Это информатика!

Структуры данных очень важны в программировании. Особенно полезны такие структуры, которые способны хранить последовательности элементов. Последовательности можно соединить между собой таким образом, что элементы одной последовательности содержат индексы элементов из другой последовательности. На первый взгляд, кажется запутанным, но на самом деле, если вычислять шаг за шагом, как и описано выше, то ничего сложного в этом нет. В то же время такой способ обращения к элементам зачастую является очень полезным.

Категории

  • Понимание информации

7. Залив Бобров-программистов

В заливе Бобров-программистов маяки включаются особенным способом. У каждого маяка есть свой уникальный код, в соответствии с которым он и светит. Это позволяет морякам легко определить, на какой маяк они в данный момент смотрят.

Например, если код маяка "1011001001", то в течение первых десяти секунд он включается и выключается следующим образом: 1ую секунду светит, 2ую секунду не светит, 3ью секунду светит, 4ую секунду светит, 5ую секунду не светит, 6ую секунду не светит, 7ую секунду светит, 8ую секунду не светит, 9ую секунду не светит, 10ую секунду светит.

Через каждые следующие 10 секунд этот процесс повторяется.

Вопрос

Если все маяки включатся в одно и то же время, то на какой секунде все маяки будут светить одновременно?

[Täisarv]

Ответ

Правильный ответ: 7.

Объяснение ответа

Если мы выпишем друг под другом все коды всех маяков, то заметим, что на 7ой позиции всех кодов располагается число 1 (что и означает, что маяк светит).

1 2 3 4 5 6 7 8 9 10
0 1 0 0 0 1 1 0 1 0
0 1 0 1 0 0 1 0 0 1
1 1 0 0 1 1 1 0 0 0
1 0 0 0 1 1 1 0 0 1
1 0 1 1 0 0 1 0 0 1
1 0 0 1 0 0 1 0 0 1

Это информатика!

В информатике часто приходится какие-то события или состояния шифровать с помощью цифр или букв. Для этого часто используются различные вычислительные системы. Например, если происходит какое-то событие, то для его обозначения некоторой переменной присваивается подходящее значение, чтобы было понятно: это событие произошло, состояние было достигнуто. Позже, когда программа выполняет свою работу, то, основываясь на этом значении, может быть запущена та или иная функция.

Категории

  • Понимание информации

8. Зажги лампочку!

Бобр Стивен вместе с друзьями решил сыграть в игру "Зажги лампочку!". В игре имеется 8 кнопок, на которые могут встать Стивен и его друзья. Когда кто-то стоит на кнопке, то провод передаёт электрический ток. Эти провода проходят через коробки в форме треугольников и квадратов и в итоге доходят до лампочки.

  • Треугольник передаёт электрический сигнал только тогда, когда оба входящих в эту коробку провода передают сигнал.
  • Квадрат передаёт электрический сигнал только в том случае, если только один из входящих проводов передаёт сигнал.

Бобры выиграют игру, если они смогут зажечь лампочку.

Вопрос

На каких кнопках должны стоять Стивен и его друзья, чтобы лампочка зажглась?

(Запиши номера кнопок по возрастанию и без каких-либо других символов, например 1458. Если существует несколько решений, то запиши любое из них.)

[Tekstikast]

Ответ

В этом задании может быть целых 16 правильных ответов: 12356 или 12456 или 1237 или 1247 или 12357 или 12457 или 12367 или 12467 или 1238 или 1248 или 12358 или 12458 или 12368 или 12468 или 1235678 или 1245678.

Объяснение ответа

Хороший подход к решению этого задания состоит в том, чтобы работать в обратном направлении. Лампочка в конце схемы подключена к проводу, идущему от треугольника. Чтобы в этом проводе был ток, должен быть ток и в обоих проводах, ведущих к треугольнику.

Эти провода соединены с треугольником и квадратом. Мы знаем, что в треугольнике должен быть ток, поэтому ток должен быть и в обоих соединенных с ним проводах. Мы также знаем, что в квадрате должен быть ток, поэтому в одном из проводов, соединенных с ним, должен быть ток, а в другом нет.

Для столбцов 1 и 2 рассмотрим отдельно провода в верхней и нижней половинках. Для верхней половинки оба провода в столбце 2 должны быть под напряжением, поэтому должны быть нажаты обе верхние кнопки в столбце 1 и только одна из двух нижних кнопок.

Для нижней половинки один из ведущих к квадрату проводов должен быть под напряжением, а другой нет. Значит, либо треугольник, ведущий к нему, должен находиться под током, а квадрат — нет, либо наоборот. Есть несколько способов сделать это — вышеприведённое решение показывает один из них. В этом решении треугольник находится под напряжением (и требует нажатия обеих кнопок), но это означает, что квадрат должен быть обесточен (поэтому либо обе кнопки должны быть нажаты или нет, в данном случае обе кнопки не нажаты).

Это информатика!

В этом задании провода могут быть или не быть под напряжением. Информатики называют такие данные, которые могут находиться только в двух различных состояниях, двоичными. Другими примерами двоичности являются двоичные числа (в которых используются только цифры 0 и 1), проверка того, является ли условие выполненным или нет, или проверка того, является ли утверждение истинным или ложным.

Двоичные данные очень важны для работы компьютеров. Компьютеры состоят из миллиардов крошечных переключателей, называемых транзисторами. Эти транзисторы могут быть выключены или включены, и всё, что может сделать компьютер, — это изменить состояния транзисторов между этими двумя состояниями.

Транзисторы используются для создания компьютерных логических схем, которые мы видим в этом задании. Треугольники, включающиеся только при подаче напряжения на оба входящих провода, называются вентилями "И" (англ AND gate), а квадраты, включающиеся при подаче напряжения только на один входящий провод, называются вентилями "исключающее ИЛИ" (англ XOR gate). Это только два возможных варианта, на самом деле используется больше типов логических переключателей (вентилей).

Другое место, где мы находим логические операции, — это компьютерные программы. Иногда программе необходимо принять решения о дальнейших действиях, исходя из того, произошло ли раньше что-то одно (а иногда и много). Логические операции, в том числе AND и XOR, используются для принятия этих решений на основе нескольких различных условий.

Категории

  • Логика

9. Раскрась лягушку!

На экране компьютера мы видим рисунок лягушки. Однако цвет лягушки неизвестен.

Для изменения цвета у нас имеется четыре программы, но мы можем запустить только одну из них. Мы хотим быть уверенными, что по завершению работы программы мы получим лягушку именно зелёного цвета, вне зависимости от её первоначального цвета.

Вопрос

Какую программы мы должны запустить?

[Raadionupud]

A.

Если лягушка красная, то покрась её в зелёный, в противном случае — в жёлтый.

B.

Если лягушка жёлтая, то покрась её в красный, в противном случае — в зелёный.

C.

Если лягушка жёлтая, то покрась её в красный.
Если лягушка не жёлтая, то покрась её в зелёный.

D.

Если лягушка красная, то покрась её в зелёный.
Если лягушка не красная, то покрась её в жёлтый.

Ответ

Правильный ответ: C.

Объяснение ответа

Правильный ответ C, потому что при выполнении второй команды её условие будет обязательно верным: если вначале лягушка была жёлтой, то после выполнения первой команды она стала красной, а значит к началу выполнения второй команды она ни в коем разе не будет жёлтой. Следовательно, её покрасят в зелёный цвет.

При запуске программы варианта A лягушку в конце покрасят в зелёный цвет только при условии, что она первоначально была красной, во всех других случаях её покрасят в жёлтый цвет.

Если запустим программу B, то лягушка превратиться в зелёную при условии, что она первоначально не была жёлтой (в таком случае в конце она будет красной).

Если запустим программу D, то в любом случае лягушку покрасят в жёлтый цвет.

Это информатика!

Программируя (если мы говорим об императивных языках программирования), мы можем записать условные предложения строки, которые выполняются в заданной последовательности. Условные предложения в виде "если C, то A, в противном случае B" (англ "if C then A else B") или просто "если C, то A" (англ "if C then A"), на диаграмме выглядят следующим образом:

Заметим, что две программы

если C, то A, в противном случае B

и

если C, то A
если не C, то B

как правило, не являются эквивалентными, то есть они не всегда имеют одно и то же значение. А именно, во втором случае (если условие С проверяется дважды) выполнение команды А может изменить состояние системы таким образом, что условие С становится ложным, а значит запускается как команда А, так и B. В случае первого варианта обязательно выполняется только одна команда из двух (A или B). Это различие мы можем заметить при сравнении вариантов B и C.

Категории

  • Алгоритмы
  • Логика

10. Фигура сердца

Таня начала с двух фигур — круга и квадрата.

Используя их, она получила фигуру сердца:

Чтобы получить фигуру сердца, она воспользовалась только этими операциями:

  • "Поверни": поверни одну фигуру под любым углом в любом направлении;
  • "Перемещай": перемести одну фигуру на другое место;
  • "Дублируй": сделай копию одной фигуры в том же месте.

Вопрос

Какую из следующих последовательностей команд Таня могла использовать, чтобы получить фигуру сердца?

[Raadionupud]

A. Дублируй круг. Поверни квадрат. Перемещай круг. Перемещай круг.

B. Дублируй квадрат. Поверни квадрат. Перемещай квадрат. Перемещай круг.

C. Дублируй круг. Поверни круг. Перемещай круг. Перемещай квадрат.

D. Перемещай круг. Перемещай круг. Дублируй круг. Перемещай квадрат.

Ответ

Правильный ответ: A.

Объяснение ответа

Квадрат надо повернуть так, чтобы угол был направлен вниз. Это происходит только в вариантах A и B, а значит только один из них может содержать правильный ответ. Также мы видим, что для получения фигуры сердца необходимо два круга. Вариант B не может быть правильным, потому что круг не дублируется. Значит, остаётся только вариант A.

На нижеприведённых рисунках мы видим результаты операций, выполняемые в варианте A. Следовательно, вариант A содержит правильный ответ.

Операция Результат
Дублируй круг
Поверни квадрат
Перемещай круг
Перемещай круг

Имеется и другая возможная последовательность операций для получения фигуры сердца: Дублируй круг. Поверни квадрат. Перемещай квадрат. Перемещай квадрат.

Это информатика!

Если вы создаёте рисунки в графическом редакторе, то можете использовать различные операции. В данном задании для получения нужной фигуры сердца мы использовали такие простые фигуры как круг и квадрат: мы сделали копию круга, повернули квадрат, переместили круг, и т.д. Если же мы хотим, чтобы компьютер выполнил эти операции, то мы должны добавить необходимую информацию: куда необходимо переместить круг и на сколько градусов необходимо повернуть квадрат.

Последовательности, приведенные в вариантах ответа, являются неполным описанием того, что делать. Информатики говорят, что это обобщения команд. Они дают представление о том, что делать, но не объясняют это достаточно детально, чтобы программа смогла работать. Такой подход тоже полезен, потому что игнорирование деталей позволяет сосредоточиться на том, что важно. Часто разработка программного обеспечения начинается именно с обобщения, чтобы продумать основную идею программы и только потом добавить недостающих деталей.

Категории

  • Алгоритмы
  • Геометрия

11. Оформление текста

В приведённом тексте пробелы отмечены символом '·', а переходы на новые абзацы символом ''. Неотмеченные переходы на новую строку автоматически добавляются текстовым процессором.

Статья·1.·Эстония·—·самостоятельная·и·независимая·демократическая·республика·,где·
носителем·верховной·власти·является·народ.·Самостоятельность·и·независимость·Эстонии·
непреходящи·и·неотъемлемы.¶

Статья·2.·Территория,территориальные·воды·и·воздушное·пространство·Эстонского·
государства·—·единое·и·неделимое·целое·.·По·своему·государственному·устройству·
Эстония·единое·государство,·административно-территориальное·деление·которого·
устанавливается·законом.¶

Вопрос

Сколько существует пар слов, между которыми при оформлении текста пробелы были использованы неправильно?

(Если в одной паре допущено несколько ошибок, то считай это за одну ошибку.)

[Täisarv]

Ответ

Правильный ответ: 3.

Объяснение ответа

Первая ошибка — это 'республика·,где', где пробел должен быть после запятой, а не перед.

Вторая ошибка — это 'Территория,территориальные', где пробел должен быть после запятой.

Третья ошибка — это 'целое·.·По', где пробела не должно быть перед точкой.

Это информатика!

Помимо того, что неправильное использование знаков препинания является ошибкой правила правописания, оно также может привести к неудобствам, связанным с автоматическим переносом строки во время обработки текстов на компьютере. Если не поставить пробел после запятой или точки, то при необходимости текстовой редактор не сделает в этом месте разрыва строки; это может повлиять на выравнивание текста. Если поставить пробел перед запятой или точкой, то при автоматическом переходе на новую строку текстовой редактор может перенести знак препинания в начало следующей строки, а это выглядит некрасиво.

С точки зрения правописания мы можем обсудить, имеется ли в случае 'республика·,где' одна ошибка (пробел и запятая в неправильном порядке) или две ошибки (лишний пробел перед запятой, отсутствие необходимого пробела после запятой). Чтобы было ясно и понятно, то вместо количества ошибок в задании спрашивается количество пар слов, где что-то не так. Такая же точность требуется во многих ситуациях, когда разные стороны (будь то люди или компьютеры) должны понимать правило одинаково — например, когда оценивание за диктант на экзамене по эстонскому языку основывается на количестве ошибок.

Категории

  • Обработка текста

12. Электронная таблица

Рассмотрим следующий лист электронной таблицы, где в некоторых ячейках содержатся числа, а в некоторых — формулы:

Имеющаяся на рабочем листе функция SUM вычисляет сумму значений в ячейках заданного диапазона, а функция MAX находит наибольшее (максимальное) значение в ячейках заданного диапазона. Диапазоны ячеек задаются их крайними левыми верхними и крайними правыми нижними ячейками.

Вопрос

Какое значение появится в табличной ячейке C3?

[Täisarv]

Ответ

Правильный ответ: 21.

Объяснение ответа

Простой способ найти ответ — это вычислить значения во всех ячейках. Так мы получим

B2 = SUM(A1:A3) = A1+A2+A3 = 1+6+7 = 14
B3 = SUM(A2:A4) = A2+A3+A4 = 6+7+8 = 21
B4 = SUM(A3:A5) = A3+A4+A5 = 7+8+4 = 19
C3 = MAX(A1:A3) = MAX(14;21;19) = 21

Другой способ — это заметить, что значение в ячейке B3 отличается от значения в ячейке B2 тем, что 1 не учитывается в сумме, но добавляется 8; поэтому значение в ячейке B3 будет больше. Аналогично рассуждая, получим, что значение в ячейке B3 больше, чем значение в ячейке B4. Значит, именно значение В3 является максимальным, которое выбирает расположенная в ячейке С3 формула, и мы можем ограничиться вычислением только этой одной суммы.

Это информатика!

Формулы, используемые в рабочих листах электронных таблиц, позволяют автоматизировать повторяющиеся вычисления, экономя время пользователей и уменьшая количество ошибок, вызванных вычислениями вручную.

Системы электронных таблиц также пытаются оптимизировать объём выполняемой работы. Если мы меняем значение в какой-нибудь ячейке, то система пересчитывает значения только тех формул, которые зависят от этой ячейки (а затем те формулы, которые зависят от измененных значений, и т.д.). Метод отличается от того, что мы использовали выше, когда пытались избежать подсчёта сумм, но цель та же: делать как можно меньше ненужной работы. Компьютеры считают быстро, но для очень больших листов с огромным количеством формул экономия все же необходима.

Категории

  • Обработка таблицы

13. Антивирусная программа

Олег создал новую антивирусную программу, которая способна обнаружить опасное программное обеспечение. Эта антивирусная программа проверяет устанавливаемые на компьютер программы, обращая в процессе анализа внимание на четыре действия:

  • сохрани в системный каталог;
  • прочитай из системного каталога;
  • добавь в автозагрузку;
  • отправь по электронной почте.

Если антивирусная программа находит в проверяемой программе хотя бы два действия из перечисленного, то программа считается опасной и отправляется на карантин.

Вопрос

Какая из нижеприведённый программ будет отправлена на карантин?

[Raadionupud]

A. прочитай файл из папки с документами; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

B. прочитай файл из папки с документами; распечатай файл; добавь файл в автозагрузку.

C. прочитай файл из системного каталога; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

D. прочитай файл из папки автозагрузки; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

Ответ

Правильный ответ: C.

Объяснение ответа

Как видно из нижеприведённого, варианты A, B и D содержат только по одному опасному действию (они отмечены жирным шрифтом). В случае варианта C обнаружено два опасных действия.

A. прочитай файл из папки с документами; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

B. прочитай файл из папки с документами; распечатай файл; добавь файл в автозагрузку.

C. прочитай файл из системного каталога; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

D. прочитай файл из папки автозагрузки; распечатай файл; сохрани файл в папку с документами; отправь файл по электронной почте.

Это информатика!

Программы по обеспечению безопасности разработаны для распознавания и удаления опасных программ, которые могут навредить компьютеру. Иногда опасную программу (например, вирус) можно распознать по имеющемуся в нём конкретному участку кода. Однако чаще для оценки опасности той или иной программы используются приближённые методы.

Иногда программы по обеспечению безопасности используют "песочницу" (англ sandbox) или защищённую среду, где запускаются сомнительные программы и контролируются последствия этих действий. Часто антивирусные программы используют возможности искусственного интеллекта, чтобы "учиться", расширяя свои базы данных. Такие "знания" позволяют легче и быстрее обнаружить вирусы.

Категории

  • Разное
  • Безопасность

14. Картинки из бумаги в клеточку

Серёжа рисует на бумаге в клеточку маленькие картинки размером 4 на 4 квадрата. Для каждой картинки он записывает 8-значный двоичный код и делит его пополам: первые 4 цифры он записывает в верхней части бумаги слева направо, а последние 4 цифры в левой части бумаги сверху вниз.

Далее он применяет следующие правила:

  1. Если в начале строки или столбца стоит 1, то следует нарисовать линию, далее пропустить одну линию и снова нарисовать линию, и т.д.
  2. Если в начале строки или столбца стоит 0, то следует пропустить линию, далее нарисовать линию и снова пропустить линию, и т.д.

Например, на основании кода 10100101 Серёжа нарисует такую картинку:

Следующая картинка нарисована на основании кода 10110110:

Вопрос

Какую из следующих картинок Серёжа нарисовал на основании кода 10011000?

[Raadionupud]

A.

B.

C.

D.

Ответ

Правильный ответ: B.

Объяснение ответа

Если мы нарисуем картинку на основе кода 10011000, то мы конечно же получим правильный ответ, но решение можно найти и быстрее. Для этого проверим, каким должен быть расположенный в левой части таблицы сверху вниз код для каждого из вариантов ответов:

  • вариант A неправильный, потому что строчки начинаются (соответственно) с пропуска, пропуска, пропуска и линии, а это соответствует коду 0001.
  • вариант B может быть правильным, потому что строчки начинаются (соответственно) с линии, пропуска, пропуска и пропуска, а это соответствует коду 1000.
  • вариант C неправильный, потому что строчки начинаются (соответственно) с линии, линии, пропуска и пропуска, а это соответствует коду 1100.
  • вариант D неправильный, потому что строчки начинаются (соответственно) с линии, пропуска, пропуска и линии, а это соответствует коду 1001.

Как видно, только вариант B соответствует концовке (1000) кода 10011000.

Теперь можем дополнительно проверить, является ли этот ответ полностью правильным. Для этого проверим первую часть кода. В варианте B столбцы начинаются с линии, пропуска, пропуска и линии, то есть соответствуют коду 1001. Значит, вариант B действительно правильный ответ.

Это информатика!

Система счисления, использующая только числа 1 и 0, называется двоичной системой счисления. В основе работы компьютеров лежат именно двоичные числа. В компьютерном мире самую маленькую единицу информации называют битом (англ binary digit ~ bit), у которого может быть два возможных значения (1 или 0). Восемь битов (как видно в этом задании) дают бОльшую единицу информации, которую называют байтом (англ byte). Традиционно в компьютерном мире одному байту соответствует один текстовой символ.

Хотя двоичные числа можно представить в виде восьмизначных чисел (например, 10011000), их можно представить и в виде картинки, соответствующей определённым правилам (как и демонстрирует нам это задание). Это один из примеров пример того, как можно данные представить, сохранить, обработать или визуализировать. Часто информатики выбирают для этого различные возможности. Иногда визуальное представление данных оказывается более удобным, чем текстовая форма, а иногда наоборот.

Категории

  • Разное

15. Цепной код

Цепной код — это экономный способ представления контуров (границ) на чёрно-белых изображениях. Суть заключается в выборе одного чёрного пикселя и сохранении на каждом этапе прохождения контура по движению часовой стрелки направления, которое позволит добраться до следующего чёрного пикселя.

Направления отмечены цифрами следующим образом:

Например, если на нижеприведённом изображении стартовый пиксель отмечен синей рамкой, то дальше можно двигаться в отмеченных красными стрелками направлениях. Как результат, цепной код будет 1, 0, 0, 7, 7, 5, 5, 4, 3, 3, 2.

Рассмотрим теперь такое изображение:

Вопрос

Что из приведённого не будет цепным кодом этого изображения?

[Raadionupud]

A. 1, 1, 1, 0, 7, 7, 7, 6, 5, 5, 5, 4, 3, 3, 3, 2

B. 7, 6, 5, 5, 5, 5, 4, 3, 3, 2, 1, 1, 1, 1, 0, 7

C. 5, 5, 5, 4, 3, 3, 3, 2, 1, 1, 1, 0, 7, 7, 7, 6

D. 3, 3, 2, 1, 1, 1, 0, 7, 7, 7, 6, 5, 5, 5, 4, 3

Ответ

Правильный ответ: B.

Объяснение ответа

Следующие рисунки демонстрируют получение цепных кодов в вариантах ответов:

A. B.

C. D.

Это информатика!

Одной из областей применения цепного кода является распознавание цифр. Во-первых, этот код позволяет представлять объекты более компактно, а во-вторых, проведение сравнения цепных кодов намного легче, чем сравнение изображений. К тому же из цепного кода можно получить единичные свойства изображённого объекта. Цепные коды представляют собой сжатие без потерь и сохраняют всю информацию, необходимую для быстрого и эффективного анализа паттернов.

Категории

  • Понимание информации
  • Геометрия
  • Разное

Copyright © 2022 Bebras – International Challenge on Informatics and Computational Thinking.
Licensed under Creative Commons Attribution-ShareAlike 4.0 International License.

Flag icons by GoSquared.