Задания
Версия для печати и копирования в MS Word
Тип 6 № 48427
i

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

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

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

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

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

Спрятать решение

Ре­ше­ние.

Можно за­ме­тить, что ис­пол­ни­тель Че­ре­па­ха через 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:

uses turtle;

begin

down;

loop 11 do

begin

Forw(36); TurnRight(72);

end;

end.

 

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

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


Аналоги к заданию № 48427: 48454 Все