Олимпиадные и конкурсные задания

  1. Задачи командной олимпиады по Лого (шк. 640)
  2. Задачи команд-партнеров по ДООИ-2002
  3. Обратная польская запись (ДООИ-2002)
  4. Задания дистанционной олимпиады по программированию (ДООИ-2000)
Задачи командной олимпиады по Лого (2000-2001 года)
 
Задача 1 (5 баллов)

Построить на Рабочем поле объект - геометрическую фигуру со следующими параметрами:

  • все стороны равны и каждая составляет 150 шагов Черепашки
  • всего 10 вершин
  • 5 вершин находятся на одном (одинаковом) расстоянии от центра фигуры
  • другие 5 вершин находятся на другом (одинаковом) расстоянии от центра фигуры.
Задача 2 (от 4 до 7 баллов)

Из города Зареченска и со станции Бугровки одновременно навстречу друг другу отправились два поезда.
Поезд из Зареченска ехал со скоростью 5 шага за 1 тик, поезд из Бугровки ехал со скоростью 3 шага за 1 тик. Зареченск находится в точке с координатами (-290 -160) , а Бугровка в точке с координатами (260 140).
Железная дорога соединяет эти станции по прямой линии.

Определить:

  1. Через какое время ( в тиках) поезда встретятся? (4 балла)
  2. В Бугровке на рельсах разлеглось стадо гусей, поэтому поезд из Бугровки выехал на 10 тиков позже. С какой скоростью ему надо ехать, чтобы встретиться с поездом из Зареченска в той же точке? (дополнительно 3 балла)
Указание: по-видимому, в этой задаче удобно использовать команду towards.

Задача 3 (5 баллов)

На экране четыре точки.

Вручную (мышью или в графическом редакторе) расставьте еще 3 точки.
Напишите программу, соединяющую линиями все точки так, чтобы получилась объемное тело, имеющее 2 основания и 4 боковых грани, и раскраски видимых граней.

Задача 4 (6 баллов)

Даны процедуры:

to arcrt s
repeat 90 [fd :s rt 1]
end

to arclt s
repeat 90 [fd :s lt 1]
end

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

Задача 5. Знаки препинания 1( от 4 до 8 баллов)

Один начинающий автор прислал известному писателю Бертольду Брехту свое сочинение со следующей запиской:

"Я не признаю знаков препинания, но, если Вы считаете нужным, расставьте их по своему усмотрению".

Б.Брехт ответил: "Считаю, что знаки препинания необходимы. В следующий раз присылайте только их, а уж текст я напишу как - нибудь сам".

Задание:

В окне t2 текст:

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

Напишите программу, которая:

  1. вычисляет количество знаков препинания в тексте (4 балла);
  2. извлекает из приведенного текста все знаки препинания. Ваша программа должна сначала напечатать текст без знаков препинания, а потом знаки препинания отдельно. (8 баллов)

Указание: примените датчик parse t2, который вернет в программу текст, записанный в окне в виде списка. Затем к этому списку примените датчики count, first, bf

 
В начало страницы

Задача от команды 196 (ХПК) (задача была предложена в ДООИ 2002)
 
Мы предлагаем создать фрагмент обучающей программы по теме "Дроби" для начальной школы.

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

 
В начало страницы

Обратная польская запись (задача была предложена в ДООИ 2002)
 
Обратная польская запись — это специальный способ последовательной бесскобочной записи арифметических выражений.

Два примера:

  1. 1 + 3 * 4 запишется так:    3 4 * 1 +

  2. Более сложный пример:    2 * ( 2 + 3 ) + 3 * 4 - 5 * 6 * ( 7 - 4 - 2 )

    Его обратная польская запись:   2 3 + 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -

Вычислим это выражение пошагово

5 2 * 3 4 * + 7 4 – 2 – 6 * 5 * -

10 3 4 * + 7 4 – 2 – 6 * 5 * -

10 12 + 7 4 – 2 – 6 * 5 * -

22 7 4 – 2 – 6 * 5 * -

22 3 2 – 6 * 5 * -

22 1 6 * 5 * -

22 6 5 * -

22 30 –

-8

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

Первый вариант. Арифметическое выражение составлено из однозначных чисел и знаков сложения и вычитания.

Второй вариант. Арифметическое выражение составлено из однозначных чисел, знаков сложения, вычитания, умножения и деления.

Третий вариант. Арифметическое выражение составлено из однозначных чисел, знаков сложения, вычитания, умножения и деления и скобок.

 
В начало страницы

