Тема 6. Алгоритмы – определение результата

6. Определение результатов работы простейших алгоритмов управления исполнителями

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

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

Задача 21#63032Максимум баллов за задание: 1

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a,b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, y) в точку с координатами (x+a, y+b). Если числа a, b положительные, то значение соответствующей координаты увеличивается, если отрицательные — уменьшается. Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2,-3) переместит Чертёжника в точку (6,-1).

Запись

Повтори k раз

Команды

конец

означает, что последовательность Команд повторится k раз.

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

Повтори 20 раз

Сместиться на (4,3)

Сместиться на (-4,-3)

Сместиться на (-12,-5)

Сместиться на (12,5)

конец

Определите длину полученной ломанной.

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

Решение Python:

from turtle import *  # Модуль для работы с исполнителем Черепаха
# Начальная позиция чертежника
x, y = 0, 0
# Масштаб для удобства отображения
m = 40
tracer(0)
penup()
goto(x * m, y * m)  # Переход в начальную точку
pendown()
# Алгоритм
for i in range(20):
    # Сместиться на (4, 3)
    new_x = x + 4
    new_y = y + 3
    goto(new_x * m, new_y * m)
    # Обновление текущих координат
    x, y = new_x, new_y
    # Сместиться на (-4, -3)
    new_x = x - 4
    new_y = y - 3
    goto(new_x * m, new_y * m)
    # Обновление текущих координат
    x, y = new_x, new_y
    # Сместиться на (-12, -5)
    new_x = x - 12
    new_y = y - 5
    goto(new_x * m, new_y * m)
    # Обновление текущих координат
    x, y = new_x, new_y
    # Сместиться на (12, 5)
    new_x = x + 12
    new_y = y + 5
    goto(new_x * m, new_y * m)
    # Обновление текущих координат
    x, y = new_x, new_y
pu()
for x in range(-25, 25):
    for y in range(-30, 50):
        goto(x*m, y*m)
        dot(3)
done()

Ответ: 18

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

Задача 22#63331Максимум баллов за задание: 1

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд 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  раз.

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

Направо 180  Вперед 3  Направо 90  Вперед 48  Направо 90  Вперед 3

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

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

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

Решение 1: Руками

После анализа алгоритма получаем следующий рисунок.

PIC

В одной такой фигуре ровно 40  точек.

PIC

У нас таких фигур 6  . Также 2  точки находится на пересечении фигур. Получаем ответ 6 ⋅40+ 10 = 250  .

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

from turtle import *
left(90)

tracer(0)
k = 5

seth(90)
right(180)
forward(3 * k)
right(90)
forward(48 * k)
right(90)
forward(3 * k)

for i in range(6):
    seth(90)
    circle(-4 * k, 180)
penup()

for x in range(0, -50, -1):
    for y in range(-5, 10):
        goto(x * k, y * k)
        dot(2)
done()

Остается лишь посчитать количество точек у получившейся фигуры.

Ответ: 250

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

Задача 23#63332Максимум баллов за задание: 1

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд 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  ].

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

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

Решение 1: Руками

После анализа алгоритма получаем следующий рисунок.

PIC

Получим, четыре полуокружности, в каждой по 19  точек, и квадрат без углов. Получаем ответ 19 ⋅4+ (9⋅9− 4) = 153  .

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

from turtle import *
left(90)

tracer(0)
k = 10

for i in range(7):
    seth(0)
    circle(4 * k, 180)
    seth(90)
    circle(4 * k, 180)
    seth(180)
    circle(4 * k, 180)
    seth(270)
    circle(4 * k, 180)
penup()

for x in range(-15, 5):
    for y in range(-5, 15):
        goto(x * k, y * k)
        dot(2)
done()

Остается лишь посчитать количество точек у получившейся фигуры.

Ответ: 153

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

Задача 24#63333Максимум баллов за задание: 1

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд 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  раз.

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

Налево 45  Вперед 6√2-  Направо 45

