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

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

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

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

На­пра­во 270

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

На­пра­во 120

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

На­пра­во 240

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

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

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

Ре­ше­ние.

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

from turtle import *

k = 5; home(); speed(1)

rt(270)

# дви­же­ние вверх на 7 кле­ток и раз­во­рот на 120 гра­ду­сов (по­лу­ча­ет­ся угол в 60)

# далее опять 7 кле­ток уже в дру­гом на­прав­ле­нии

[(fd(7*k), rt(120)) for _ in range(2)]

# трой­ной обо­рот в 120 гра­ду­сов даст 360 - хо­ло­стой про­крут

# дви­же­ние про­дол­жит­ся в том же на­прав­ле­нии 2 раза по 5

rt(120)

[(rt(120), fd(5*k), rt(240)) for _ in range(2)]

rt(240)

# по звер­ше­нию по­лу­ча­ем сто­ро­ну 7 + 5 + 5 (и опять угол в 60 гра­ду­сов)

 

# за один цикл по­лу­ча­ем ещё одну сто­ро­ну в 17 (снова угол 60 гра­ду­сов)

# за вто­рой по­лу­ча­ем го­то­вую фи­гу­ру - рав­но­бед­рен­ный тре­уголь­ник

# по­след­ний обо­рот в 120 гра­ду­сов хо­ло­стой

[(fd(17*k), rt(120)) for _ in range(2)]

 

# По фор­му­ле пло­ща­ди рав­но­бед­рен­но­го тре­уголь­ни­ка (со сто­ро­на­ми 17)

# Ре­зуль­тат нужно округ­лять в мень­шую сто­ро­ну

import math as m

print('Ответ:', m.floor(17**2 * 3**0.5/4))

Ответ: 125.

 

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

uses turtle;begin down;

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

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

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

{S=a*h/2=(10+7)*14.72243/2=125.14 целая часть 125}


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