В 2000 году впервые в рамках Дистанционной олимпиады по программированию была проведена олимпиада по Лого-программированию. Предлагались задания отдельно для младшей и старшей групп.

Младшая группа. Требуемая подготовка: Старшая группа. Требуемая подготовка:
  • Знание основных команд черепашьей графики;
  • Умение работать с основными характеристиками черепашки (форма, цвет, размер, место, курс и  т.п.) и соответствующими датчиками;
  • Умение использовать команды ПОВТОРИ, ЕСЛИ;
  • Умение строить программу блоками, используя процедуры;
  • Умение работать с числовыми (локальными и глобальными) переменными;
  • Умение использовать случайные числа.
  • Умение работать с локальными и глобальными переменными;
  • Умение работать со словами и списками;
  • Уверенное владение понятием  координат;
  • Знание команд работы с текстами.
Ниже приведены калибровочные и конкурсные задания.

Задачи взяты с сайта http://www.school.edu.ru/int/logo/olimpiada/kalibr.html

Калибровочные задачи ДООИ-2000

Младшая группа
 1. Часы

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

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

2. Матрешки

Используя форму матрешки и только ОДНУ черепашку, запрограммируйте такую игру:

Сначала видна только одна большая матрешка. Если щелкнуть по ней мышкой, то рядом появится вторая - поменьше. Если щелкнуть по второй, то рядом появится третья - еще меньше и т.д. Должно появиться 6 матрешек. Если щелкнуть мышкой по шестой (самой маленькой), то матрешки исчезают одна за другой, пока не останется одна - самая большая матрешка.

Если вы работаете в ЛогоРайтере, пусть ваши матрешки "раскладываются"  не по щелчку черепашки, а по команде.

3. Звездопад (салют)

Мы уверены, что слова “виртуальная реальность” не оставляют Вас равнодушными. Шаг за шагом этот удивительный мир все ближе подступает к нам, раскрывая себя в играх и фантастических фильмах. “Виртуально” - значит часто “нереально”. Компьютер дает нам увидеть и почувствовать то, что никогда не существовало или происходило далеко не с каждым. Давайте же экспериментировать с виртуальной реальностью. В природе существует редкое явление, которое заслуживает того, чтобы быть увиденным. Это звездопад. Когда к земле из космоса устремляется рой маленьких частиц, звездное небо покрывается яркими росчерками. Их оставляют эти частицы, сгорая в атмосфере.

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

В будущем, создавая уроки или игры, используйте эту демонстрацию, как награду победителям.

4. Компьютерные эмоции

Сегодня ученые, занимающиеся проблемами искусственного интеллекта, видят, какую важную роль у нас с Вами играют эмоции. Благодаря им есть желание двигаться вперед, созидать, стремиться к познанию неизвестного.

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

Обратите внимание на интерфейс экрана. Окна сообщений, панели, меню - вот так с нами общается компьютер. А как Вы общаетесь с ним? Как Вы общаетесь с другими людьми? Ваши жесты, голос, лицо - это всегда эмоции! Разве можно что-то передать без них?

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

грустное лицо Создайте программу, с помощью которой компьютер моделирует главный “передатчик” эмоций - лицо человека.

Научите компьютер понимать команды “улыбка”, “удивление”, “гнев” и др. При этом нельзя пользоваться анимацией форм. Все делайте путем обычной перерисовки. Для лучшего результата заставьте компьютер не просто показывать статичные кадры, а именно ДВИГАТЬ брови, рот и т.п. Не забудьте о том, что все эмоции есть на Вашем лице и лицах друзей. Наблюдайте!

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

Желаем Вам успехов!

В начало страницы
 
Старшая группа
 

1. Посадка самолета.

Осуществите, пожалуйста, посадку самолета на взлетно-посадочную полосу. Мягкого приземления! (требуется смоделировать плавно замедляющееся движение фигурки самолета по экрану по траектории, напоминающей траекторию посадки реального самолета)

2.Зеркало.

Сделайте зеркало для черепахи. На экране есть две черепахи и линия между ними (зеркало). Линия может быть вертикальной, горизонтальной или иметь наклон 45 градусов. Движением одной из черепах может управлять человек (мышкой, командами, как угодно). При каждом изменении положения первой черепахи, вторая немедленно занимает позицию, симметричную относительно этого зеркала.

*** Вариант повышенной трудности: реализовать вариант, в котором зеркало может быть наклонено под ЛЮБЫМ углом.

3. Подсчет букв в тексте.

На экране текст ( в ЛогоМирах - в текстовом окне, в ЛогоРайтере - написан на экране). Про каждую букву, имеющуюся в этом тексте, надо подсчитать, сколько раз она встречается. На выходе должен быть список пар вида [а 15] ([буква число вхождений]).

