πЕГЭ · ИИ-репетитор12 предметов · задания ФИПИ
Главная → Информатика → Задания №6 → Задание i06-11

Задание №6 ЕГЭ Информатика с ответом и решением

Ответ: 36

Условие

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

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

Черепаха выполнила следующую программу:

Повтори 11 [Вперёд 36 Направо 72].

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

Подсказки — как подойти к решению

  1. Найди, за сколько повторов черепаха делает полный оборот: сумма поворотов за цикл должна дать триста шестьдесят градусов. Тогда общее число повторов распадётся на полные круги и короткий остаток.
  2. После полного круга направление движения восстанавливается, поэтому остаток от деления числа повторов на длину круга показывает, сколько шагов сделано от старта по прямой. Расстояние считай от начальной точки, а не длину ломаной.

Решение

Можно заметить, что исполнитель Черепаха через 5 циклов вернётся в исходную точку, следовательно, за 10 циклов будет пройдено 2 круга. За 11 цикл исполнитель Черепаха переместиться вперед на 36 единиц.

Приведём решение на языке Python:

import turtle as t # Подключим модуль черепашка

x1 = t.xcor()#Получить x координату черепашки

y1 = t.ycor()#Получить y координату черепашки

t.speed(10)

for i in range(11): # пропишем алгоритм построения фигуры по условию

t.forward(36)

t.right(72)

x2 = t.xcor()

y2 = t.ycor()

print(round(((x2 - x1)**2 + (y2 - y1)**2))**0.5)

После выполнения программы значение, выведенное на экран, будет равно 36.

Ответ: 36.

Приведём решение Юрия Красильникова на языке Python:

from math import sin, cos, radians

def vpered(n):

global x,y,a

ar=radians(a)

x += n*cos(ar)

y += n*sin(ar)

def napravo(n):

global a

a -= n

x=0

y=0

a=0

for i in range(11):

vpered(36)

napravo(72)

print(round((x**2+y**2)**0.5,3))

Приведём программу Сергея Донец на PascalABC.NET:

uses turtle;

begin

down;

loop 11 do

begin

Forw(36); TurnRight(72);

end;

end.

Сделав все шаги получим фигуру - пятиугольник. т. е. каждые 5 шагов Черепаха возвращается в исходную точку.

определим положение Черепахи в конце пути: находим остаток 11 mod 5 = 1. т. е. Черепаха из начальной точки сделает 1 шаг [Вперёд 36 Направо 72]

Ответ: 36

Типичные ошибки

Решить это задание в тренажёре

В тренажёре: подсказки по шагам, разбор твоей ошибки ИИ-репетитором (он не даёт готовый ответ), повторение ошибок по интервалам и общий прогресс. Все задания №6 по информатике