У колдуньи имеется два вида напитков, X и Y. Если она выливает содержимое двух бутылочек в котёл и произносит заклинание, то цвет напитка меняется следующим образом:
Колдунья смешала содержимое 4 бутылочек в определённом порядке. Итоговая смесь получилась в виде Y . В каком порядке она смешала содержимое бутылочек?
[Raadionupud]
A.
B.
C.
D.
Правильный ответ C.
Смешивая напитки в приведённом порядке, получим следующие результаты.
A.
B.
C.
D.
Компьютер - это электронная машина, и для представления информации используется электричество. Если электричество проходит, то мы говорим, что электричество ВКЛЮЧЕНО. Если электричество не проходит, то мы говорим, что электричество ВЫКЛЮЧЕНО. Обычно учёные в области информатики обозначают два этих состояния с помощью цифр 1 и 0. Это называется двоичным представлением.
Единицой измерения информации является бит. У нас есть возможность комбинировать биты между собой и производить над ними операции, как колдунья смешала напитки и получила результат. Одной из таких операций является "исключающее или" (XOR), которое работает следующим образом:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
Пример из жизни: на концах лестницы имеются выключатели, которые включают одну и ту же лампу. Каждый из выключателей включает и выключает лампу. Если один выключатель находится в верхнем положении, а второй в нижнем, то лампа горит. Если оба выключателя находятся в верхнем положении, то лампа не горит. А если оба выключателя находятся в нижнем положении, то лампа также не горит.
Другой пример: мама сказала, чтобы я обязательно взял с собой на обед фрукт. В обеденной коробке есть место только для одного фрукта. На столе лежат яблоко и апельсин. Если я ничего с собой не возьму, то не выполню желание мамы. Если я возьму с собой как яблоко, так и апельсин, то они оба не поместятся в обеденную коробку. Поэтому в коробку я должен положить что-то одно, выбрав между яблоком и апельсином.
XOR-элемент является используемым в компьютере логическим элементом. Этот элемент даёт на выходе 1 (истина) только тогда, когда только один вход является 1 (истина). Если оба входа одинаковые, то на выходе будет 0 (ложь).
С помощью XOR операции можно распознавать и исправлять ошибки. На операции XOR основывается действие "Party magic" из сборника учебных материалов CSUnPlugged.
С помощью XOR операции можно найти стратегию и для победы в игре ним. В начале игры спички находятся в разных кучках. Два игрока попеременно берут из одной выбранной кучки любое (отличное от нуля) количество спичек. Выигрывает тот, кто заберёт последнюю спичку. Выигрышная стратегия заключается в том, чтобы после своего хода оставлять ним-сумму (двоичная XOR-сумма размеров кучек) равной нулю.
В компьютерных науках XOR операция имеет различное применение:
Любуясь видом города, можно различить 14 башен:
Если башни упорядочить от самой низкой к самой высокой, то какая башня в этой последовательности будет на 10-ом месте?
[Raadionupud]
A.
B.
C.
D.
Правильный ответ B.
Прежде всего обратим внимание на интересный факт: башня, которая в случае упорядочивания по высоте от самой низкой к самой высокой, будет находиться на 10-ом месте, и она же в случае упорядочивания от самой высокой к самой низкой будет находиться уже на 5-ом месте. Учитывая это, было бы разумнее применить именно этот подход - это позволит нам получить ответ за меньшее количество шагов.
Далее заметим, что вид на город состоит из двух последовательностей башен: в левой части города башни становятся выше слева направо и в правой части города башни также становятся выше именно слева направо. Мы видим, что в общем-то две последние башни в каждой последовательности образуют в итоге четыре самых высоких башни. Следующей по высоте будет башня из варианта B, а это и есть искомый ответ.
В этом задании тебе необходимо определить, какая из башен после их упорядочивания по высоте находится на 10-ом месте. Процесс расположения элементов по порядку называется сортировкой. Известно много алгоритмов сортировки. Данное задание связано с алгоритмом, который называется сортировкой слиянием (merge sort). При сортировке слиянием сначала два множества элементов сортируется отдельно. Затем эти две отсортированные последовательности объединяются и получается общая отсортированная последовательность. Если при решении данного задания произвести сортировку 14 башен, то надо будет отсортированные башни в левой части города объединить с отсортированными башнями правой стороны города.
Мартин - альпинист. Его любимый горный хребет состоит из 11 гор:
Если рядом с Мартином располагается гора повыше, то он всегда взбирается на вершину горы повыше. Если рядом с ним располагаются две горы (одна слева и одна справа) и одна из них выше другой, то он всегда взбирается на вершину той горы, которая повыше. Таким образом он продолжает покорять горы до тех пор, пока рядом с ним больше не останется ни одной горы повыше.
Сколько гор (в том числе и самая высокая гора) имеется в этом горном хребте, начав с которых Мартин доберётся до вершины самой высокой горы?
[Raadionupud]
A. 3
B. 4
C. 6
D. 7
Правильный ответ A.
Если Мартин начнёт с вершины самой высокой горы, то он там же и останется. Если Мартин начнёт с горы, которая располагается рядом с самой высокой горой, то следующим этапом будет восхождение на самую высокую гору, где он и останется. Таким образом, если учитывать и самую высокую гору, то имеется по меньшей мере три горы, начав с которых Мартин доберётся до вершины самой высокой горы. Эта ситуация показана зелёными стрелками на нижеприведённом рисунке.
Если Мартин начнёт взбираться с любой расположенной с левой стороны горы, то он не сможет преодолеть третью по высоте гору (это показано красными стрелками в левой части рисунка).
Если Мартин начнёт взбираться с любой расположенной с левой стороны горы, то он не сможет преодолеть вторую по высоте гору (это показано красными стрелками в правой части рисунка).
Следовательно, имеется ровно три горы, начав с которых Мартин доберётся до вершины самой высокой горы этого горного хребта.
Процесс, которому следует Мартин, называется жадным алгоритмом (greedy algorithm). Идея состоит в том, что, стараясь добраться до вершины самой высокой горы, при совершении следующего шага он делает выбор только между двумя соседними горами. Вместо того, чтобы попытаться найти глобальный максимум, он ищет локальный максимум.
Жадные алгоритмы не всегда решают задание правильно, но, если они всё-таки справляются с этим, то обычно они работают очень эффективно. Поэтому такие задания, при решении которых можно применить жадные алгоритмы, представляют большой интерес для учёных в области информатики. Но даже тогда, когда с помощью жадного алгоритма найденное решение не является правильным, с его помощью зачастую можно найти решение, которое будет "достаточно хорошим". Это называют аппроксимационным алгоритмом (approximation algorithm).
В искусственном интеллекте используется особый вид жадного алгоритма, который называется восхождением к вершине (hill climbing algorithm). Название пришло от идеи, на которой основывается данное задание.
Рассмотренная в данном задании ситуация ассоциируется с географическим понятием топографической изоляции. Информатика хороша тем, что её можно применить практически в любой области.
Оливия играет с кубиками. На каждом кубике записано одна цифра. Из кубиков Оливия строит башни, а затем снимает по одному кубику и образовывает из них числа. Каждый раз когда она снимает кубик, она может положить его слева или справа от образовывающегося числа.
На следующем рисунке изображены башни, состоящие из 4 кубиков, и в качестве примера два числа, которые можно образовать (2534 и 4235).
Следуя этим правилам, какое наименьшее число можно образовать из башни высотой 6 следующих кубиков?
[Tekstikast, täisarv]
Правильный ответ 347565.
Самое маленькое число должно начинаться с самого маленькой цифры, которая есть в составе башни. Этой цифрой является 3. Для того чтобы 3 оставалось самой первой цифрой, необходимо все цифры, которые в башне находятся под 3, расположить в итоговом числе с правой стороны, то есть в конце будет 65.
Выше цифры 3 будет небольшая башня с цифрами 547. Самое маленькое число образованное из них будет располагаться между 3 и 65. Рассуждаем аналогично: число должно начинаться с самой маленькой цифры (в данном случае это 4), а 5 следует расположить с правой стороны. Мы получим число 475.
Таким образом, мы получим ответ: 475, впереди которого располагается 3, а сзади 65, то есть в итоге ответом будет 347565.
Поиск лучшего решения (как самого маленького числа) среди всех возможных решений является распространённым вычислительным заданием, которое известно как оптимизация. Для уменьшения множества возможностей и для ускорения поиска зачастую используются дополнительные техники. В данном случае для определения цифры, расположенной левее всех, используется жадная стратегия. Далее решаем аналогичную задачу для кубиков, которые располагаются над самой маленькой цифрой. Для этого используем стратегию разделяй и властвуй.
Имеется тайное сообщение, которое получено за счёт кодирования букв латинского алфавита новыми знаками.
Описание способа кодирования приведено на доске. К сожалению, часть содержимого стёрли с доски:
Несмотря на то, что доска получила повреждение, выясни первоначальный текст, который закодирован следующим образом:
[Raadionupud]
A. INFORMATION SECRET
B. INFORMATICS IS COOL
C. MATHEMATICS IS COOL
D. INFORMATION IS COOL
Правильный ответ B. INFORMATICS IS COOL.
Изначально доска кодирования выглядела следующим образом:
Для решения задания необходимо понять, что новые знаки образуются с помощью обозначений строчки и столбца. Нижняя часть каждого знака является обозначением строчки, а верхняя часть - обозначением столбца.
Стёртые буквы алфавита легко восстановить - необходимо только знать последовательность букв латинского алфавита. Отсутствует обозначение только первой строчки. Рассматривая зашифрованный текст, можно понять, как выглядит отсутствующая нижняя часть.
Для некоторых букв латинского алфавита уже известны соответствующим им тайные знаки. Применив их для закодированного текста, мы уже сможем получить часть первоначального текста. Экспериментируя, мы смогли бы заполнить и оставшиеся пробелы на доске, но в данном задании с предложенными вариантами ответов это даже не обязательно.
На самом деле задание можно решить и без восстановления доски кодирования. Достаточно будет обратить внимание, что первый знак соответствует букве I, а это позволяет нам исключить вариант ответа C. Одиннадцатый знак соответствует букве S, а в вариантах ответов A и D на этом месте располагается буква N. Таким образом, единственным возможным вариантом ответов из этих четырёх является B.
Задаче по защите данных более 4000 лет. Криптография - важная часть информатики, которая специализируется на создании шифра с целью защиты конфиденциальных данных и сообщений.
В древних культурах при создании шифра основной целью был простой способ его расшифровки, который можно было заучить. Шифр данного задания создан исключительно для викторины Бобр, но по своей сути он относится именно к этому типу шифров.
Это простой шифр подстановки (substitution cipher), где между буквами алфавита и кодируемыми знаками имеется соответствие один к одному.
В библиотеке Бобруйска имеется много книг на языке бобров. Для хранения книг имеется 10 шкафов, в каждом шкафу по 10 полок. Для ускоренного поиска каждой книге присваивается особенный номер, указывающий на её местоположение. Для каждой книги её особенный номер определяется по буквам в названии книги в соответствии со следующей таблицей:
Например, если название книги , то особенным номером этой книги будет 56432:
У какой из приведённых книг будет такой же особенный номер, как и у этой красной книги?
[Raadionupud]
A.
B.
C.
D.
Правильный ответ C.
Прежде всего найдём особенный номер красной книги:
Далее для каждой имеющейся книги найдём её номер и определим книгу, номером которой также является 6944:
A.
B.
C.
D.
Видим, что только книге, указанной в варианте ответа C, соответствует номер 6944.
В информатике для хранения часто используемых данных используется структура данных, называемая хеш-таблицей. Для оределения местоположения единицы данных в хеш-таблицах используется индексный код, который называется ключом (обычно таким кодом выступает число). В данном задании такой ключ создаётся для каждой книги с помощью метода таблицы соответствия. Однако, как видно из задания, один и тот же ключ может соответствовать нескольким книгам. Такую ситуацию называют коллизией. При создании метода генерации ключей для хеш-таблицы учёные в области информатики должны учитывать возможности возникновения коллизий и продумывать способы, чтобы с ними справиться.
Бобр Анна отправляет своим друзьям сообщения с помощью тайного кода. Сейчас она задумала устроить вечеринку и решила разослать друзьям пароль 3124, который охрана спрашивает на входе.
Пароль для одного из своих друзей она нацарапала на пяти веточках, но они перепутались:
В какой последовательности должны быть веточки, сверху вниз?
[Lohistamine]
Правильный ответ
Каждая веточка компактно описывает одну строчку сообщения, записанного в двоичной системе. Первая цифра каждой веточки показывает, начинается ли строчка с белого или синего квадрата (0 обозначает белый, а 1 - синий). Расположенные после двоеточия цифры показывают, сколько квадратов одного цвета из каждого чередующегося цвета последует.
Например, на приведённом в начале задания рисунке первая строчка начинается с синего квадрата (1). После двоеточия идёт цифра, указывающая на количество квадратов такого же цвета (3 синих квадрата). Далее идёт 2 белых квадрата, затем 1 синий квадрат, затем 2 белых квадрата и так далее:
Таким образом, на первой (самой верхней) веточке должен был бы быть следующий код:
первый квадрат синий | : | 3с | 2б | 1с | 2б | 3с | 1б | 1с | 1б | 1с |
---|---|---|---|---|---|---|---|---|---|---|
1 | : | 3 | 2 | 1 | 2 | 3 | 1 | 1 | 1 | 1 |
Вторая строчка сообщения начинается с белого квадрата, значит первой цифрой на второй веточке будет 0. Имеется 2 белых квадрата, за которыми следуют 1 синий квадрат, 1 белый квадрат, 2 синих квадрата и так далее:
Таким образом, этому соответствует следующий код:
первый квадрат белый | : | 2б | 1с | 1б | 2с | 4б | 1с | 1б | 1с | 1б | 1с |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | : | 2 | 1 | 1 | 2 | 4 | 1 | 1 | 1 | 1 | 1 |
Действуя аналогично, можно найти строчки сообщения для других оставшихся трёх веточек.
Данное задание связано с несколькими понятиями кодирования данных:
В случае обработки данных обычным делом является то, что для представления одной и той же информации может быть использовано несколько способов и данные необходимо преобразовать из одной формы представления в другую.
В этом задании введённое понятие кодирования длин серий (run-length encoding, RLE) является очень простой формой сжатия данных без потерь. Алгоритм кодирования длин серий применяется к последовательностям, где зачастую одно и то же значение указано несколько раз подряд. Данную последовательность кодируют таким образом, что каждое значение сохраняется только один раз, а за ним записывается, сколько же раз это значение было представлено. В большинстве случаев получаемый обём данных на выходе будет меньше входной, однако в худшем случае может получиться и больше.
В данном задании отказались от сохранения значений, предполагая, что каждое последующее количество раз соответствует значению, которое будет противоположно предыдущему значению. (Сумеешь ли ты найти пример такой ситуации, когда, следуя этому подходу, Анна зайдёт в тупик? Могут ли такие рисунки встречаться в представлении паролей?)
Для решения данного задания необходимо умение обобщать и мыслить алгоритмически. Прежде всего необходимо вывести алгоритм кодирования длин серий, сравняя соответствующие строчки из таблицы и на веточках. Далее этот алгоритм необходимо применить для строчек на рисунке и получить соответствующие сообщения.
Восстановление рисунка из закодированного результата и дальнейшее получение представления символа или цифры не будет затруднительной задачей и для человека. Однако чем длиннее предложение, тем больше времени и сил на это понадобится. Для автоматизировании таких заданий на компьютере необходимо придумать и объяснить компьютеру, что необходимо сделать. Поэтому и надо развивать своё умение мыслить вычислительно и алгоритмически.
Бобры Алекс, Сеня и Эдик стоят перед своей школой на жёлтом квадрате. Их тела повёрнуты в сторону, куда указывает стрелка.
По дороге домой каждый из них делает в определённых местах повороты.
Алекс делает два поворота налево.
Сеня делает один поворот налево и затем один поворот направо.
Эдик делает один поворот налево.
Бобры живут в разных домах. Бобры перемещаются только по горизонтали или по вертикали, но не по диагонали. Бобры не могут наступать на серые клетки.
В каком доме живёт каждый из бобров?
[Raadionupud]
A. Алекс в доме 4, Сеня в доме 2, Эдик в доме 5
B. Алекс в доме 3, Сеня в доме 2, Эдик в доме 1
C. Алекс в доме 4, Сеня в доме 2, Эдик в доме 1
D. Алекс в доме 3, Сеня в доме 2, Эдик в доме 4
Правильный ответ D.
Ответы A и C неправильные, так как для того чтобы добраться до дома 4 необходимо будет либо один раз повернуть налево, либо один раз повернуть налево и второй раз направо, либо повернуть больше, чем два раза. Поэтому Алекс не может проживать в доме 4.
Ответ B неправильный, так как для того чтобы добраться до дома 1 необходимо будет два раза повернуть налево и затем один раз направо. Поэтому Эдик не может проживать в доме 1.
При получении правильного ответа можно заметить, что дом 3 является единственным домом, куда сможет добраться Алекс. Сеня сможет добраться до дома 2 или 4, но он не сможет проживать в том же доме, что и Эдик. Эдик сможет добраться только до дома 4.
Представить влияние какого-нибудь действия обычно не составляет большого труда: если известно, что бобр перемещается по клеткам влево, влево и вправо, то отслеживать его перемещение очень легко при условии, что "влево" и "вправо" являются точно определёнными действиями - например, перемещение на одну клетку в направлении, определённом сиюминутным направлением. Однако в задании представлена задача потруднее, которая однако является довольно распространённой в информатике: имеются некоторые результаты или подсказки и необходимо определить, что же случилось в прошлом. В некоторых случаях нам известны данные (или даже много данных), и мы постараемся понять, в рамках какого процесса они возникли. В общем-то для одних и тех же данных могут подходить несколько процессов: например, известно, что Сеня повернул налево и направо, а этому условию соответствует два различных дома (2 и 4).
Бобры устроили турнир по шахматам и уже провели несколько игр. На нижеприведённом рисунке все стрелки проведены от победителей к проигравшим. Например, Боря выиграл у Анны, и Анна выиграла у Димы.
К сожалению, у бобров нет времени провести все игры, и они решили определить победителя с помощью нового правила. Правило таково: если Боря выиграл у Анны, и Анна выиграла у Димы, то это означает, что Боря выиграл у Димы. Победителем турнира будет тот, кто, следуя этому правилу, выиграл у всех остальных бобров.
Но имеющихся результатов не хватило для определения победителя. Поэтому бобры решили сыграть ещё четыре игры. Результаты были следующими:
Кто выиграл турнир?
[Raadionupud]
A. Гриша
B. Иван
C. Коля
D. Эмма
Правильный ответ B. Иван.
В соответствие с правилами для того, чтобы выявить победителя турнира, должна быть возможность вернуться по стрелке от любого из остальных участников к одному и тому же участнику. Это означает, что только у одного участника отсутствуют входящие стрелки.
Если бы таких участников было больше чем один, как показано на первоначальном рисунке, то для выявления победителя надо было бы провести больше игр. Если таких участников вообще нет, то нельзя будет и применить правило.
На первом рисунке мы видим, что только Гриша, Иван, Коля и Эмма могут быть возможными победителями.
Добавив последние четыре стрелки, увидим, что Гриша не может быть победителем, так как он проиграл Ивану. Коля проиграл Грише, а Эмма проиграла Гене. Таким образом, только Иван может быть тем участников, который выиграл турнир.
На нижеприведённом рисунке видим, что Иван действительно выиграл у всех остальных бобров.
Ориентированный граф - это форма представления (несимметричных) связей между парами объектов: объекты представляют собой вершины, а из объекта А к объекту В ведёт стрелка только тогда, когда А связан с B.
В данном задании рассматриваемой связью является "победитель": некоторые связи прослеживаются из реально проведённых встреч, другие из приведённого в тексте правила, гласящего о том, что победная связь является транзитивной. Однако в спорте обычно такого не случается. Спортивные матчи интересно наблюдать именно потому, что если Боря выиграет у Анны, а Анна выиграет у Димы, то это ещё не гарантия того, что в случае реального матча Боря выиграет у Димы. Описанная в задании ситуация является обычной в информатике: некоторые объекты нельзя непосредственно сравнить, но мы всё-таки должны образовать последовательность, где сравнивается каждая пара объектов.
Конечно, таких последовательностей может быть больше чем одна. Например, у нас могут быть действия или программы, которые зависят друг от друга: для того чтобы надеть ботинки, надо сначала надеть носки; перед тем как надеть пальто, надо сначала надеть рубашку... Хотя, конечно, можешь найти несколько различных способов того, в каком порядке надевать одежду!
Следующие команды чертят треугольник:
черти(вверх, 1, 2)
|
черти(вниз, 2, 1)
|
После того как фигура начерчена, ты находишься в том же месте, что и в начале. Если в программе имеется несколько команд, то они выполняются подряд.
У нас имеется 4 программы
черти(вниз, 2, 1); черти(вверх, 1, 2)
черти(вниз, 1, 2); черти(вверх, 2, 1)
черти(вниз, 2, 1); черти(вверх, 2, 1)
черти(вниз, 2, 1); черти(вверх, 1, 1)
Соедини программы и рисунки, которые начерчены с помощью этих программ.
[Vastavusse seadmine]
A.
B.
C.
D.
1-ая программа соответствует рисунку B. Сначала рисуется "плоский" треугольник с вершиной вниз, а затем "острый" треугольник с вершиной вверх.
2-ая программа соответствует рисунку A. Сначала рисуется "острый" треугольник с вершиной вниз, а затем "плоский" треугольник с вершиной вверх.
3-ья программа соответствует рисунку C. Рисуется два "плоских" треугольника, один с вершиной вверх, другой вниз.
4-ая программа соответствует рисунку D. Сначала рисуется "плоский" треугольник с вершиной вниз, а затем меньший "острый" треугольник с вершиной вверх.
В программировании мы часто используем команды повторно, внося в них небольшие изменения. В задании определена функция черчения, для которой можно задать три параметра - нарисованный чертёж зависит только от значений этих параметров.
Для нас (пользователей функции) не важно, как происходит само черчение, мы ничего не знаем о "теле" функции, то есть о внутренних командах. Мы только "вызываем" несколько раз эту функцию, используя различные значения, и таким образом можем чертить различные треугольники.
Во время каникул в течение двух недель Марина помогала маме в их домашнем кафе.
В конце каждого рабочего дня она записывала, сколько денег уже находится в кассе. Основываясь на собранных данных, она построила график:
Вечером каждой пятницы она забирала все деньги из кассы и передавала их маме.
Какая была самая большая дневная выручка в евро?
[Tekstikast, täisarv]
Правильный ответ 40€.
Для получения лучшего обзора о доходе кафе построим график. На нём отдельно отметим, что было в кассе каждое утро и каждый вечер:
Картина будет более понятной, если с графика уберём данные о состоянии кассы на утро каждого дня и сосредоточимся на доходе, который кафе получало в течение дня:
Теперь очевидно, что самая большая дневная выручка была 40€. Эту выручку кафе получило на второй неделе в понедельник.
Данное задание демонстрирует, как способ представления данных может облегчить или усложнить поиск ответа на вопрос. Если используемые для построения графика данные находятся в электронной таблице или базе данных, то необходимые преобразования для лучшего представления данных нам поможет выполнить компьютер. Чем больше данных, тем больше пользы будет от такого автоматического преобразования.
В приведённом тексте слово "beaver" встречается пять раз:
В текстовых редакторах при поиске и замене слов можно учитывать не только сами слова, но и их оформление.
Сколько раз будет найдено представление слова "beaver", если использовать следующую команду?
[Raadionupud]
A. 0
B. 3
C. 4
D. 5
Правильный ответ C. 4.
Так как в заданных условиях поиска кроме слова "beaver" указано и оформление "Italic", то есть наклонный шрифт, то найдётся 4 представления:
Безусловно, знание и использование возможностей текстового редактора упрощает нашу работу. А это уже информатика!
Бобр Фибикус хочет придумать такой пароль, который он смог бы запомнить, но который другие не смогли бы так легко угадать. Поэтому, придумывая пароль, он использует особый метод.
Бобру Фибикусу нравится следующее предложение:
Мне нравится каша которую сварил повар Вильгельм
Поэтому он использует его для генерирования своего пароля:
М3н8к4к7с6п5В9
Какой пароль можно получить из следующего предложения, используя тот же метод:
Моим кружком робототехники руководит магистр Жанна
[Tekstikast, vastuse pikkus 13 tähemärki]
Правильный ответ М4к7р13р9м7Ж5
.
Для генерирования пароля бобр использует специальный метод. При использовании этого метода из каждого слова берётся первая буква, а далее записывается длина слова (количество букв в слове).
Мне → М3
нравится → н8
каша → к4
которую → к7
сварил → с6
повар → п5
Вильгельм → В9
Используя тот же метод, мы сможем сгенерировать пароль и на основании нового предложения:
Моим → М4
кружком → к7
робототехники → р13
руководит → р9
магистр → м7
Жанна → Ж5
Таким образом, полученным из нового предложения паролем будет М4к7р13р9м7Ж5
.
Обратите внимание, что в данном примере буквы M
и В
являются большими буквами. Если какое-то слово в предложении начинается с большой буквы, то и в пароле будет присутствовать большая буква. Поэтому и в ответе буквы М
и Ж
также должны быть большими.
Безопасность данных является одной из ключевых тем информатики. Самым простым и распространённым подходом для защиты доступа к данным и компьютеру является использование паролей.
Пароль должен легко запоминаться, потому что опасно записывать пароль на всякий случай. Однако пароль должен быть для других трудно угадываемым, не должен быть очевидным или не быть связанным с личными данными пользователя.
Мой компьютер считывает программу построчно сверху вниз.
У нас имеется такая программа:
A ← 2
Запиши A
A ← A*2
Запиши A
A ← A*2
Запиши A
A ← 100
Знак ← обозначает "сохрани вычисленное с правой стороны значение в переменную"; знак * обозначает умножение.
Если запустить эту программу, то компьютер выведет:
2
4
8
Кажется в мой компьютер попал вирус, потому что поведение компьютера очень странное. Он читает программы наоборот - начинает с последней строчки и двигается вверх.
Что вывел мой заражённый вирусом компьютер, когда была запущена эта программа?
[Raadionupud]
A.
8
4
2
B.
100
50
25
C.
2
4
8
100
D.
100
200
400
Правильный ответ D.
Прежде всего расположим строчки так, чтобы мы смогли их прочитать сверху вниз:
A ← 100
Запиши A
A ← A*2
Запиши A
A ← A*2
Запиши A
A ← 2
Таким образом, первой выполняемой командой будет A ← 100
, а второй командой Запиши A
. Поэтому первым записанным числом будет 100.
Если строчки программы прочитать в другом порядке, то это не означает, что в командах выполняются другие вычисления. Команда A ← A*2
не означает прочтение команды A ← A/2
наоборот. Если программа содержит только команды для умножения на 2, то значения должны увеличиваться. Именно поэтому следующими значениями не могут быть 50 и 25.
Умение читать компьютерные программы является важным умением, потому что мы должны знать, как компьютер выполняет программу и имеющиеся в ней команды. У каждой команды в программе есть своё правильное место, чтобы программа работала как надо. Программисты должны знать, как меняются результаты, если меняется местоположение или порядок команд в программе.
Два заключённых, Джек и Джон, планируют начать побег из тюрьмы в понедельник, 1-ого февраля. Для того чтобы выбраться наружу, каждому из них необходимо к концу февраля прорыть ход - 2 метра вниз и 30 метров вперёд.
В таблице указано, сколько метров ежедневно каждый из них сможет прорыть. На выходных они не могут рыть ход.
Понедельник | Вторник | Среда | Четверг | Пятница | |
---|---|---|---|---|---|
Джек | 2 | 0 | 2 | 0 | 2 |
Джон | 0 | 4 | 0 | 4 | 0 |
У кого из них в конце февраля появится возможность сбежать из тюрьмы?
[Raadionupud]
A. Ни у кого
B. Только у Джека
C. Только у Джона
D. У обоих заключённых
Правильный ответ C.
На рисунке видно, что они должны прорыть вглубь 2 метра ниже пола и затем 30 метров горизонтально. Таким образом, для успешного побега им надо прорыть путь в 30+2=32 метра.
Здесь ключевым моментом является месяц "февраль", потому что в феврале 28 или 29 дней.
Джек может рыть ход три дня в неделю, то есть 2+2+2=6 метров в неделю. Так как февраль состоит точно из 4 недель, то за месяц Джек пророет 6*4=24 метра. Даже если бы был ещё один понедельник, 29 февраля, то он смог бы прорыть 24+2=26 метров. В любом случае, он не смог бы сбежать.
Джон может рыть ход два дня в неделю, всего 4+4=8 метров, и за четыре недели он пророет 8*4=32 метра. Таким образом, он сможет удачно сбежать из тюрьмы.
В информатике данные и информацию можно представить различными способами (например, схема для обозначения расстояния, текст и рисунок для обозначения времени). Однако важно понимать и уметь мыслить различными способами - "преобразовывать" информацию. В данном задании решение требует от нас быстрого осмысления, вычисления и рассуждения - и на всё это у нас только 3 минуты.
В этом задании для представления необходимых работ по рытью хода можно использовать простейшие графики, а для представления недельных работ использовать гистограмму и таблицу.
Ключ к решению задания в том, чтобы собрать вместе эту информацию и выяснить, сколько работы каждый из заключённых может выполнить за неделю. Далее необходимо учитывать, что 1 февраля - это понедельник, и в феврале может быть 28 или 29 дней. Стоит отметить, что в информатике в случае основанных на данных вычислений следует обращать особое внимание на то, в каком диапазоне могут изменяться данные.
Copyright © 2020 Bebras – International Challenge on Informatics and Computational Thinking.
Licensed under Creative Commons Attribution-ShareAlike 4.0 International License.
Flag icons by GoSquared.