Желаем Вам успехов!

В начало страницы
 
 

Конкурсные задачи ДООИ-2000

Младшая группа
 1. Лабиринт — 6 баллов

Запрограммируйте простую игру: На экране изображен замысловатый лабиринт – вид “сверху”. Коридоры его, вообще говоря, криволинейны (сложность поощряется). В лабиринте есть человечек (зверек, что угодно - словом, существо, не имеющее вид черепашки), которым может управлять Игрок (с помощью кнопок , а в ЛогоРайтере с клавиатуры). Фигурка должна естественным образом изменять свой вид в зависимости от направления движения (т.е. никогда не двигаться "боком"). Игра состоит в том, чтобы игрок провел фигурку через весь лабиринт от старта до финиша.

Гусеница (или змейка, или червяк) — 10 баллов

Используя не больше 3-х черепашек (чем меньше, тем лучше), заставьте ползти по экрану длинную гусеницу (сороконожку) из большого числа звеньев.

Задание 1. Гусеница ползет по кругу (6 баллов)

Задание 2. Гусеница ползет волнообразно (плюс еще 4 балла)

3. Бегущий человек (10 баллов)

Теперь Вам предстоит решение достаточно сложной задачи. Нужно сконструировать плоскую модель бегущего человека. Его движения должны быть максимально приближены к реальным. Достаточно получить образ “проволочного” человечка:

бегущий человек Научите его исполнять команду БЕГ, к которой добавлен параметр скорости. Например:

БЕГ 1
БЕГ 5...

Чем больше число, тем быстрее должен бежать человек, меняя соответственно размах ног и рук.

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

Результат можно развивать в дальнейшем. Кто знает, может быть Вы превзойдете мастерство режиссера Лукаса!

Желаем Вам успехов!

В начало страницы
 
Старшая группа
 

1. Пятнашки (10 баллов)

Запрограммируйте компьютерный вариант известной игры. Программа должна:

  • уметь правильно*) перемешивать квадратики и
  • позволять играющему сдвигать выбранный квадратик на пустое место.
Дополнительное задание: В ЛогоМирах программа могла бы еще и определять удачное завершение игры (выполнение этой части задания НЕ ТРЕБУЕТСЯ, оцениваться оно не будет).

Пояснения:

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

2. Азбука Морзе (3 балла)

Требуется составить программу - перекодировщик “обычного” текста в запись этого же текста азбукой Морзе И ОБРАТНО. Программа не “знает” заранее весь текст, а получает его по одной букве (или по одному символу) – можно сделать по-разному, например, пользователь вводит символы с клавиатуры, а программа записывает перекодированный текст

Метод Монте-Карло (5 баллов)

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

  1. Рисуется закрашенный треугольник с вершинами в точках, где стояли черепашки
  2. Подсчитывается площадь этого треугольника (допускаются дополнительные построения в случае необходимости)
  3. Запускается “метод Монте-Карло” для определения площади фигуры методом “набрасывания” случайных точек на плоскость. Результаты работы подсчета (последовательных приближений) видны зрителю.

Пояснение: Метод Монте-Карло состоит в следующем:

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

Существует множество адресов в Интернете, где Вы можете получить дополнительную информацию о методе Монте-Карло, мы порекомендуем здесь одну: http://up.botik.ru/~gene/probset/prob13.koi8.html

4. Игра на клетчатом поле (10 баллов)

Двое участников играют в такую игру: на клетчатом поле 1х25 на противоположных концах стоят фишки (см. рис). Ход заключается в том, что каждый участник передвигает свою фишку на одну или несколько (не более 5) клеток вперед или назад. Перескакивать через фишку противника нельзя. Проигрывает тот, кто не может сделать ход

Задание 1 (2 балла). Напишите программу, позволяющую двум игрокам играть при помощи компьютера. Программа должна показывать ход игры, следить за соблюдением правил игры и определять победителя.

Задача 2 (плюс 1 балл). Модифицируйте программу так, чтобы количество клеток и наибольшее возможное число клеток (K) за один ход задавались с помощью бегунков.

Задача 3 (плюс еще 4 балла). Напишите программу, с помощью которой один человек будет играть в игру с компьютером. Разумеется, лучшей будет признана та программа, которая будет выигрывать чаще других.

Задача 4 (плюс еще 3 балла). Та же игра на клетчатом поле MxN клеток с M фишками. M, N, K задаются с помощью бегунков. Ход делается на любой горизонтали.






В начало страницы