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

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

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

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

На­пра­во 270

По­вто­ри 2 [Вперёд 8 На­пра­во 120]

На­пра­во 120

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

На­пра­во 240

По­вто­ри 2 [Вперёд 14 На­пра­во 120]

Опре­де­ли­те пло­щадь фи­гу­ры, на­ри­со­ван­ной при по­мо­щи ал­го­рит­ма. В от­ве­те ука­жи­те целую часть по­лу­чен­но­го числа.

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

Ре­ше­ние.

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

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

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

алг

нач

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

впра­во(270)

нц 2 раз

впе­ред (8)

впра­во(120)

кц

впра­во(120)

нц 2 раз

впра­во(120)

впе­ред(3)

впра­во(240)

кц

впра­во(240)

нц 2 раз

впе­ред(14)

впра­во(120)

кц

кон

Пло­щадь тре­уголь­ни­ка равна по­ло­ви­не про­из­ве­де­ния ос­но­ва­ния на вы­со­ту. Длин­на ос­но­ва­ния 14 кле­ток, длина вы­со­ты 12 кле­ток.

Пло­щадь фи­гу­ры, на­ри­со­ван­ной при по­мо­щи ал­го­рит­ма 14 · 12/ 2 = 84.

 

Ответ: 84.

 

При­ме­ча­ние Ра­фа­э­ля Га­ли­е­ва: На ри­сун­ке, если уве­ли­чить, видно, что вер­ши­на тре­уголь­ни­ка не по­па­да­ет ровно в угол сетки. У тре­уголь­ни­ка вы­со­та не 12. По тео­ре­ме Пи­фа­го­ра: 142 = 72 + h2. 196 = 49 + h2. h2 = 196 - 49 = 147. h = 12,12 В этом слу­чае пло­щадь тре­уголь­ни­ка будет не целым чис­лом, а равна 84,84.

 

 

При­ведём по­стро­е­ние ри­сун­ка Бо­ри­са Са­ве­лье­ва на языке Python.

from turtle import* #под­клю­че­ние мо­ду­ля че­ре­па­ха

#го­то­вим шаб­лон сетки и ско­рость от­ри­сов­ки

tracer(0)#уби­ра­ем за­держ­ку перед об­нов­ле­ни­ем экра­на или delay(0)

k=20#устав­нав­ли­ва­ем мас­штаб

#го­то­вим ко­ор­ди­нат­ную плос­кость

penup()#под­ни­ма­ет перо, чтобы не ри­со­вать

for x in range (-400,400,k):#ВСЕ ЧИСЛА СТРО­ГО КРАТ­НЫ МАС­ШТА­БУ!

for y in range(-400, 400, k):

goto(x,y)#пе­ре­ме­ща­ет че­ре­па­ху в точку с ко­ор­ди­на­та­ми х и у

pendown()#опус­ка­ет перо, чтобы ри­со­вать

circle(1)#окруж­ность ра­ди­у­сом 1 или dot(3,'red')

penup()

#от­ри­сов­ка фи­гу­ры по за­да­нию

goto(0,0)#воз­вра­ща­ет че­ре­па­ху в на­чаль­ную точку, можно из­ме­нять, чтобы пе­ре­ме­щать фи­гу­ру вверх, вниз, впра­во или влево, СТРО­ГО КРАТ­НО К

pendown()#опус­ка­ет перо, чтобы ри­со­вать

right(270)

for i in range(2):

forward(8*k)

circle(1)

right(120)

right(120)

for j in range(2):

right(120)

forward(3*k)

circle(1)

right(240)

right(240)

for r in range(3):

forward(14*k)

circle(1)

right(120)

done()

 

 

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

uses turtle;begin down;

Turn(270);loop 2 do begin Forw(8);Turn(120);end;

Turn(120);loop 2 do begin Turn(120);Forw(3);Turn(240);end;

Turn(240);loop 2 do begin Forw(14);Turn(120);end;end.

{S=a*h/2=(6+8)*12.12435/2=84.87 целая часть 84


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