Повтори 2  [Дуга 3,3,0,180  ].

Направо 45  Вперед  √ -
6  2

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

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

Решение 1: Руками

После анализа алгоритма получаем следующий рисунок.

PIC

Подсчитываем количество точек внутри фигуры и получаем ответ 55

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

from turtle import *
from math import sqrt
left(90)

tracer(0)
k = 10

left(45)
forward(6 * sqrt(2) * k)
right(45)

for i in range(2):
    seth(90)
    circle(-3 * k, 180)

right(45)
forward(6 * sqrt(2) * k)
penup()

for x in range(-10, 10):
    for y in range(-5, 15):
        goto(x * k, y * k)
        dot(2)
done()

Остается лишь посчитать количество точек у получившейся фигуры.

Ответ: 55

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

Задача 25#63334Максимум баллов за задание: 1

Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд 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  Направо 90  Вперед 3  Налево 90  Вперед 3

Дуга 1,1,0,180  Вперед 2  Налево 90  Вперед 3

Повтори 4  [Дуга 1,0,− 1,180  ] Вперед 8  .

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

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

Решение 1: Руками

После анализа алгоритма получаем следующий рисунок.

PIC

Подсчитываем количество точек внутри фигуры и получаем ответ 53

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

from turtle import *

tracer(0)
k = 10

forward(7 * k)
right(90)
forward(3 * k)
left(90)
forward(3 * k)

circle(-1 * k, 180)
forward(2 * k)
left(90)
forward(3 * k)

for i in range(4):
    seth(270)
    circle(-1 * k, 180)
forward(8 * k)
penup()

for x in range(-5, 15):
    for y in range(-10, 10):
        goto(x * k, y * k)
        dot(2)
done()

Остается лишь посчитать количество точек у получившейся фигуры.

Ответ: 53

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

Задача 26#63522Максимум баллов за задание: 1

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

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 5 [ Повтори 3 [ Вперед 4 Налево 90 ] Вперед 2 ]

Сколько квадратов можно найти на полученной фигуре?

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

Решение программой

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем определить количество квадратов, которые можно обнаружить на полученной фигуре. Для этого сначала выполняется алгоритм Черепахи, который рисует последовательность линий по заданной схеме. После этого для наглядности можно расставить точки с целыми координатами, чтобы проще было подсчитать квадраты. Все перемещения умножаются на переменную scale для масштабирования фигуры.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(0)  # Ускорение анимации движения черепахи
scale = 40  # Масштаб рисунка
left(90)   # Поворачиваем Черепаху вверх (вдоль оси Y)

# Основной алгоритм построения фигуры
for _ in range(5):           # Внешний цикл: повторяем 5 раз
    for _ in range(3):       # Внутренний цикл: повторяем 3 раза
        forward(4 * scale)   # Вперёд на 4 * scale
        left(90)             # Налево на 90 градусов
    forward(2 * scale)       # Вперёд на 2 * scale

# Расставляем точки с целыми координатами (для визуализации)
up()                        # Поднимаем хвост, чтобы не рисовать лишние линии
for x in range(-10, 10):    # Перебор абсцисс точек
    for y in range(-10, 10): # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещаем черепаху на точку
        dot(3, "blue")              # Ставим точку синего цвета

update()  # Обновление экрана с конечным рисунком от черепахи
done()    # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать количество квадратов на полученной фигуре – 9 маленьких, 4 средних и 1 большой, итого 14.

Решение Кумиром

Запустим алгоритм, в результате получается рисунок:

PIC

Остается подсчитать количество квадратов аналогично решению на Python.

Ответ: 14

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

Задача 27#63825Максимум баллов за задание: 1

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

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 6 [Налево 120 Вперёд 6]

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

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

Python

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, чтобы после завершения построения подсчитать их количество. Для удобства визуализации применяется масштабирование через переменную scale, иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(50)  # Ускорение анимации движения черепахи
scale = 50  # Масштаб рисунка (каждое перемещение умножается на scale)

