Олимпиада по информатике Яндекс.Учебник 9 февраля — 6 марта 2023 для 6–11 классов

Олимпиада для всех по информатике 2023 года, проводимая с 9 февраля по 6 марта, рассчитана на учеников 6–11 классов средней школы любого уровня подготовки. Акция включена в перечень олимпиад, которые утверждены Министерством просвещения России на 2022–2023 годы.

Олимпиада по информатике Яндекс.Учебник

Где и когда проводится Олимпиада по информатике Яндекс.Учебник 2023 год

Чтобы попасть на 1 тур олимпиады, необходимо в период с 00:01 часа по МСК 9 февраля по 23:59 часов по МСК 6 марта зайти на сайт Яндекс.Учебник по ссылке: education.yandex.ru и войти в свой аккаунт. Если аккаунта нет, то нужно зарегистрироваться как родитель и войти под своим логином. Добавить ребёнка, для этого внесите его имя, фамилию, а также класс. Партнером выступает конкурс цифровых портфолио «Талант НТО».

Войдите в аккаунт ребенка. На экране будут находится все акции, выбираете «Олимпиады» и нажимаете на них. Вас перекинет на страничку со списком всех проводимых проектом олимпиад. Выбираете «Олимпиада для всех по информатике 2023» и начинается участие в акции.

Олимпиада проводится в два этапа:

  1. 1 тур
    9 февраля — 6 марта 2023 год. Подведение итогов первого тура: 9 марта. Участники с лучшими результатами пройдут во 2 тур.
  2. 2 тур
    18 марта — 2 апреля 2023 год. Регистрация на второй тур: 9–16 марта. Подведение итогов олимпиады: 8 апреля. Итоговое онлайн-мероприятие для победителей второго тура: 15 апреля.

Как проводится олимпиада?

Олимпиаду можно начать когда угодно, но в указанный период, и вернуться к ней в любое время до 6 марта 23:59 по Москве. Но в указанное время доступ к олимпиаде будет закрыт. Задачи можно выбирать и решать в любом порядке.

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

Для 6 класса, после подтверждения об участии (надо нажать на кнопку «начать») перед вами появятся три блока, это первый тур олимпиады:

  • Лаборатория логики — 12 задач ~1,5 часа (задачи на логику и математику)
  • Ровердром — 5 задач ~1,5 часа (программирование ровера)
  • Кодовый центр — 8 задач~2 часа (основы Python)

три блока

Во втором туре олимпиады пройдёт командное онлайн-соревнование по созданию навыков для голосового помощника «Хакатон с Алисой». Под руководством экспертов из Яндекс Диалогов участники разработают собственные модули и познакомятся с актуальными задачами в IT-продуктах.

Лаборатория логики

Специалисту в IT нужны железная логика и пытливый ум — ведь он должен находить эффективные способы решения задач. Такой скилл хорошо прокачивает математика. В этом блоке ты найдёшь задачи, которые не требуют специальных знаний. Решать их не сложно, а весело. Ниже приведены задания для 6 класса, если вы решите все задания правильно, то заработаете 51 балл.

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

Вот так, например, можно соединить узлы 1, 2, 4, 10, 11 и 12. Общая длина всех отрезков равна 5. Сократить её ещё невозможно.

Лаборатория логики

1 задача (1 балл)

С помощью отрезков соедини точки 1, 5, 7, 12 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной. Когда всё сделаешь, нажми «Ответить».

1 задача (1 балл)

2 задача (2 балла)

С помощью отрезков соедини точки 1, 3, 6, 8, 13 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной. После решения задачи нажми «Ответить».

2 задача (2 балла)

3 задача (3 балла)

С помощью отрезков соедини точки 1, 4, 6, 8, 11, 13, 16 так, чтобы каждая соединялась хотя бы с одной другой. Суммарная длина отрезков должна быть минимальной. Не забудь нажать кнопку «Ответить».

3 задача (3 балла)

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

Следующие три задания

4 задача (2 балла)

Расположи два кулера так, чтобы за минимальное время охладить всю комнату. После решения задачи нажми «Ответить».

4 задача (2 балла)

5 задача (3 балла)

Расположи три кулера так, чтобы за минимальное время охладить всю комнату. Когда всё сделаешь, нажми «Ответить».

5 задача (3 балла)

6 задача (5 баллов)

