Тема 6. Анализ простейших программ
6.02 Определение результатов работы простейших алгоритмов управления исполнителями
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела анализ простейших программ
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#55604

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n  (где n  — целое число), вызывающая передвижение Цапли на n  единиц в том направлении, куда указывает её клюв; Направо m  (где m  — целое число), вызывающая изменение направления движения на m  градусов по часовой стрелке; Дуга r,a,b,α  (где r,a,b,α  — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (x, y)  по дуге окружности с центром в точке с координатами (x + a,y + b)  и радиусом r  , градусная мера дуги равна α  , движение по дуге идёт по часовой стрелке.

Запись Повтори k  [Команда1  Команда2  …КомандаS  ] означает, что последовательность из S  команд повторится k  раз.

Цапле был дан для исполнения следующий алгоритм:

Повтори 7  [Дуга 4, 0,4,180  Дуга 4,4, 0,180  Дуга 4,0,− 4,180  Дуга 4,− 4,0,180  ].

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

Показать ответ и решение

Начав рисовать от руки данную фигуру получим такую картинку:

PIC

Квадрат, с четырьмя полуокружностями по сторонам. Найти количество целых точек в квадрате — не проблема. Сколько же их в полуокружности (не считая точки, что лежат на стороне квадрата)?

Чтобы понять сколько целых точек в полуокружности (с центром в начале координат, сама полуокружность со стороны положительных ординат, радиус 4), нужно посчитать, для целых 0 ≤ y ≤  4  , количество целых x  , удовлетворяющих неравенству x2 + y2 < 42   (границу полуокружности мы не считаем, поэтому знак строгий).

Получаем (пропуская очевидную подстановку в уравнение):

y = 1: 7 точек

y = 2: 7 точек

y = 3: 5 точек

y = 4: 0 точек

Итого в одной полуокружности 19 точек.

Сколько точек в квадрате (не считая угловых, что на границе фигуры)?

Квадрат стороной 8, следовательно на стороне (одном y  ) лежит 9 точек (принцип +-1). Таких линий (по целым y  ) в квадрате 9. Следовательно общее количество точек в нём и на его границах 9 ⋅ 9 = 81  . Вычитаем 4 точки на границе фигуры и квадрата: 81 − 4 =  77  .

Тогда суммарное количество точек внутри фигуры 4 ⋅ 19 + 77 = 153  .

Ответ: 153

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное обучение
в Школково

Для детей ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Брянской областей, а также школьникам, находящимся в пунктах временного размещения Крыма обучение на платформе бесплатное.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ или олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!