lt(90) # Поворачиваем Черепаху на 90° влево (по умолчанию вдоль оси X)

# Основной алгоритм Черепахи для построения линии
for i in range(6):       # Повторить 6 раз
    left(120)            # Поворот налево на 120°
    forward(6 * scale)   # Движение вперёд на 6 с учётом масштаба

# Расставляем точки с целыми координатами внутри фигуры
up()  # Поднимаем хвост, чтобы не рисовать лишние линии
for x in range(-10, 10):   # Перебор абсцисс точек
    for y in range(-10, 10): # Перебор ординат точек
        goto(x * scale, y * scale) # Перемещаем Черепаху в точку (x, y)
        dot(5, "blue")             # Ставим точку синего цвета

update()  # Обновляем экран с построенным рисунком
done()    # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линии.

Кумир

Откроем программу "Кумир-Стандарт выберем в качестве исполнителя Черепаху и впишем необходимый алгоритм. Запустив алгоритм, получим, что получившаяся фигура - треугольник. Осталось посчитать количество внутренних точек, которое равно 13. На скриншоте они выделены красным.

PIC

Ответ: 13

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

Задача 28#63914Максимум баллов за задание: 1

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

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 36 [Направо 60 Вперёд 1 Направо 60 Вперёд 1 Направо 270]

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

Примечание: выпуклые углы необходимо включить в подсчет.

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

Решение программой

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем определить количество углов, образованных линиями. Для этого сначала выполняется алгоритм Черепахи, который рисует границу фигуры. После построения можно дополнительно расставить точки с целыми координатами для визуальной проверки. Для удобства визуализации применяется масштабирование через переменную scale, иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(0)  # Ускорение анимации движения черепахи
scale = 40 # Масштаб рисунка
left(90)   # Поворачиваем Черепаху вверх (вдоль оси Y)

# Основной алгоритм построения фигуры
for _ in range(36):        # Внешний цикл: повторяем 36 раз
    right(60)              # Поворот направо на 60 градусов
    forward(1 * scale)     # Вперёд на 1 * scale
    right(60)              # Поворот направо на 60 градусов
    forward(1 * scale)     # Вперёд на 1 * scale
    right(270)             # Поворот направо на 270 градусов (эквивалентно налево на 90)

# Расставляем точки с целыми координатами (для визуальной проверки)
up()                        # Поднимаем хвост чтобы не рисовать лишние линии
for x in range(-10, 10):    # Перебор абсцисс точек
    for y in range(-10, 10):# Перебор ординат точек
        goto(x*scale, y*scale) # Перемещаем черепаху на точку
        dot(3, "blue")          # Ставим точку синего цвета

update()  # Обновление экрана с конечным рисунком от черепахи
done()    # Завершение работы (окно остаётся открытым)

PIC

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

Решение Кумиром

Откроем программу «Кумир-Стандарт», выберем в качестве исполнителя Черепаху и впишем необходимый алгоритм. Запустив алгоритм, получим фигуру. Осталось посчитать количество углов — 24.

PIC

Ответ: 24

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

Задача 29#64013Максимум баллов за задание: 1

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

Повтори k [Команда1 Команда2 … КомандаS]

означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 7 [Направо 90 Вперёд 4 Повтори 2 [Налево 90 Вперёд 4]]

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

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

Python

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё, не считая точки на линии. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, чтобы после завершения алгоритма подсчитать их. Для удобства визуализации применяется масштабирование через переменную scale, иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(50)  # Ускорение анимации движения Черепахи
screensize(1000, 1000)  # Добавление ползунков для прокрутки
scale = 50  # Масштаб рисунка (вместо x пикселей будет x*scale пикселей)

lt(90)  # Поворачиваем Черепаху вверх (вдоль оси Y)

# Основной алгоритм Черепахи для построения линии
for i in range(7):       # Повторяем 7 раз
    right(90)             # Поворот направо на 90°
    forward(4 * scale)    # Движение вперёд на 4 (с учётом масштаба)
    for j in range(2):    # Вложенный цикл, повторяем 2 раза
        left(90)          # Поворот налево на 90°
        forward(4*scale)  # Движение вперёд на 4