Расположи четыре кулера так, чтобы за минимальное время охладить всю комнату. Не забудь нажать кнопку «Ответить».

6 задача (5 баллов)

Последующие 3 задания под новым условием. На двери VR-лаборатории установлен кодовый замок. Чтобы открыть его, надо ввести числа в пустые квадраты.

7 задача (3 балла)

Расставь в таблице цифры от 1 до 4 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны. После решения задачи нажми «Ответить».

7 задача (3 балла)

8 задача (5 баллов)

Расставь в таблице цифры от 1 до 4 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны. Когда всё сделаешь, нажми «Ответить».

8 задача (5 баллов)

9 задача (8 баллов)

Расставь в таблице цифры от 1 до 5 так, чтобы в каждом ряду и каждом столбце цифры не повторялись, а между соседними клетками выполнялись все неравенства там, где они указаны. Не забудь нажать кнопку «Ответить».

9 задача (8 баллов)

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

10 задача (4 балла)

Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами. После решения задачи нажми «Ответить».

10 задача (4 балла)

11 задача (6 баллов)

Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами. Когда всё сделаешь, нажми «Ответить».

11 задача (6 баллов)

12 задача (9 баллов)

Размести микросхемы на плате так, чтобы их соседние стороны были помечены одинаковыми числами. Не забудь нажать кнопку «Ответить».

12 задача (9 баллов)

Ровердром

Программисты из Центра управления беспилотников Яндекса придумали ровера. Он ходит по маршруту и доставляет посылки. Прежде чем пустить его в город, инженеры проводят тесты на полигоне. Запрограммируй ровера! Если ты пока не пишешь программы, не волнуйся. Мы подготовили обучающие видео. Если ты уже программируешь, то сразу переходи к задачам олимпиады. Они выполняются только на компьютере. Ниже приведены задания для 6 класса, если вы решите все задания правильно, то заработаете 52 балла.

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

Тренировочная задача 1 [1 балл]

Доведи ровера до финишной клетки. Красить ничего не нужно.

Тренировочная задача 1 [1 балл]

Тренировочная задача 2 [1 балл]

Роверу нужно покрасить все отмеченные клетки. Остановиться можно где угодно.

Тренировочная задача 2 [1 балл]

Что такое тесты? Как писать универсальные программы?
Ещё одно обучающее видео. Проверка на тестах: одна программа — несколько проверок. Смотри в этом видео.

if-elif-else: разные варианты записи, составные условия; закрытые тесты
И ещё одно видео. Инструкция по применению условного оператора if-elif-else.

Задача 1 [12 баллов]

Робот находится в квадрате 2×2 клетки, одна из которых закрашена. Нужно закрасить ещё одну — находящуюся в той же строке, что и закрашенная. Робот может остановиться в любой клетке.

Задача 1 [12 баллов]

Цикл с условием.
Новое обучающее видео. Как циклы с условием делают жизнь программиста легче, а программы красивее.

Задача 2 [13 баллов]

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

Задача 2 [13 баллов]

Функции
Последнее видео в этом блоке. Рома рассказывает, как писать для робота свои команды. Скорее смотри!

Задача 3 [25 баллов]

На поле расположено несколько вложенных друг в друга прямоугольников. Между ними есть проходы. Их направление (вверх и вниз) чередуется — например, если в первом прямоугольнике проход сверху, то во втором он будет снизу. В каждом прямоугольнике может быть несколько проходов. Проходов, находящихся в угловых клетках прямоугольников, быть не может. Останови робота в верхнем левом углу внешнего прямоугольника.

Задача 3 [25 баллов]

Кодовый центр

Разработчикам дай только повод что-нибудь закодить. Они это делают даже для решения простых жизненных вопросов. Если ты пока не пишешь программы или не знаешь Python, не волнуйся. Мы подготовили обучающие видео. Если ты уже программируешь, то сразу переходи к решению задач. Они выполняются только на компьютере. Ниже приведены задания для 6 класса, если вы решите все задания правильно, то заработаете 55 баллов.

Переменные, присваивание; числа, строки (ввод и вывод), функция int().
Этот блок также начинается с обучения. Рома рассказывает про основные функции и возможности языка Python. Посмотри видео, если ещё никогда не программировал.

