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

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

Задача 1#88125

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, ее голова направлена вдоль положительного направления оси абсцисс, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 6 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперед n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает ее голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки.

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

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

Вперед 10

Опустить хвост

Повтори 5 [Вперед -6 Налево 180 Вперед 4 Направо 90]

Назад 5

Повтори 8 [Вперед 3 Направо 135 Назад 5 Направо 45]

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

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

В программе Кумир:

PIC

Программное решение:

from turtle import * #модуль для работы с исполнителем Черепаха
m = 23 #масштаб
tracer(0)
pu()
forward(10*m)
pd()
for i in range(5):
    forward(-6*m)
    left(180)
    forward(4*m)
    right(90)
forward(-5*m)
for i in range(8):
    forward(3*m)
    right(135)
    backward(5*m)
    right(45)
pu()
for x in range(-25, 25):
    for y in range(-20, 30):
        goto(x*m, y*m)
        dot(3)
done()

Запускаем алгоритм и внимательно считаем точки. Важно не учитывать точки на линиях. Получаем 6 точек внутри параллелограмма и 81 точку внутри квадрата.

Ответ: 87

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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