up()  # Поднимаем хвост, чтобы не рисовать линии при постановке точек

# Проставление точек с целочисленными координатами
for x in range(-20, 20):     # Перебор абсцисс точек
    for y in range(-20, 20): # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещаем Черепаху в точку (x, y)
        dot(5, "blue")               # Ставим точку синего цвета размера 5

update()  # Обновление экрана с конечным рисунком
done()    # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линии.

Кумир

После запуска программы получим следующую фигуру:

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях. Получится 57 точек.

Ответ: 57

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

Задача 30#64054Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.

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

Повтори 3 [Вперед 12 Направо 90 Вперед 6 Направо 90]

Поднять хвост

Вперед 5 Направо 90 Вперед 1 Налево 90

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

Повтори 5 [Вперед 10 Направо 90 Вперед 14 Направо 90]

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

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

Решение программой

Мы можем решить задачу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить две фигуры по алгоритму, затем определить область их пересечения и оценить её площадь. Для удобства визуализации используется масштабирование через переменную scale, иначе фигуры будут слишком маленькими. Все перемещения умножаются на scale. После построения фигур мы расставляем сетку точек с целочисленными координатами, чтобы визуально определить площадь пересечения.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(0)  # Ускорение анимации
scale = 20  # Масштаб рисунка

left(90)  # Поворот на 90 градусов влево

# Рисуем первую фигуру (3 раза)
for _ in range(3):           # Повторяем алгоритм 3 раза
    forward(12 * scale)      # Вперед на 12 (с учётом масштаба)
    right(90)                # Поворот направо на 90°
    forward(6 * scale)       # Вперед на 6
    right(90)                # Поворот направо на 90°

up()                         # Поднимаем хвост для перемещения без рисования
forward(5 * scale)           # Перемещаемся вперёд на 5
right(90)                    # Направо на 90°
forward(1 * scale)           # Вперед на 1
left(90)                     # Поворачиваем налево на 90°
down()                       # Опускаем хвост для рисования

# Рисуем вторую фигуру (5 раз)
for _ in range(5):           # Повторяем алгоритм 5 раз
    forward(10 * scale)      # Вперед на 10
    right(90)                # Направо на 90°
    forward(14 * scale)      # Вперед на 14
    right(90)                # Направо на 90°

up()                         # Поднимаем хвост для расстановки точек

# Ставим точки в диапазоне от -20 до 20
for x in range(-20, 20):     # Перебор абсцисс точек
    for y in range(-20, 20): # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещение Черепахи в точку (x, y)
        dot(3, "blue")               # Синяя точка размера 3

update()  # Обновление экрана
done()     # Завершение работы программы

PIC

Осталось вычислить площадь пересечения фигур и записать одно число — площадь найденной фигуры.

Решение Кумиром

Откроем программу «Кумир-Стандарт» и запишем данный алгоритм. При этом в качестве инструмента необходимо прописать «использовать Черепаха». Запустив программу, получим следующий чертёж (красным выделена фигура, полученная в результате пересечения двух прямоугольников):

PIC

Как видно из рисунка, высота полученного прямоугольника равна 7, длина — 5. Значит, его площадь равна S = 7⋅5 = 35  .

Ответ: 35

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

Задача 31#72496Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n  единиц в том направлении, куда указывает её голова, и Направо m (где m  – целое число), вызывающая изменение направления движения на m  градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S  команд повторится k  раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 8 [Вперёд 3 Направо 90 Вперёд 4 Направо 45 Вперёд 5 Направо 45]

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

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

Решение с помощью программы

Напишем программу используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную scale), иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.

from turtle import *

tracer(50) # Ускорение анимации (50 — пропуск 50 кадров для быстрой отрисовки)
scale = 60  # Масштаб для увеличения видимости рисунка