Арифметика чисел: + — * % //, деление с остатком меньшего числа на большее
Поговорим про целые числа и то, что с ними можно делать. Внимание: это очень поможет в решении задач!

Тренировочная задача 1 [1 балл]

У Тани день рождения. Она взяла из копилки x рублей, купила торт за t рублей, а на оставшиеся деньги решила сводить друзей в кино. Билет стоит b рублей. Напиши программу, которая прочитает три числа, записанных по одному в строке: x, t и b, и выведет два числа:

  • • скольких друзей Таня может сводить в кино;
  • • сколько денег у неё останется.

Задача 1 [10 баллов]

Есть «Шпаргалка по синтаксису» в выпадающем меню:

Прочитать строку: s = input()
Прочитать целое число: x = int(input())
Арифметические операции: a + b, a — b, a * b, a // b (деление с округлением вниз), a % b (остаток от деления)
Вывод: print(a) — можно вывести значение любого типа.
print(a, a + b, a — b) — можно вывести значения нескольких выражений, они будут разделены пробелом.

Роботы встали в очередь на обучение.
Каждому роботу нужно A минут на обучение, после чего компьютер должен B минут остывать перед обучением следующего робота.
Оператор хочет узнать, сколько роботов он успеет обучить за T минут.
Есть числа A, B и T — по одному в строке.
Программа должна вывести одно число — количество роботов, которые успеют пройти обучение за указанное время.

Задача 1 [10 баллов]

Условный оператор, разные его формы
Ещё обучающее видео. Как программа на Python может задавать вопросы, делать проверки и выполнять разные команды в зависимости от результатов. Смотри внимательно!

Тренировочная задача 2 [1 балл]

Даны минимальная температура, максимальная температура и текущая температура.
Выведи действие климат-контроля:

  • • Если текущая температура меньше минимальной — «Надо нагреть».
  • • Если текущая температура больше максимальной — «Надо остудить».
  • • Иначе — «Нормальная температура».

Циклы
Видео о циклах. Рома рассказывает про два вида циклов в Python.

Тренировочная задача 3 [1 балл]

Петя считает, сколько шагов он прошёл за день. Он записал статистику за несколько дней. Посчитай, сколько всего шагов он прошёл. Сначала прочитай количество дней n, затем n строк (в каждой — количество шагов). Программа должна вывести сумму шагов за все указанные дни.

Тренировочная задача 4 [1 балл]

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

Арифметика строк
Видео про строки. Что можно делать со строками в Python.

Строки: индексы и срезы
И ещё одно видео. Продолжаем говорить про строки: индексы, срезы и как их использовать в программах.

Строки: методы
Последнее видео про строки. Последнее, что Рома хотел рассказать о строках. Точно пригодится для решения задач.

Задача 2 [15 баллов]

Есть «Шпаргалка по синтаксису» в выпадающем меню:

Прочитать строку: s = input()
Прочитать целое число: x = int(input())
Арифметические операции: a + b, a — b, a * b, a // b (деление с округлением вниз), a % b (остаток от деления)
Присваивание: a = a + 1, a = b + (c — d) // 2, s = ‘ауоиэыяюеё’
Вывод: print(a) — можно вывести значение любого типа.
print(a, a + b, a — b) — можно вывести значения нескольких выражений, они будут разделены пробелом.
Операции со строками:
s1 + s2 (сложение)
s * 10 (умножение на число)
if s1 in s2: (проверка того, что s1 есть в s2)
if s1 == s2: (проверка того, что s1 равна s2)
if s1 != s2: (проверка того, что s1 не равна s2)
Методы строк:
s.find(s1) — возвращает индекс первого слева вхождения строки s1 в строку s. Если s1 не входит в s⁠, возвращает -1.
s.rfind(s1) — возвращает индекс первого справа вхождения строки s1 в строку s. Если s1 не входит в s⁠⁠, возвращает -1.
s.count(s1) — сколько раз s1 входит в s.
s.replace(s1, s2) — возвращает строку, полученную из s заменой всех строк s1 на s2.
Цикл по строке:
for char in s: — переменная char создаётся для работы цикла и принимает значение каждого символа строки по очереди, слева направо.
Индексы строки: s[k] символ с индексом k (индексация начинается с нуля)
Цикл по строке при помощи range:
for k in range(len(s)): — переменная k пробегает все индексы строки s.
Цикл while:
while УСЛОВИЕ:
набор команд

