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

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

В на­чаль­ный мо­мент Че­ре­па­ха на­хо­дит­ся в на­ча­ле ко­ор­ди­нат и на­прав­ле­на вверх (вдоль по­ло­жи­тель­но­го на­прав­ле­ния оси ор­ди­нат).

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

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

По­вто­ри 4 [Вперёд 6 На­пра­во 90 Вперёд 6 На­ле­во 90 Вперёд 6 На­пра­во 90].

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

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

Ре­ше­ние.

Для ре­ше­ния будем ис­поль­зо­вать среду про­грам­ми­ро­ва­ния КуМир. Уста­но­вить зна­че­ние сетки 1.

При­ве­дем под­счет ко­ли­че­ства точек на языке Кумир.

ис­поль­зо­вать Че­ре­па­ха

алг

нач

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

нц 4 раз

впе­ред(6)

впра­во(90)

впе­ред(6)

влево(90)

впе­ред(6)

впра­во(90)

кц

кон

После вы­пол­не­ния про­грам­мы счи­та­ем точки: 145.

 

Ответ: 145.

 

При­ведём ре­ше­ние Сер­гея Донец на языке PascalABC.NET.

uses turtle;

begin

var x:=6;//Вперёд 6

var d:= (x-1)*(5*x-1);//ко­ли­че­ство точек

Print(d);//145

down;

{крест тол­щи­на и вы­со­та палки от цен­тра до края = х}

loop 4 do begin{По­вто­ри 4

[Вперёд 6 На­пра­во 90 Вперёд 6 На­ле­во 90 Вперёд 6 На­пра­во 90].}

Forw(x); TurnRight(90);

Forw(x); TurnLeft(90);

Forw(x); TurnRight(90);

end;

end.


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