# Начальная ориентация Черепахи
# (по умолчанию — вдоль оси X, поворачиваем на 90° влево)
lt(90)

# Основной алгоритм Черепахи:
for i in range(8):    # Повторить 8 раз
    forward(3 * scale)   # Вперёд 3 (умножаем на scale для масштабирования)
    right(90)            # Направо 90
    forward(4 * scale)   # Вперёд 4
    right(45)            # Направо 45
    forward(5 * scale)   # Вперёд 5
    right(45)            # Направо 45

# Расставляем точки с целыми координатами
up()  # Поднять "хвост" (перестать рисовать)
for x in range(-20, 20):  # Перебор абсцисс точек
    for y in range(-20, 20):  # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещение к точке (x, y)
        dot(5, "blue")  # Ставим точку синего цвета

down() # Опустить "хвост" (если нужно продолжить рисование)

update()  # Принудительное обновление экрана после отрисовки
done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях. Получится 30 точек.

Решение с помощью Кумира

После запуска программы получим следующую фигуру:

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях. Получится 30 точек.

Ответ: 30

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

Задача 32#72531Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n  — целое число), вызывающая передвижение Черепахи на n  единиц в том направлении, куда указывает её голова, и Направо m (где m  — целое число), вызывающая изменение направления движения на m  градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S  команд повторится k  раз.

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

Повтори 4 [Вперёд 12 Направо 90]

и находиться вне области, ограниченной линией, заданной данным алгоритмом:

Повтори 3 [Вперёд 12 Направо 120]

Точки на линии учитывать не следует.

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

Решение программой

Напишем программу используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную scale), иначе фигура будет слишком маленькой. Все перемещения умножаются на scale.

from turtle import *

tracer(0)  # Ускорение анимации
scale = 20  # Масштаб рисунка
left(90)  # Поворот на 90 градусов влево

# Рисуем квадрат (4 стороны)
for _ in range(4):
    forward(12 * scale)  # Вперед на 12
    right(90)            # Направо на 90

# Рисуем треугольник (3 стороны)
for _ in range(3):
    forward(12 * scale)  # Вперед на 12
    right(120)           # Направо на 120

up()  # Поднимаем хвост

# Ставим точки в диапазоне от -20 до 20
for x in range(-20, 20):
    for y in range(-20, 20):
        goto(x * scale, y * scale)  # Перемещение к точке (x, y)
        dot(3, "blue")  # Синяя точка размером 3

update()  # Обновление экрана
done()     # Завершение программы

Получаем рисунок:

PIC

Нам нужно найти количество точек внутри квадрата и одновременно вне треугольника. Аккуратно считаем их и получаем общее количество – 65.

Решение Кумиром

PIC

Ответ: 65

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

Задача 33#72532Максимум баллов за задание: 1

Исполнитель Черепаха передвигается по плоскости и оставляет след в виде линии. Черепаха может выполнять две команды: Вперёд n (n  — число) и Направо m (m  — число). По команде Вперёд n  Черепаха перемещается вперёд на n  единиц. По команде Направо m  Черепаха поворачивается на месте на m  градусов по часовой стрелке, при этом соответственно меняется направление дальнейшего движения. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что заданная последовательность из S  команд повторится k  раз. Черепаха выполнила следующую программу:

Повтори 9 [Вперёд 10 Направо 72]

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

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

Решение программой

Напишем программу используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем найти расстояние между положением Черепахи в начале и в конце выполнения программы. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать с помощью них расстояние. Для удобства визуализации применяется масштабирование (через переменную scale), иначе фигура будет слишком маленькой. Все перемещения умножаются на scale. Также отметим разными цветами начало положения Черепахи и ее конечное положение.

from turtle import *

tracer(0)  # Ускорение анимации
scale = 20  # Масштаб рисунка
left(90)  # Поворот на 90 градусов влево
dot(5, "red") # Начальное положение Черепахи