Робот учится петь. Пока это непростая для него задача, и не все слова получается пропеть красиво и внятно.
Роботу удобно петь слово, если в нём буквы, обозначающие согласные звуки, чередуются с буквами, обозначающими гласные.
Например, «лалала», «ахаха» и «бада бам» — это удобные строки, а «бам бам» и «тру ля ля» — нет.
Есть строка. Выведи минимальное количество букв, которые нужно заменить, чтобы роботу было удобно её пропеть. Обрати внимание — в строке может быть несколько слов, разделённых пробелами. Вся фраза целиком может оказаться неудобной для пения, несмотря на то, что каждое слово в отдельности — удобное.
Буквы, обозначающие гласные звуки: а, у, о, и, э, ы, я, ю, е, ё.

Задача 2 [15 баллов]

Комментарии к тестам также в выпадающем меню:

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

Тренировочная задача 5 [1 балл]

Компьютер «приветствует» пользователя. Приветствие — это одно слово, за ним запятая, пробел и имя. В конце восклицательный знак. Например, вот так: «Привет, Саша!» Напиши программу, которая отвечает на приветствие фразой «Меня зовут не Саша.» В ответе должно быть именно то имя, которое использовал компьютер, а в конце — точка.

Задача 3 [25 баллов]

Есть «Шпаргалка по синтаксису» в выпадающем меню:

Прочитать строку: s = input()
Прочитать целое число: x = int(input())
Арифметические операции: a + b, a — b, a * b, a // b (деление с округлением вниз), a % b (остаток от деления)
Присваивание: a = a + 1, a = b + (c — d) // 2, s = ‘ауоиэыяюеё’
Вывод: print(a) — можно вывести значение любого типа.
print(a, a + b, a — b) — можно вывести значения нескольких выражений, они будут разделены пробелом.
Операции со строками:
s1 + s2 (сложение)
s * 10 (умножение на число)
if s1 in s2: (проверка того, что s1 есть в s2)
if s1 == s2: (проверка того, что s1 равна s2)
if s1 != s2: (проверка того, что s1 не равна s2)
Методы строк:
s.find(s1) — возвращает индекс первого слева вхождения строки s1 в строку s. Если s1 не входит в s⁠, возвращает -1.
s.rfind(s1) — возвращает индекс первого справа вхождения строки s1 в строку s. Если s1 не входит в s⁠⁠, возвращает -1.
s.count(s1) — сколько раз s1 входит в s.
s.replace(s1, s2) — возвращает строку, полученную из s заменой всех строк s1 на s2.
Цикл по строке:
for char in s: — переменная char создаётся для работы цикла и принимает значение каждого символа строки по очереди, слева направо.
Индексы строки: s[k] символ с индексом k (индексация начинается с нуля)
Цикл по строке при помощи range:
for k in range(len(s)): — переменная k пробегает все индексы строки s.
Цикл while:
while УСЛОВИЕ:
набор команд

В сервисе починки роботов очень важно соблюдать порядок. Главный механик любит, чтобы все роботы стояли друг за другом — сначала только сломанные (если они есть), а потом исправные (если они есть).
По ночам роботы всё время гуляют по ангару, и к утру порядок, установленный главным механиком, нарушается. Механик решил наказывать роботов, которые нарушают порядок, и удалять из очереди. Но роботы взбунтовались и требуют равноправия — если уж удалять из очереди, то равное количество исправных и сломанных роботов.
Сломанные роботы обозначаются буквой B (broken), исправные — буквой W (working).
Есть строка из букв B и W. Надо удалить наименьшее и равное количество сломанных и исправных роботов так, чтобы в очереди сначала стояли только сломанные, а потом только исправные. Может оказаться, что одних или других нет. Общее количество роботов в очереди не превышает 10 000.
Выведи количество удалённых роботов и очередь, которая получилась после удаления нарушивших правило роботов.
Если в очереди никого не осталось, выведи «НИКОГО НЕ ОСТАЛОСЬ».

Задача 3 [25 баллов]

Happy
Happy
6
Sad
Sad
22
Excited
Excited
2
Sleepy
Sleepy
4
Angry
Angry
116
Surprise
Surprise
3
Оцените статью
Добавить комментарий

  1. Я

    А где, собственно, ответы?

    Ответить