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

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

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

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

Опре­де­ли­те, сколь­ко точек с це­ло­чис­лен­ны­ми ко­ор­ди­на­та­ми будут на­хо­дить­ся внут­ри об­ла­сти, огра­ни­чен­ной ли­ни­ей, за­дан­ной дан­ным ал­го­рит­мом По­вто­ри 4 [Вперёд 12 На­пра­во 90], и на­хо­дить­ся вне об­ла­сти, огра­ни­чен­ной ли­ни­ей, за­дан­ной дан­ным ал­го­рит­мом: По­вто­ри 3 [Вперёд 12 На­пра­во 120]. Точки на линии учи­ты­вать не сле­ду­ет.

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

Ре­ше­ние.

За­ме­тим, что Ис­пол­ни­тель чер­тит Квад­рат и Тре­уголь­ник. Для по­стро­е­ния та­ко­го ри­сун­ка можно ис­поль­зо­вать Word:

—  до­бав­ля­ем таб­ли­цу раз­ме­ром 13 на 13;

—  вы­би­ра­ем в меню «Фи­гу­ры» на вклад­ке «Встав­ка» пря­мо­уголь­ник и рав­но­бед­рен­ный тре­уголь­ник, по­во­ра­чи­ва­ем его впра­во на 90 гра­ду­сов и от­ре­гу­ли­ру­ем вы­со­ту так, чтобы она была равна 10,4 ячей­кам; пра­вая вер­ши­на на ри­сун­ке долж­на иметь x-⁠ко­ор­ди­на­ту:

12 умно­жить на дробь: чис­ли­тель: ко­рень из: на­ча­ло ар­гу­мен­та: 3 конец ар­гу­мен­та , зна­ме­на­тель: 2 конец дроби \approx 10,4;

—  по­счи­та­ем точки.

 

При­ведём дру­гое ре­ше­ние на языке Python.

count = 0

for x in range(1, 12):

for y in range(1, 12):

if (y < x / 3 ** 0.5) or (y > -x / 3 ** 0.5 + 12):

count += 1

print(count)

 

Ответ: 65.

 

При­ведём ре­ше­ние на языке КуМир.

Вы­бе­ри­те мас­штаб сетки рав­ным 1, за­пу­сти­те про­грам­му для ис­пол­ни­те­ля Че­ре­па­ха.

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

алг

нач

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

нц 4 раз

впе­ред(12)

впра­во(90)

кц

нц 3 раз

впе­ред(12)

впра­во(120)

кц

кон

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

 

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

uses turtle;

begin

down;

loop 4 do begin{По­вто­ри 4 квад­рат 11*11=121

[Вперёд 12 На­пра­во 90]}

Forw(12);TurnRight(90);

end;

loop 3 do begin{По­вто­ри 3 тре­уголь­ник 56

[Вперёд 12 На­пра­во 120].}

Forw(12);TurnRight(120);

end;

end.


Аналоги к заданию № 47405: 47406 47407 Все