# Рисуем фигуру (9 линий)
for _ in range(9):
    forward(10 * scale)  # Вперед на 10
    right(72)            # Направо на 72
dot(5, "green") # Конечное положение Черепахи
up()  # Поднимаем хвост

# Ставим точки в диапазоне от -20 до 20
for x in range(-20, 20):
    for y in range(-20, 20):
        goto(x * scale, y * scale)  # Перемещение к точке (x, y)
        dot(3, "blue")  # Синяя точка

update()  # Обновление экрана
done()     # Завершение программы

Получаем рисунок:

PIC

По теореме Пифагора найдем расстояние как квадратный корень суммы квадратов катетов:

∘ (9.5)2 +-32 = √90.25-+-9 = √99.25-∼ √100 = 10.

Решение Кумиром

PIC

Ответ: 10

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

Задача 34#72533Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n  - целое число), вызывающая передвижение Черепахи на n  единиц в том направлении, куда указывает её голова, и Направо m (где m  — целое число), вызывающая изменение направления движения на m  градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S  команд повторится k  раз. Черепахе был дан для исполнения следующий алгоритм:

Повтори 10 [Вперёд 8 Направо 120]

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

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

Решение в Кумире:

PIC

Решение программой:

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную m), иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import *  # Модуль для работы с исполнителем Черепаха

m = 30  # Масштаб
tracer(0) # Ускорение анимации

left(90) # Поворачиваем Черепаху вверх (вдоль положительной оси Y)

# Основной алгоритм Черепахи (рисование замкнутой фигуры)
for i in range(10):       # Повторяем 10 раз
    forward(8*m)          # Движение вперёд на 8 (с учётом масштаба)
    right(120)            # Поворот направо на 120°

pu() # Поднимаем хвост, чтобы перестать рисовать

# Проставление точек с целочисленными координатами
for x in range(-10, 20):      # Перебор абсцисс точек
    for y in range(-10, 20):  # Перебор ординат точек
        goto(x*m, y*m)        # Переход в точку (x, y) с учётом масштаба
        dot(3)                # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях.

Ответ: 24

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

Задача 35#77710Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Повтори 7 [Вперёд 6 Направо 60]

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

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

Решение программой:

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную m), иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import *  # Модуль для работы с исполнителем Черепаха

m = 30  # Масштаб
tracer(0) # Ускоряем отрисовку
left(90)  # Поворачиваем Черепаху вверх (вдоль оси Y)

# Основной алгоритм Черепахи (рисуем замкнутую фигуру)
for i in range(7):       # Повторяем 7 раз
    forward(6*m)         # Движение вперёд на 6 (с учётом масштаба)
    right(60)            # Поворот направо на 60°

pu() # Поднимаем хвост для расстановки точек

# Проставление точек с целочисленными координатами
for x in range(-10, 20):     # Перебор абсцисс точек
    for y in range(-10, 20): # Перебор ординат точек
        goto(x*m, y*m)       # Переходим в точку (x, y)
        dot(3)               # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях.

 

Решение в Кумире:

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем точки. Важно обращать большое внимание на точки у краев (масштаб сетки нужно выставить 1).

PIC

Ответ: 90

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

Задача 36#77711Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Налево m (где m-целое число), вызывающая изменение направления движения на m градусов против часовой стрелки и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Направо 90 Повтори 10 [Вперёд 2 Налево 40]

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

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

Решение программой:

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную m), иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import * # Модуль для работы с исполнителем Черепаха

m = 30 # Масштаб
tracer(0) # Ускоряем отрисовку

left(90) # Поворачиваем Черепаху вверх (по оси Y)

right(90) # Дополнительный поворот для ориентации
# Основной алгоритм Черепахи
for i in range(10):       # Повторяем 10 раз
    forward(2*m)          # Двигаемся вперёд на 2 (с учётом масштаба)
    left(40)              # Поворачиваем налево на 40°

pu() # Поднимаем хвост, чтобы перейти к расстановке точек

