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

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

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

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

На­пра­во 45 По­вто­ри 7 [Вперёд 5 На­пра­во 45 Вперёд 10 На­пра­во 135].

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

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

Ре­ше­ние.

Уста­но­вить зна­че­ние сетки 1.

 

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

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

алг

нач

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

впра­во(45)

нц 7 раз

впе­ред(5)

впра­во(45)

впе­ред(10)

впра­во(135)

кц

кон

 

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

 

Ответ: 27.

 

Решим эту за­да­чу, ис­поль­зуя язык про­грам­ми­ро­ва­ния Python.

import turtle as t # Под­клю­чим мо­дуль че­ре­паш­ка

t.speed(10) # Уве­ли­чим ско­рость че­ре­паш­ки

k = 20 # ко­эф­фи­ци­ент для на­стра­и­ва­ния более удоб­но­го мас­шта­ба

t.left(90)

t.right(45)

for i in range(7): # про­пи­шем ал­го­ритм по­стро­е­ния фи­гу­ры по усло­вию

t.forward(5 * k)

t.right(45)

t.forward(10 * k)

t.right(135)

t.up()

for x in range(14, -1, - 1): # Ал­го­ритм по­стро­е­ния точек

for y in range(5, -2, - 1):

t.goto(x * k, y * k)

t.dot(4) # точки раз­ме­ром 4 пик­се­ля

t.done()

Те­перь по­счи­та­ем ко­ли­че­ство точек внут­ри на­ри­со­ван­ной фи­гу­ры, по­лу­ча­ем 27.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

Че­ре­па­ха ри­су­ет па­рал­ле­ло­грамм, сто­ро­ны ко­то­ро­го лежат на пря­мых, за­дан­ных урав­не­ни­я­ми:

y = x

y = 2.5*sqrt(2)

y = x-10

y = 0

Число точек внут­ри па­рал­ле­ло­грам­ма можно под­счи­тать с по­мо­щью сле­ду­ю­щей про­грам­мы:

k = 0

for x in range(0,20):

for y in range(0,10):

if max(0,x-10) < y < min(x,2.5*2**0.5): k+=1

print(k)

Источник: ЕГЭ по ин­фор­ма­ти­ке 06.04.2023. До­сроч­ная волна