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

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

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

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

Задача 1#63032

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (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

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

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

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

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

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

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

Бесплатное онлайн-обучение

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

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

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

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

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

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

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

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