# Проставление точек с целочисленными координатами
for x in range(-10, 20):      # Перебор абсцисс точек
    for y in range(-10, 20):  # Перебор ординат точек
        goto(x*m, y*m)        # Перемещаем Черепаху в точку (x, y)
        dot(3)                # Ставим точку размера 3

done() # Завершаем выполнение программы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях.

 

Решение в Кумире:

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем точки. Важно обращать большое внимание на точки у краев (масштаб сетки нужно выставить 1).

PIC

Ответ: 23

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

Задача 37#77712Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Налево m (где m-целое число), вызывающая изменение направления движения на m градусов против часовой стрелки и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Повтори 7 [Направо 60 Вперёд 1 Повтори 2 [Налево 60 Вперёд 2]]

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

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

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

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, для того чтобы после завершения алгоритма посчитать их. Для удобства визуализации применяется масштабирование (через переменную m), иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import *  # Модуль для работы с исполнителем Черепаха

m = 40  # Масштаб
tracer(0) # Ускорение анимации
left(90) # Поворачиваем голову Черепахи вверх (вдоль оси Y)

# Основной алгоритм Черепахи
for i in range(7): # Повторяем 7 раз
    right(60)       # Поворот направо на 60°
    forward(1*m)    # Вперёд на 1 (с учётом масштаба)
    for j in range(2): # Вложенный цикл для деталей фигуры
        left(60)     # Поворот налево на 60°
        forward(2*m) # Вперёд на 2 (с учётом масштаба)

pu() # Поднимаем хвост для расстановки точек

# Проставление точек с целочисленными координатами
for x in range(-10, 20): # Перебор абсцисс точек
    for y in range(-10, 20): # Перебор ординат точек
        goto(x*m, y*m) # Перемещение Черепахи в точку (x, y)
        dot(3)         # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях.

 

Решение в Кумире:

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем точки. Важно обращать большое внимание на точки у краев (масштаб сетки нужно выставить 1).

PIC

Ответ: 50

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

Задача 38#77713Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси абсцисс, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Налево m (где m-целое число), вызывающая изменение направления движения на m градусов против часовой стрелки и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Повтори 9 [ Вперед 2 Направо 45 Вперед 2 Налево 90 ]

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

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

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

Условие:

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

Решение программой:

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, а затем проверить, какие точки с целочисленными координатами лежат внутри неё. Для этого сначала выполняется алгоритм Черепахи, который рисует границу области по заданному в условии алгоритму. После этого необходимо отрисовать точки с целочисленными координатами, чтобы после завершения построения подсчитать их количество. Для удобства визуализации используется масштабирование через переменную m, иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import *  # Модуль для работы с исполнителем Черепаха

m = 40  # Масштаб для увеличения фигуры
tracer(0) # Ускорение анимации

# Основной алгоритм Черепахи
for i in range(9):   # Повторяем 9 раз для построения линии
    forward(2*m)     # Двигаемся вперёд на 2 единицы (с учётом масштаба)
    right(45)        # Поворот направо на 45°
    forward(2*m)     # Ещё одно движение вперёд на 2 единицы
    left(90)         # Поворот налево на 90°

pu() # Поднимаем хвост для расстановки точек

# Проставление точек с целочисленными координатами
for x in range(-10, 20):  # Перебор абсцисс точек
    for y in range(-10, 20): # Перебор ординат точек
        goto(x*m, y*m)     # Перемещаем Черепаху в точку (x, y)
        dot(3)             # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать точки внутри фигуры, не считая точки на линиях.

 

Решение в Кумире:

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем точки. Важно обращать большое внимание на точки у краев (масштаб сетки нужно выставить 1).

Заметим, что голова черепахи направлена вдоль положительной оси абсцисс, поэтому до начала программы повернем голову черепахи на 90 градусов вправо.

PIC

Ответ: 44

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

Задача 39#77714Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси абсцисс, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Повтори 20 [ Направо 225 Вперед 7 ]

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

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

Решение программой

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить линии по алгоритму, чтобы увидеть все пересечения отрезков. После построения линий мы можем оценить, сколько отдельных фигур образовано, не учитывая наложения. Для удобства визуализации используется масштабирование через переменную scale, иначе линии будут слишком маленькими. Все перемещения умножаются на scale. Также мы ставим точки в области просмотра, чтобы видеть распределение и пересечения линий.

from turtle import *  # Модуль для работы с исполнителем Черепаха

tracer(0)  # Ускорение анимации
scale = 40  # Масштаб рисунка
left(90)  # Поворот головы Черепахи на 90° влево (вдоль оси Y)

# Основной алгоритм Черепахи для построения линий
for _ in range(20):     # Повторяем 20 раз
    right(225)           # Поворот направо на 225°
    forward(7 * scale)   # Движение вперёд на 7 единиц масштаба

up()  # Поднимаем хвост для перемещений без рисования

# Проставление точек для визуализации области
for x in range(-20, 20):        # Перебор абсцисс точек
    for y in range(-20, 20):    # Перебор ординат точек
        goto(x * scale, y * scale)  # Перемещение Черепахи в точку (x, y)
        dot(3, "blue")               # Ставим синюю точку размера 3

update()  # Обновление экрана для отображения всех линий и точек
done()     # Завершение работы (окно остаётся открытым)

PIC

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

Решение Кумиром

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем получившиеся фигуры.

Заметим, что голова черепахи направлена вдоль положительной оси абсцисс, поэтому до начала программы повернем голову черепахи на 90 градусов вправо.

PIC

Ответ: 17

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

Задача 40#77715Максимум баллов за задание: 1

Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси абсцисс, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n-целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова и Направо m (где m-целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (k – целое число).

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

Повтори 4 [ Повтори 4 [ Вперед 5 Направо 120 ] Вперед 5 ]

Сколько равносторонних треугольников можно найти на полученной фигуре?

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

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

Напишем программу, используя библиотеку turtle для визуализации движения Черепахи по заданному алгоритму. Основная цель — построить фигуру по алгоритму, которая состоит из множества равносторонних треугольников. После построения фигуры мы можем наглядно определить, сколько таких треугольников присутствует. Для удобства визуализации применяется масштабирование через переменную m, иначе фигура будет слишком маленькой. Все перемещения умножаются на m.

from turtle import * # Модуль для работы с исполнителем Черепаха

m = 30 # Масштаб
tracer(0) # Ускорение анимации

# Основной алгоритм Черепахи: построение повторяющихся равносторонних треугольников
for i in range(4): # Внешний цикл повторений по горизонтали/вертикали
    for j in range(4): # Внутренний цикл повторений
        forward(5*m) # Движение вперёд на 5 (с учётом масштаба)
        right(120)   # Поворот направо на 120° для построения треугольника
    forward(5*m) # Смещение для следующего ряда треугольников

pu() # Поднимаем хвост для расстановки точек

# Проставление точек с целочисленными координатами
for x in range(-10, 20): # Перебор абсцисс точек
    for y in range(-10, 20): # Перебор ординат точек
        goto(x*m, y*m) # Перемещаем Черепаху в точку (x, y)
        dot(3)         # Ставим точку размера 3

done() # Завершение работы (окно остаётся открытым)

PIC

Осталось посчитать количество равносторонних треугольников на построенной фигуре.

Заметим, что на протяжении всего маршрута Черепаха всегда выполняла движение вперёд на одинаковое расстояние, значит все треугольники - и маленькие, и большой - имеют стороны равной длины. Значит, в этой фигуре 4 + 1 = 5 равносторонних треугольников.

 

Решение в Кумире:

Переписываем алгоритм в среду программирования Кумир, запускаем черепашку и внимательно считаем получившиеся фигуры. Большой треугольник образуют 4 маленьких равносторонних треугольника, поэтому в этой фигуре: 4 + 1 = 5 равносторонних треугольников.

PIC

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