Каталог заданий.
Задания для подготовки
Версия для печати и копирования в MS Word
1
Тип Д18 C3 № 20
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, крат­ное 5. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 5. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, крат­ное 5.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
10
25
12
25

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


2
Тип Д18 C3 № 40
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной у ее ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, крат­ных 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
12
25
6
18

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


3
Тип Д18 C3 № 60
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной у ее пра­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ко­ли­че­ство чисел, крат­ных 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
16
26
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


4
Тип Д18 C3 № 80
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее пра­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, крат­ное 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное число, крат­ное 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
21
12
31
12

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


5
Тип Д18 C3 № 100
i

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но спра­ва от вер­ти­каль­ной стены у ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, крат­ных 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
12
25
9
21

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


6
Тип Д18 C3 № 120
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но слева от вер­ти­каль­ной стены у ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
18
26
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


7
Тип Д18 C3 № 140
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но слева от вер­ти­каль­ной стены у ее ниж­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной и левее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, крат­ное 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, крат­ное 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
8
16
11
16

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


8
Тип Д18 C3 № 160
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В го­ри­зон­таль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной рядом с вер­ти­каль­ной сте­ной слева от ее ниж­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше и ниже го­ри­зон­таль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

3

14

25

24

38

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


9
Тип Д18 C3 № 180
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В го­ри­зон­таль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны .Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной рядом с вер­ти­каль­ной сте­ной слева от ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше и ниже го­ри­зон­таль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
13
23
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


10
Тип Д18 C3 № 200
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В го­ри­зон­таль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной рядом с вер­ти­каль­ной сте­ной спра­ва от ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше и ниже го­ри­зон­таль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
13
23
3
23

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


11
Тип Д18 C3 № 220
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В вер­ти­каль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее пра­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки,

удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 6. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
26
16
36
16

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


12
Тип Д18 C3 № 240
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В вер­ти­каль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, окан­чи­ва­ю­щих­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, окан­чи­ва­ю­щих­ся на 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
13
23
24
36

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


13
Тип Д18 C3 № 260
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В вер­ти­каль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны.Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной у ее ле­во­го конца.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 6. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
16
26
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


14
Тип Д18 C3 № 280
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В вер­ти­каль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны.Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной у ее пра­во­го конца.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
24
14
34
14

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


15
Тип Д18 C3 № 300
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ют­ся две оди­на­ко­вые го­ри­зон­таль­ные па­рал­лель­ные стены, рас­по­ло­жен­ные друг под дру­гом и от­сто­я­щие друг от друга более чем на 1 клет­ку. Левые края стен на­хо­дят­ся на одном уров­не. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под верх­ней сте­ной.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже го­ри­зон­таль­ных стен. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 5. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 5. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, крат­ных 5.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
15
25
6
40

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


16
Тип Д18 C3 № 320
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ют­ся две оди­на­ко­вые го­ри­зон­таль­ные па­рал­лель­ные стены, рас­по­ло­жен­ные друг под дру­гом и от­сто­я­щие друг от друга более чем на 1 клет­ку. Левые края стен на­хо­дят­ся на одном уров­не. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под ниж­ней сте­ной.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже го­ри­зон­таль­ных стен. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число  — ко­ли­че­ство чисел, крат­ных 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

3

12

26

24

2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


17
Тип Д18 C3 № 340
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца спус­ка­ет­ся вниз спра­ва на­ле­во, затем спус­ка­ет­ся вниз слева на­пра­во. Вы­со­та каж­дой сту­пе­ни  — одна клет­ка, ши­ри­на  — две клет­ки. Робот на­хо­дит­ся спра­ва от верх­ней сту­пе­ни лест­ни­цы. Ко­ли­че­ство сту­пе­нек, ве­ду­щих влево, и ко­ли­че­ство сту­пе­нек, ве­ду­щих впра­во, не­из­вест­но. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния лест­ни­цы и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но над сту­пе­ня­ми лест­ни­цы, спус­ка­ю­щей­ся слева на­пра­во. Тре­бу­ет­ся за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
14
24
144
22
12
0
168

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


18
Тип Д18 C3 № 341
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

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

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные левее вер­ти­каль­ной стены и выше го­ри­зон­таль­ной стены и при­ле­га­ю­щие к ним. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм на­пи­ши­те в тек­сто­вом ре­дак­то­ре и со­хра­ни­те в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет сумму двух наи­боль­ших и сумму двух наи­мень­ших. Про­грам­ма долж­на вы­ве­сти две этих суммы в ука­зан­ном по­ряд­ке. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000.

В по­сле­до­ва­тель­но­сти не менее двух чисел.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
10
25
12
0
37
13

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


19
Тип Д18 C3 № 361
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От ниж­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над пра­вым краем го­ри­зон­таль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вер­ти­каль­ной стены и при­мы­ка­ю­щие к ней. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо нее ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить мак­си­маль­ную за­ре­ги­стри­ро­ван­ную ско­рость ав­то­мо­би­ля. Если ско­рость хотя бы од­но­го ав­то­мо­би­ля была мень­ше 30 км/ч, вы­ве­ди­те «YES», иначе вы­ве­ди­те «N0».

Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 < N < 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300.Про­грам­ма долж­на сна­ча­ла вы­ве­сти мак­си­маль­ную ско­рость, затем YES или NO.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
66
74
NO

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


20
Тип Д18 C3 № 381
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От ниж­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над пра­вым краем го­ри­зон­таль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вер­ти­каль­ной стены, выше го­ри­зон­таль­ной стены и при­мы­ка­ю­щие к ним. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо нее ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить ми­ни­маль­ную за­ре­ги­стри­ро­ван­ную ско­рость ав­то­мо­би­ля. Если ско­рость хотя бы од­но­го ав­то­мо­би­ля была боль­ше 80 км/ч, вы­ве­ди­те «YES», иначе вы­ве­ди­те «NO».

Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 ≤ N ≤ 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300.Про­грам­ма долж­на сна­ча­ла вы­ве­сти ми­ни­маль­ную ско­рость, затем YES или NO.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
96
63
YES

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


21
Тип Д18 C3 № 401
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От ниж­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над пра­вым краем го­ри­зон­таль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вер­ти­каль­ной стены, выше го­ри­зон­таль­ной стены и при­мы­ка­ю­щие к ним, кроме уг­ло­вой клет­ки. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо нее ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить сред­нюю за­ре­ги­стри­ро­ван­ную ско­рость всех ав­то­мо­би­лей. Если ско­рость хотя бы од­но­го ав­то­мо­би­ля была не мень­ше 60 км/ч, вы­ве­ди­те «YES», иначе вы­ве­ди­те «NO».

Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 ≤ N ≤ 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300. Про­грам­ма долж­на сна­ча­ла вы­ве­сти сред­нюю ско­рость с точ­но­стью до од­но­го знака после за­пя­той, затем «YES» или «NO».

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
96
75.5
YES

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


22
Тип Д18 C3 № 421
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От ниж­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от вер­ти­каль­ной стены и выше го­ри­зон­таль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже го­ри­зон­таль­ной стены и при­мы­ка­ю­щие к ней. Тре­бу­ет­ся за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо нее ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить сред­нюю за­ре­ги­стри­ро­ван­ную ско­рость всех ав­то­мо­би­лей. Если не менее двух ав­то­мо­би­лей дви­га­лись со ско­ро­стью не боль­ше 40 км/ч, вы­ве­ди­те «YES», иначе вы­ве­ди­те «NO».

Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 ≤ N ≤ 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300.Про­грам­ма долж­на сна­ча­ла вы­ве­сти сред­нюю ско­рость, с точ­но­стью до од­но­го знака после за­пя­той, затем «YES» или «NO».

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
96
75.5
NO

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


23
Тип Д18 C3 № 441
i

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От ниж­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от вер­ти­каль­ной стены и выше го­ри­зон­таль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные слева от вер­ти­каль­ной стены и при­мы­ка­ю­щие к ней. Тре­бу­ет­ся за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Ка­ме­ра на­блю­де­ния ре­ги­стри­ру­ет в ав­то­ма­ти­че­ском ре­жи­ме ско­рость про­ез­жа­ю­щих мимо нее ав­то­мо­би­лей, округ­ляя зна­че­ния ско­ро­сти до целых чисел. Не­об­хо­ди­мо опре­де­лить:

 

1)  раз­ность мак­си­маль­ной и ми­ни­маль­ной ско­ро­стей ав­то­мо­би­лей;

2)  ко­ли­че­ство ав­то­мо­би­лей, ско­рость ко­то­рых не пре­вы­ша­ла 30 км/ч.

 

Про­грам­ма по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1 ≤ N ≤ 30), затем ука­зы­ва­ют­ся их ско­ро­сти. Зна­че­ние ско­ро­сти не может быть мень­ше 1 и боль­ше 300. Про­грам­ма долж­на сна­ча­ла вы­ве­сти раз­ность мак­си­маль­ной и ми­ни­маль­ной ско­ро­стей ав­то­мо­би­лей, затем ко­ли­че­ство ав­то­мо­би­лей, ско­рость ко­то­рых не пре­вы­ша­ла 30 км/ч.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
74
69
63
96
33
0

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


24
Тип Д18 C3 № 461
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся внут­ри пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий верх­ние уг­ло­вые клет­ки. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет ко­ли­че­ство не­чет­ных чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти два числа: длину по­сле­до­ва­тель­но­сти (за­вер­ша­ю­щий 0 не учи­ты­ва­ет­ся) и ко­ли­че­ство не­чет­ных чисел, крат­ных 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
6
15
180
0
4
1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


25
Тип Д18 C3 № 481
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся внут­ри пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий ниж­ние уг­ло­вые клет­ки. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет их сумму и ко­ли­че­ство чет­ных чисел, крат­ных 5. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти два числа: сумму по­сле­до­ва­тель­но­сти и ко­ли­че­ство чет­ных чисел, крат­ных 5.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
60
15
0
79
1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


26
Тип Д18 C3 № 501
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся внут­ри пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий клет­ки пря­мо­уголь­ни­ка, при­мы­ка­ю­щие к его ниж­ней и левой сте­нам. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет их ко­ли­че­ство и сумму чет­ных чисел. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти два числа: длину по­сле­до­ва­тель­но­сти и сумму чет­ных чисел.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
4
60
15
0
3
64

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


27
Тип Д18 C3 № 521
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся слева от пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий клет­ки сна­ру­жи пря­мо­уголь­ни­ка, при­мы­ка­ю­щие сто­ро­ной к его пра­вой стене. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет их сумму и под­счи­ты­ва­ет раз­ность ко­ли­че­ства по­ло­жи­тель­ных и от­ри­ца­тель­ных чисел по­сле­до­ва­тель­но­сти. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти два числа: сумму чисел и раз­ность ко­ли­че­ства по­ло­жи­тель­ных и от­ри­ца­тель­ных чисел.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
150
−200
−1
0
−51
−1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


28
Тип Д18 C3 № 541
i

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся пря­мо­уголь­ник, огра­ни­чен­ный сте­на­ми. Длины сто­рон пря­мо­уголь­ни­ка не­из­вест­ны. Робот на­хо­дит­ся спра­ва от пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий клет­ки сна­ру­жи пря­мо­уголь­ни­ка, при­мы­ка­ю­щие сто­ро­ной к его ниж­ней стене, а также клет­ку, при­мы­ка­ю­щую к пра­во­му ниж­не­му углу. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет их ко­ли­че­ство и под­счи­ты­ва­ет сумму по­ло­жи­тель­ных чет­ных чисел, не пре­вос­хо­дя­щих 256. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти два числа: длину по­сле­до­ва­тель­но­сти и сумму по­ло­жи­тель­ных чет­ных чисел, не пре­вос­хо­дя­щих 256.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
−20
6
1000
100
−200
0
5
106

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


29
Тип Д18 C3 № 561
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из 3 по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, впра­во, все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной свер­ху ле­во­го конца пер­во­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вто­ро­го от­рез­ка и над тре­тьим. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство всех чет­ных чисел, крат­ных 5. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство всех чет­ных чисел, крат­ных 5.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
10
14
50
25
17
0
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


30
Тип Д18 C3 № 581
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из 3 по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, впра­во, все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над левым кон­цом пер­во­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные над пер­вым от­рез­ком и спра­ва от вто­ро­го. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство всех чет­ных чисел, крат­ных 9. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство всех чет­ных чисел, крат­ных 9.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
27
24
18
22
36
0
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


31
Тип Д18 C3 № 601
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ют­ся 4 стены, рас­по­ло­жен­ные в форме пря­мо­уголь­ни­ка. Длины вер­ти­каль­ных и го­ри­зон­таль­ных стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в левом верх­нем углу пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные с внут­рен­ней сто­ро­ны пра­вой и ниж­ней стен. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 2. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 2.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
112
24
42
49
22
0
154

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


32
Тип Д18 C3 № 621
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ют­ся 4 стены, рас­по­ло­жен­ные в форме пря­мо­уголь­ни­ка. Длины вер­ти­каль­ных и го­ри­зон­таль­ных стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в левом верх­нем углу пря­мо­уголь­ни­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные с внут­рен­ней сто­ро­ны верх­ней и ниж­ней стен. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
24
6
34
22
84
0
108

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


33
Тип Д18 C3 № 641
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из 5 по­сле­до­ва­тель­ных от­рез­ков, рас­по­ло­жен­ных змей­кой: впра­во, вниз, влево, вниз, впра­во, все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в самой левой клет­ке не­по­сред­ствен­но под верх­ней го­ри­зон­таль­ной сте­ной. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже пер­во­го и левее вто­ро­го от­рез­ков стены и левее чет­вер­то­го и ниже пя­то­го от­рез­ков стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.). Клет­ка X также долж­на быть за­кра­ше­на.

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 8 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех на­ту­раль­ных чисел, крат­ных 8 и окан­чи­ва­ю­щих­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
16
24
56
22
12
0
72

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


34
Тип Д18 C3 № 661
i

Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из 5 по­сле­до­ва­тель­ных от­рез­ков, рас­по­ло­жен­ных змей­кой: вниз, впра­во, вверх, впра­во, вниз. Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от верх­не­го края пер­вой вер­ти­каль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные левее пер­во­го и ниже вто­ро­го от­рез­ков стены и ниже чет­вер­то­го и левее пя­то­го от­рез­ков стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. Клет­ка X также долж­на быть за­кра­ше­на. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30000. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех на­ту­раль­ных чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
16
24
56
22
54
0
78

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


35
Тип Д18 C3 № 681
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца спус­ка­ет­ся вниз слева на­пра­во, потом под­ни­ма­ет­ся вверх также слева на­пра­во. После подъ­ема лест­ни­ца пе­ре­хо­дит в вер­ти­каль­ную стену. Вы­со­та каж­дой сту­пе­ни  — 1 клет­ка, ши­ри­на  — 1 клет­ка. Ко­ли­че­ство сту­пе­нек, ве­ду­щих вверх, и ко­ли­че­ство сту­пе­нек, ве­ду­щих вниз, не­из­вест­но. Между спус­ком и подъ­емом ши­ри­на пло­щад­ки  — 1 клет­ка. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в на­ча­ле спус­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р») .

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но над лест­ни­цей, как по­ка­за­но на ри­сун­ке. Тре­бу­ет­ся за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 Вве­ди­те с кла­ви­а­ту­ры 5 по­ло­жи­тель­ных целых чисел. Вы­чис­ли­те сумму тех из них, ко­то­рые де­лят­ся на 4 и при этом за­кан­чи­ва­ют­ся на 6. Про­грам­ма долж­на вы­ве­сти одно число: сумму чисел, вве­ден­ных с кла­ви­а­ту­ры, крат­ных 4 и окан­чи­ва­ю­щих­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
12
16
36
26
30
52

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


36
Тип Д18 C3 № 701
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца под­ни­ма­ет­ся вверх слева на­пра­во, потом опус­ка­ет­ся вниз также слева на­пра­во. Пра­вее спус­ка лест­ни­ца пе­ре­хо­дит в го­ри­зон­таль­ную стену. Вы­со­та каж­дой сту­пе­ни  — 1 клет­ка, ши­ри­на  — 1 клет­ка. Ко­ли­че­ство сту­пе­нек, ве­ду­щих вверх, и ко­ли­че­ство сту­пе­нек, ве­ду­щих вниз, не­из­вест­но. Между спус­ком и подъ­емом ши­ри­на пло­щад­ки  — 1 клет­ка. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в на­ча­ле спус­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р») .

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но над лест­ни­цей. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

 

15.2 Вве­ди­те с кла­ви­а­ту­ры 8 по­ло­жи­тель­ных целых чисел. Опре­де­ли­те, сколь­ко из них де­лят­ся на 3 и при этом за­кан­чи­ва­ют­ся на 4. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
12
14
24
54
44
33
84
114
4

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


37
Тип Д18 C3 № 721
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В го­ри­зон­таль­ной стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной у ее пра­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но левее и пра­вее вер­ти­каль­ной стены. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки(см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да внут­ри стены.

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 4. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное число, окан­чи­ва­ю­ще­е­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
24
14
34
14

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


38
Тип Д18 C3 № 764
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из трех по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, влево. Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в ниж­нем углу, ко­то­рый об­ра­зу­ет­ся вто­рым и тре­тьим от­рез­ком. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стены и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные ниже тре­тье­го от­рез­ка. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для бес­ко­неч­но­го поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 8. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи- ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 8.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

23

48

12

18

34

0

66

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


39
Тип Д18 C3 № 784
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из трех по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, влево. Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в ниж­нем углу, ко­то­рый об­ра­зу­ет­ся вто­рым и тре­тьим от­рез­ком. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стены и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вто­ро­го от­рез­ка. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для бес­ко­неч­но­го поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи- ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

54

28

72

34

24

0

78

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


40
Тип Д18 C3 № 816
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из двух вер­ти­каль­ных и со­еди­ня­ю­ще­го их го­ри­зон­таль­но­го от­рез­ков (от­рез­ки стены рас­по­ло­же­ны "бук­вой П"). В го­ри­зон­таль­ном участ­ке есть ровно один про­ход, место и длина про­хо­да не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над левым кон­цом го­ри­зон­таль­но­го от­рез­ка стены.

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та

(Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные над го­ри­зон­таль­ным от­рез­ком стены спра­ва от про­хо­да, и все клет­ки, рас­по­ло­жен­ные с внеш­ней сто­ро­ны от пра­во­го вер­ти­каль­но­го участ­ка стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля, лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 2. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 2.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

12

24

22

72

11

0

84

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


41
Тип Д18 C3 № 836
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из двух вер­ти­каль­ных и со­еди­ня­ю­ще­го их го­ри­зон­таль­но­го от­рез­ков (от­рез­ки стены рас­по­ло­же­ны "бук­вой П"). В го­ри­зон­таль­ном участ­ке есть ровно один про­ход, место и длина про­хо­да не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над пра­вым кон­цом го­ри­зон­таль­но­го от­рез­ка стены.

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та

(Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные над го­ри­зон­таль­ным от­рез­ком стены слева от про­хо­да, и все клет­ки, рас­по­ло­жен­ные с внеш­ней сто­ро­ны от ле­во­го вер­ти­каль­но­го участ­ка стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию.

На­при­мер, для при­ве­ден­но­го спра­ва ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля, лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 4 и окан­чи­ва­ю­щих­ся на 8. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 4 и окан­чи­ва­ю­щих­ся на 8.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

8

22

16

28

18

0

36

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


42
Тип Д18 C3 № 858
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся че­ты­ре стены, со­еди­нен­ные между собой, ко­то­рые об­ра­зу­ют пря­мо­уголь­ник. Длины стен не­из­вест­ны. В левой вер­ти­каль­ной стене есть ровно один про­ход, в ниж­ней го­ри­зон­таль­ной стене

также есть ровно один про­ход. Про­ход не может при­мы­кать к углу пря­мо­уголь­ни­ка. Точ­ные места про­хо­дов и ши­ри­на про­хо­дов не­из­вест­ны. Робот на­хо­дит­ся около ниж­не­го конца левой вер­ти­каль­ной стены, сна­ру­жи пря­мо­уголь­ни­ка и выше ниж­ней стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные вдоль стен пря­мо­уголь­ни­ка с внут­рен­ней сто­ро­ны. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го

рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да внут­ри стены. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное чет­ное число.

Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся чет­ное число. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное чет­ное число.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

3

20

6

8

6

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


43
Тип Д18 C3 № 878
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся че­ты­ре стены, со­еди­нен­ные между собой, ко­то­рые об­ра­зу­ют пря­мо­уголь­ник. Длины стен не­из­вест­ны. В левой вер­ти­каль­ной стене есть ровно один про­ход. Про­ход не может при­мы­кать к углу пря­мо­уголь­ни­ка. Точ­ное место про­хо­да и ши­ри­на про­хо­да не­из­вест­на. Робот на­хо­дит­ся около ниж­не­го конца левой вер­ти­каль­ной стены, сна­ру­жи пря­мо­уголь­ни­ка и выше ниж­ней стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные вдоль стен пря­мо­уголь­ни­ка с внеш­ней сто­ро­ны. Про­ход дол­жен остать­ся не­за­кра­шен­ным. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го

рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да внут­ри стены. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 2.

Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 2.

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 2.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

3

22

6

12

22

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


44
Тип Д18 C3 № 899
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две пер­пен­ди­ку­ляр­ные друг другу стены, рас­по­ло­жен­ные в виде буквы «Т», длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но с левой сто­ро­ны вер­ти­каль­ной стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го спра­ва ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го

рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да внут­ри стены. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 4 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 4 и окан­чи­ва­ю­щих­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

16

24

56

26

12

0

72

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


45
Тип Д18 C3 № 919
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две пер­пен­ди­ку­ляр­ные друг другу стены, рас­по­ло­жен­ные в виде буквы «Т», длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но над го­ри­зон­таль­ной сте­ной. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но с пра­вой сто­ро­ны вер­ти­каль­ной стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го спра­ва ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­да внут­ри стены. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 9. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 9.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

16

29

56

9

39

0

48

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


46
Тип Д18 C3 № 939
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из од­но­го вер­ти­каль­но­го и трех рав­ных го­ри­зон­таль­ных от­рез­ков (от­рез­ки стены рас­по­ло­же­ны бук­вой «Е»). Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но слева от ниж­не­го конца вер­ти­каль­но­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные под верх­ним го­ри­зон­таль­ным от­рез­ком стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го спра­ва ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 3. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

73

13

14

133

63

0

196

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


47
Тип Д18 C3 № 959
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из од­но­го вер­ти­каль­но­го и трех рав­ных го­ри­зон­таль­ных от­рез­ков (от­рез­ки стены рас­по­ло­же­ны бук­вой «Е»). Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но слева от верх­не­го конца вер­ти­каль­но­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные над ниж­ним го­ри­зон­таль­ным от­рез­ком стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го спра­ва ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 1. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 7 и окан­чи­ва­ю­щих­ся на 1.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

21

14

31

28

91

0

112

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


48
Тип Д18 C3 № 963
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

 

Вы­пол­ни­те за­да­ния.

 

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

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные левее вер­ти­каль­ной стены и выше го­ри­зон­таль­ной стены и при­ле­га­ю­щие к ним. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм на­пи­ши­те в тек­сто­вом ре­дак­то­ре и со­хра­ни­те в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет ко­ли­че­ство чет­ных чисел, крат­ных 7. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чет­ных чисел, крат­ных 7.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

–32

14

17

0

1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


49
Тип Д18 C3 № 1031
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из од­но­го го­ри­зон­таль­но­го и трех рав­ных вер­ти­каль­ных от­рез­ков (от­рез­ки стены рас­по­ло­же­ны бук­вой «Ш»). Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но спра­ва от верх­не­го конца ле­во­го вер­ти­каль­но­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р») .

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но спра­ва от вто­ро­го вер­ти­каль­но­го от­рез­ка. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

14

24

36

84

66

0

108

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


50
Тип Д18 C3 № 1051
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из од­но­го го­ри­зон­таль­но­го и трех рав­ных вер­ти­каль­ных от­рез­ков (от­рез­ки стены рас­по­ло­же­ны бук­вой «Ш»). Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но слева от верх­не­го конца пра­во­го вер­ти­каль­но­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но слева от вто­ро­го вер­ти­каль­но­го от­рез­ка. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0 – при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 6.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

36

12

16

66

11

0

102

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


51
Тип Д18 C3 № 1071
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся го­ри­зон­таль­ная стена. Длина стены не­из­вест­на. Робот на­хо­дит­ся свер­ху от стены в левом ее конце. На ри­сун­ке при­ве­де­но рас­по­ло­же­ние Ро­бо­та от­но­си­тель­но стены (Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные выше стены на рас­сто­я­нии одной пу­стой клет­ки от стены, не­за­ви­си­мо от длины стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Де­вя­ти­класс­ни­ки участ­во­ва­ли в вик­то­ри­не по ма­те­ма­ти­ке. Не­об­хо­ди­мо было от­ве­тить на 20 во­про­сов. По­бе­ди­те­лем вик­то­ри­ны счи­та­ет­ся участ­ник, пра­виль­но от­ве­тив­ший на наи­боль­шее ко­ли­че­ство во­про­сов. На сколь­ко во­про­сов по­бе­ди­тель от­ве­тил пра­виль­но? Если есть участ­ни­ки вик­то­ри­ны, ко­то­рые не смог­ли дать пра­виль­ный ответ ни на один из во­про­сов, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Га­ран­ти­ру­ет­ся, что есть участ­ни­ки, пра­виль­но от­ве­тив­шие хотя бы на один из во­про­сов. Про­грам­ма по­лу­ча­ет на вход число участ­ни­ков вик­то­ри­ны N (1 ≤ N ≤ 50), затем для каж­до­го участ­ни­ка вво­дит­ся ко­ли­че­ство во­про­сов, на ко­то­рые по­лу­чен пра­виль­ный ответ.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

15

12

0

17

17

YES


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


52
Тип Д18 C3 № 1091
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — ;это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся го­ри­зон­таль­ная стена. Длина стены не­из­вест­на. Робот на­хо­дит­ся в одной из кле­ток не­по­сред­ствен­но свер­ху от стены. На­чаль­ное по­ло­же­ние Ро­бо­та также не­из­вест­но. Одно из воз­мож­ных по­ло­же­ний Ро­бо­та при­ве­де­но на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные выше стены и при­ле­га­ю­щие к ней, не­за­ви­си­мо от раз­ме­ра стены и на­чаль­но­го рас­по­ло­же­ния Ро­бо­та. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Уче­ни­ки 4 клас­са вели днев­ни­ки на­блю­де­ния за по­го­дой и еже­днев­но за­пи­сы­ва­ли днев­ную тем­пе­ра­ту­ру. Най­ди­те самую низ­кую тем­пе­ра­ту­ру за время на­блю­де­ния. Если тем­пе­ра­ту­ра опус­ка­лась ниже –15 гра­ду­сов, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство дней, в те­че­ние ко­то­рых про­во­ди­лось из­ме­ре­ние тем­пе­ра­ту­ры N (1 ≤ N ≤ 31), затем для каж­до­го дня вво­дит­ся тем­пе­ра­ту­ра.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

–5

12

–2

8

–5

NO


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


53
Тип Д18 C3 № 1114
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

Робот на­хо­дит­ся в верх­ней клет­ке уз­ко­го вер­ти­каль­но­го ко­ри­до­ра. Ши­ри­на ко­ри­до­ра  — одна клет­ка, длина ко­ри­до­ра может быть про­из­воль­ной. Воз­мож­ный ва­ри­ант на­чаль­но­го рас­по­ло­же­ния Ро­бо­та при­ве­ден на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки внут­ри ко­ри­до­ра и воз­вра­ща­ю­щий Ро­бо­та в ис­ход­ную по­зи­цию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го ко­неч­но­го раз­ме­ра ко­ри­до­ра. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 2. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 2.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

12

25

12

9

2


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


54
Тип Д18 C3 № 1134
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

Робот на­хо­дит­ся в левой клет­ке уз­ко­го го­ри­зон­таль­но­го ко­ри­до­ра. Ши­ри­на ко­ри­до­ра  — одна клет­ка, длина ко­ри­до­ра может быть про­из­воль­ной. Воз­мож­ный ва­ри­ант на­чаль­но­го рас­по­ло­же­ния Ро­бо­та при­ве­ден на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»):

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки внут­ри ко­ри­до­ра и воз­вра­ща­ю­щий Ро­бо­та в ис­ход­ную по­зи­цию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.). Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го ко­неч­но­го раз­ме­ра ко­ри­до­ра. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

3

24

25

54

2


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


55
Тип Д18 C3 № 1154
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся го­ри­зон­таль­ная стена. Длина стены не­из­вест­на. Робот на­хо­дит­ся свер­ху от стены в левом ее конце. На ри­сун­ке при­ве­де­но рас­по­ло­же­ние ро­бо­та от­но­си­тель­но стены (робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те ал­го­ритм для ро­бо­та, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные выше стены на рас­сто­я­нии одной пу­стой клет­ки от стены, не­за­ви­си­мо от длины стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие за­дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся

на 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

3

13

23

3

23


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


56
Тип Д18 C3 № 1174
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

Робот на­хо­дит­ся в пра­вой клет­ке уз­ко­го го­ри­зон­таль­но­го ко­ри­до­ра. Ши­ри­на ко­ри­до­ра  — одна клет­ка, длина ко­ри­до­ра может быть про­из­воль­ной. Воз­мож­ный ва­ри­ант на­чаль­но­го рас­по­ло­же­ния Ро­бо­та при­ве­ден на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки внут­ри ко­ри­до­ра и воз­вра­ща­ю­щий Ро­бо­та в ис­ход­ную по­зи­цию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го ко­неч­но­го раз­ме­ра ко­ри­до­ра. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство трех­знач­ных чисел, крат­ных 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство трех­знач­ных чисел, крат­ных 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

120

9

365

4

0

1


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


57
Тип Д18 C3 № 1233
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  —  это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

 

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

 

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

 

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

Робот на­хо­дит­ся в пра­вой клет­ке уз­ко­го го­ри­зон­таль­но­го ко­ри­до­ра. Ши­ри­на ко­ри­до­ра  — одна клет­ка, длина ко­ри­до­ра может быть про­из­воль­ной. Воз­мож­ный ва­ри­ант на­чаль­но­го рас­по­ло­же­ния Ро­бо­та при­ве­ден на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки внут­ри ко­ри­до­ра и воз­вра­ща­ю­щий Ро­бо­та в ис­ход­ную по­зи­цию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го ко­неч­но­го раз­ме­ра ко­ри­до­ра. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство трех­знач­ных чисел, крат­ных 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство трех­знач­ных чисел, крат­ных 4.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

120

9

365

4

0

1


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


58
Тип Д18 C3 № 1253
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх   вниз   влево   впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но   снизу сво­бод­но   слева сво­бод­но   спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия.

По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов.

На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки и за­кра­ши­ва­ния клет­ки, можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл

«пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

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

пер­во­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но пра­вее вто­ро­го от­рез­ка и над тре­тьим. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел на­хо­дит сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или со­об­ща­ет, что таких чисел нет (вы­во­дит «NO»). Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или вы­ве­сти «NO», если таких чисел нет. Зна­че­ние вы­во­дить с точ­но­стью до де­ся­тых.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

8

122

64

16

0

29.3

111

1

0

NO


текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


59
Тип Д18 C3 № 1273
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх   вниз   влево   впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но   снизу сво­бод­но   слева сво­бод­но   спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия.

По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов.

На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки и за­кра­ши­ва­ния клет­ки, можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл

«пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

 

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены оди­на­ко­вой длины, рас­по­ло­жен­ные точно одна на­про­тив дру­гой. Длина стен не­из­вест­на. Рас­сто­я­ние между сте­на­ми не­из­вест­но. Робот на­хо­дит­ся спра­ва от пер­вой стены в клет­ке, рас­по­ло­жен­ной у ее ниж­не­го края. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки са­мо­го верх­не­го ряда, рас­по­ло­жен­ные между сте­на­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

 

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел вы­чис­ля­ет сумму всех дву­знач­ных чисел, крат­ных 8. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число: сумму всех дву­знач­ных чисел, крат­ных 8.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

17

16

32

160

0

48

текст
html
голос

Загрузка решений доступна для зарегистрировавшихся пользователей


60
Тип Д18 C3 № 4501
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх    вниз    влево    впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но   снизу сво­бод­но   слева сво­бод­но   спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов.

На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки и за­кра­ши­ва­ния клет­ки, можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока  усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены и одна го­ри­зон­таль­ная, со­еди­ня­ю­щая ниж­ний конец левой и верх­ний конец пра­вой вер­ти­каль­ных стен. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от ниж­не­го края пра­вой вер­ти­каль­ной стены, рядом со сте­ной. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, при­мы­ка­ю­щие к вер­ти­каль­ным сте­нам спра­ва. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или  за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в фор­ма­те про­грам­мы Кумир или в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2 На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Уче­ни­ки 4 клас­са вели днев­ни­ки на­блю­де­ния за по­го­дой и еже­днев­но за­пи­сы­ва­ли днев­ную тем­пе­ра­ту­ру. Най­ди­те сред­нюю тем­пе­ра­ту­ру за время на­блю­де­ния. Если ко­ли­че­ство дней, когда тем­пе­ра­ту­ра под­ни­ма­лась выше нуля гра­ду­сов, не менее 5, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство дней, в те­че­ние ко­то­рых про­во­ди­лось на­блю­де­ние N (1 ≤ N ≤ 31), затем для каж­до­го дня вво­дит­ся тем­пе­ра­ту­ра.

 

При­мер ра­бо­ты про­грам­мы:


Вход­ные дан­ные

Вы­ход­ные дан­ные

4

4

12

−2

8

3.5

 

NO


 


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


61
Тип Д18 C3 № 4609
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх    вниз    влево    впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но   снизу сво­бод­но   слева сво­бод­но   спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки и за­кра­ши­ва­ния клет­ки, можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока  усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние

Робот на­хо­дит­ся в про­из­воль­ной клет­ке уз­ко­го вер­ти­каль­но­го ко­ри­до­ра. Ши­ри­на ко­ри­до­ра  — одна клет­ка, длина ко­ри­до­ра может быть про­из­воль­ной. Точ­ное по­ло­же­ние Ро­бо­та также не­из­вест­но. Воз­мож­ный ва­ри­ант на­чаль­но­го рас­по­ло­же­ния Ро­бо­та при­ве­ден на ри­сун­ке (Робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки внут­ри ко­ри­до­ра.

Ко­неч­ное по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.):

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го ко­неч­но­го раз­ме­ра ко­ри­до­ра и про­из­воль­но­го на­чаль­но­го рас­по­ло­же­ния Ро­бо­та. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или  за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в фор­ма­те про­грам­мы Кумир или в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2. На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти целых чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 5 или 9. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 5 или 9.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ные

Вы­ход­ные дан­ные

15
91
90
0

2



текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


62
Тип Д18 C3 № 4637
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1. Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх    вниз    влево    впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но   снизу сво­бод­но   слева сво­бод­но   спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока  усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

Робот на­хо­дит­ся в левом верх­нем углу ого­ро­жен­но­го про­стран­ства, име­ю­ще­го форму пря­мо­уголь­ни­ка. Раз­ме­ры пря­мо­уголь­ни­ка не­из­вест­ны. Где-то по­се­ре­ди­не пря­мо­уголь­ни­ка есть вер­ти­каль­ная стена, раз­де­ля­ю­щая пря­мо­уголь­ник на две части. В этой стене есть про­ход, при этом про­ход не яв­ля­ет­ся самой верх­ней или самой ниж­ней клет­кой стены. Точ­ное рас­по­ло­же­ние про­хо­да также не­из­вест­но. Одно из воз­мож­ных рас­по­ло­же­ний стены и про­хо­да в ней при­ве­де­но на ри­сун­ке (робот обо­зна­чен бук­вой «Р»):

 

На­пи­ши­те для Ро­бо­та ал­го­ритм, пе­ре­ме­ща­ю­щий ро­бо­та в пра­вый ниж­ний угол пря­мо­уголь­ни­ка (см. ри­су­нок):

 

Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или  за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в фор­ма­те про­грам­мы Кумир или в тек­сто­вом файле. На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2. На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. На кон­троль­ной ра­бо­те по ал­геб­ре уче­ни­кам 9 клас­са было пред­ло­же­но 10 при­ме­ров. Не­удо­вле­тво­ри­тель­ная оцен­ка вы­став­ля­ет­ся, если пра­виль­но ре­ше­но менее по­ло­ви­ны при­ме­ров. Сколь­ко не­удо­вле­тво­ри­тель­ных оце­нок было по­лу­че­но уче­ни­ка­ми? Если хотя бы один из уче­ни­ков пра­виль­но решил все за­да­чи, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство уче­ни­ков в клас­се N (1 ≤ N ≤ 30), затем для каж­до­го уче­ни­ка вво­дит­ся ко­ли­че­ство пра­виль­но ре­шен­ных при­ме­ров.

 

При­мер ра­бо­ты про­грам­мы:


Вход­ные дан­ные

Вы­ход­ные дан­ные

4

3

9

2

8

2

NO


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


63
Тип Д18 C3 № 5085
i

15.1. Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Ниже при­ве­де­но опи­са­ние Ро­бо­та. У Ро­бо­та есть че­ты­ре ко­ман­ды пе­ре­ме­ще­ния:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния через стену, то он раз­ру­шит­ся.

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

свер­ху сво­бод­но снизу сво­бод­но слева сво­бод­но спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «eсли», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то
по­сле­до­ва­тель­ность ко­манд
все

 

«По­сле­до­ва­тель­ность ко­манд»  — это одна или не­сколь­ко любых ко­манд, вы­пол­ня­е­мых Ро­бо­том. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то
впра­во
все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и не (снизу сво­бод­но) то
впра­во
все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие
по­сле­до­ва­тель­ность ко­манд
кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но
впра­во
кц

 

Также у Ро­бо­та есть ко­ман­да за­кра­сить, за­кра­ши­ва­ю­щая клет­ку, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся лест­ни­ца. Сна­ча­ла лест­ни­ца спус­ка­ет­ся вниз слева на­пра­во, потом под­ни­ма­ет­ся вверх также слева на­пра­во. После подъ­ема лест­ни­ца пе­ре­хо­дит в вер­ти­каль­ную стену. Вы­со­та каж­дой сту­пе­ни 1 клет­ка, ши­ри­на  — 1 клет­ка. Ко­ли­че­ство сту­пе­нек, ве­ду­щих вверх, и ко­ли­че­ство сту­пе­нек, ве­ду­щих вниз, не­из­вест­но. Между спус­ком и подъ­емом ши­ри­на пло­щад­ки 1 клет­ка. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в на­ча­ле спус­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но над лест­ни­цей, как по­ка­за­но на ри­сун­ке. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для бес­ко­неч­но­го поля и лю­бо­го ко­ли­че­ства сту­пе­ней. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

 

15.2. На­пи­ши­те про­грам­му, ко­то­рая по двум дан­ным на­ту­раль­ным чис­лам a и b, не пре­вос­хо­дя­щим 30000, под­счи­ты­ва­ет ко­ли­че­ство чет­ных на­ту­раль­ных чисел на от­рез­ке [a, b] (вклю­чая концы от­рез­ка). Про­грам­ма по­лу­ча­ет на вход два на­ту­раль­ных числа a и b, при этом га­ран­ти­ру­ет­ся, что 1 ≤ a  b  30000. Про­ве­рять вход­ные дан­ные на кор­рект­ность не нужно. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чет­ных чисел на от­рез­ке [a, b].

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ные

Вы­ход­ные дан­ные

10

20

6


текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


64
Тип Д18 C3 № 16023
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От верх­не­го конца стены впра­во от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. От пра­во­го конца этой стены от­хо­дит вниз вто­рая вер­ти­каль­ная стена не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной спра­ва от ниж­не­го края пер­вой вер­ти­каль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий клет­ки, рас­по­ло­жен­ные пра­вее пер­вой вер­ти­каль­ной стены, и уг­ло­вую клет­ку, рас­по­ло­жен­ную на пе­ре­се­че­нии го­ри­зон­таль­ной и вто­рой вер­ти­каль­ной стены. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся.

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство од­но­знач­ных чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство од­но­знач­ных чисел, крат­ных 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
121
9
4
0
1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


65
Тип Д18 C3 № 18126
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но спра­ва от вер­ти­каль­ной стены у ее ниж­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены, а также уг­ло­вую клет­ку. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство таких чисел, ко­то­рые крат­ны 4 и окан­чи­ва­ют­ся на 2. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 4 и окан­чи­ва­ю­щих­ся на 2.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
12
140
22
0
1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


66
Тип Д18 C3 № 18183
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Левый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной рядом с вер­ти­каль­ной сте­ной спра­ва от ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, крат­ное 5. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 5.

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число  — мак­си­маль­ное число, крат­ное 5.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
10
25
12
25

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


67
Тип Д18 C3 № 18198
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с ниж­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной рядом с вер­ти­каль­ной сте­ной спра­ва от ее верх­не­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но выше го­ри­зон­таль­ной стены и пра­вее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, крат­ное 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число – ми­ни­маль­ное число, крат­ное 3.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
3
21
12
31
12

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


68
Тип Д18 C3 № 18224
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из трех по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, влево. Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в ниж­нем углу, ко­то­рый об­ра­зу­ет­ся вто­рым и тре­тьим от­рез­ка­ми. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стены и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные под тре­тьим от­рез­ком. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, окан­чи­ва­ю­щих­ся на 8. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа.

В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 8.

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму чисел, окан­чи­ва­ю­щих­ся на 8.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
18
28
24
46

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


69
Тип Д18 C3 № 18239
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся стена, со­сто­я­щая из трех по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, влево. Все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной в ниж­нем углу, ко­то­рый об­ра­зу­ет­ся

вто­рым и тре­тьим от­рез­ка­ми. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стены

и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные спра­ва от вто­ро­го от­рез­ка. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше

ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 9. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 9.

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, окан­чи­ва­ю­щих­ся на 9.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
19
29
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


70
Тип Д18 C3 № 18254
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены и одна го­ри­зон­таль­ная, со­еди­ня­ю­щая ниж­ний конец левой и верх­ний конец пра­вой вер­ти­каль­ных стен. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от ниж­не­го края пра­вой вер­ти­каль­ной стены, рядом со сте­ной. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, при­мы­ка­ю­щие к вер­ти­каль­ным сте­нам спра­ва. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел на­хо­дит сред­нее ариф­ме­ти­че­ское дву­знач­ных чисел или со­об­ща­ет, что таких чисел нет (вы­во­дит «NO»). Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти сред­нее ариф­ме­ти­че­ское дву­знач­ных чисел или

вы­ве­сти «NO», если таких чисел нет. Зна­че­ние вы­во­дить с точ­но­стью до де­ся­тых

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
10
120
49
0
29.5
111
1
0
NO

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


71
Тип Д18 C3 № 18269
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены и одна го­ри­зон­таль­ная, со­еди­ня­ю­щая ниж­ний конец пра­вой и верх­ний конец левой вер­ти­каль­ных стен. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной слева от верх­не­го края пра­вой вер­ти­каль­ной стены, рядом со сте­ной.На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, при­мы­ка­ю­щие к вер­ти­каль­ным сте­нам спра­ва. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел на­хо­дит сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или со­об­ща­ет, что таких чисел нет (вы­во­дит «NO»). Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или

вы­ве­сти «NO», если таких чисел нет. Зна­че­ние вы­во­дить с точ­но­стью до де­ся­тых.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
8
122
64
16
0
29.3
111
1
0
NO

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


72
Тип Д18 C3 № 18284
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены и одна го­ри­зон­таль­ная, со­еди­ня­ю­щая ниж­ний конец пра­вой и верх­ний конец левой вер­ти­каль­ных стен. Длины стен не­из­вест­ны. От ниж­не­го конца стены влево от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной спра­ва от верх­не­го края вер­ти­каль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но пра­вее вер­ти­каль­ной стены, ниже го­ри­зон­таль­ной стены и уг­ло­вую клет­ку. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ми­ни­маль­ное число, крат­ное 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число  — ми­ни­маль­ное число, крат­ное 3.

При­мер ра­бо­ты про­грам­мы:

>
Вход­ные дан­ныеВы­ход­ные дан­ные
3
21
12
31
12

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


73
Тип Д18 C3 № 18299
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле име­ет­ся вер­ти­каль­ная стена. Длина стены не­из­вест­на. От верх­не­го конца стены влево от­хо­дит го­ри­зон­таль­ная стена также не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной спра­ва от ниж­не­го края вер­ти­каль­ной стены. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вер­ти­каль­ной стены, выше го­ри­зон­таль­ной стены и уг­ло­вую клет­ку. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 2. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа по мо­ду­лю не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 2.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
4
12
25
12
9
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


74
Тип Д18 C3 № 18436
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

 

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены, кроме клет­ки, в ко­то­рой на­хо­дит­ся Робот перед вы­пол­не­ни­ем про­грам­мы. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным.

Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 4, но не крат­ных 7. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 4 и не крат­ное 7. Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство чисел, крат­ных 4, но не крат­ных 7.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
4
16
28
26
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


75
Тип Д18 C3 № 32105
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее ле­во­го конца.

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены, кроме клет­ки, в ко­то­рой на­хо­дит­ся Робот перед вы­пол­не­ни­ем про­грам­мы. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство трех­знач­ных чисел, крат­ных 4. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство трех­знач­ных чисел, крат­ных 4.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
120
9
365
4
0
1

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


76
Тип Д18 C3 № 35593
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­еди­нен с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у ее ле­во­го конца.

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены, кроме клет­ки, в ко­то­рой на­хо­дит­ся Робот перед вы­пол­не­ни­ем про­грам­мы. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го ко­ли­че­ства сту­пе­ней.

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 9. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, окан­чи­ва­ю­ще­е­ся на 9.

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000.

Про­грам­ма долж­на вы­ве­сти одно число: мак­си­маль­ное число, окан­чи­ва­ю­ще­е­ся на 9.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
9
19
23
19

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


77
Тип Д18 C3 № 36886
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся го­ри­зон­таль­ная стена, бес­ко­неч­но про­дол­жа­ю­ща­я­ся влево и за­кан­чи­ва­ю­ща­я­ся лест­ни­цей, ко­то­рая под­ни­ма­ет­ся слева на­пра­во. Вы­со­та каж­дой сту­пе­ни  — одна клет­ка, ши­ри­на  — три клет­ки. Робот на­хо­дит­ся на го­ри­зон­таль­ной стене, левее лест­ни­цы.

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но над сту­пе­ня­ми лест­ни­цы. Тре­бу­ет­ся за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше

ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го ко­ли­че­ства сту­пе­ней. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 6 и окан­чи­ва­ю­щих­ся на 4. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6 и окан­чи­ва­ю­ще­е­ся на 4.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
24
25
54
78

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


78
Тип Д18 C3 № 37340
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся.

Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

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

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и спра­ва от вер­ти­каль­ной стены и уг­ло­вую клет­ку. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­ным усло­ви­ям. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го ко­ли­че­ства сту­пе­ней.

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет наи­мень­шее число, крат­ное 3. Про­грам­ма по­лу­ча­ет на вход целые числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не яв­ля­ет­ся чле­ном по­сле­до­ва­тель­но­сти)

Ко­ли­че­ство чисел не пре­вы­ша­ет 1000. Вве­ден­ные числа не пре­вы­ша­ют 30 000. Га­ран­ти­ру­ет­ся, что в по­сле­до­ва­тель­но­сти есть хотя бы одно число, крат­ное 3.

Про­грам­ма долж­на вы­ве­сти одно число: наи­мень­шее число, крат­ное 3.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
45
10
9
0
9

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


79
Тип Д18 C3 № 37492
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из 3 по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, впра­во, все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной над левым кон­цом пер­во­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные над пер­вым от­рез­ком и спра­ва от вто­ро­го. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет ко­ли­че­ство чисел, крат­ных 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
18
26
24
2

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


80
Тип Д18 C3 № 37507
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ют­ся две вер­ти­каль­ные стены и одна го­ри­зон­таль­ная, со­еди­ня­ю­щая ниж­ний конец левой и верх­ний конец пра­вой вер­ти­каль­ных стен. Длины стен не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной спра­ва от верх­не­го края левой вер­ти­каль­ной стены, рядом со сте­ной.

На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, при­мы­ка­ю­щие к вер­ти­каль­ным сте­нам слева. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся.

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

Со­хра­ни­те ал­го­ритм в фор­ма­те про­грам­мы Кумир или в тек­сто­вом файле.

На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 3. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 3.

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300.

Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, крат­ных 3.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
12
25
9
21

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей


81
Тип Д18 C3 № 37522
i

Вы­бе­ри­те ОДНО из пред­ло­жен­ных ниже за­да­ний: 15.1 или 15.2.

 

15.1 Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по ла­би­рин­ту, на­чер­чен­но­му на плос­ко­сти, раз­би­той на клет­ки. Между со­сед­ни­ми (по сто­ро­нам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот не прой­дет. У Ро­бо­та есть де­вять ко­манд. Че­ты­ре ко­ман­ды  — это ко­ман­ды-при­ка­зы:

вверх вниз влево впра­во

При вы­пол­не­нии любой из этих ко­манд Робот пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑ вниз ↓, влево ← , впра­во →. Если Робот по­лу­чит ко­ман­ду пе­ре­дви­же­ния сквозь стену, то он раз­ру­шит­ся. Также у Ро­бо­та есть ко­ман­да за­кра­сить, при ко­то­рой за­кра­ши­ва­ет­ся клет­ка, в ко­то­рой Робот на­хо­дит­ся в на­сто­я­щий мо­мент.

Еще че­ты­ре ко­ман­ды  — это ко­ман­ды про­вер­ки усло­вий. Эти ко­ман­ды про­ве­ря­ют, сво­бо­ден ли путь для Ро­бо­та в каж­дом из че­ты­рех воз­мож­ных на­прав­ле­ний:

свер­ху сво­бод­но  снизу сво­бод­но  слева сво­бод­но  спра­ва сво­бод­но

Эти ко­ман­ды можно ис­поль­зо­вать вме­сте с усло­ви­ем «если», име­ю­щим сле­ду­ю­щий вид:

если усло­вие то

по­сле­до­ва­тель­ность ко­манд

все

 

Здесь усло­вие  — одна из ко­манд про­вер­ки усло­вия. По­сле­до­ва­тель­ность ко­манд  — это одна или не­сколь­ко любых ко­манд-при­ка­зов. На­при­мер, для пе­ре­дви­же­ния на одну клет­ку впра­во, если спра­ва нет стен­ки, и за­кра­ши­ва­ния клет­ки можно ис­поль­зо­вать такой ал­го­ритм:

если спра­ва сво­бод­но то

впра­во

за­кра­сить

все

 

В одном усло­вии можно ис­поль­зо­вать не­сколь­ко ко­манд про­вер­ки усло­вий, при­ме­няя ло­ги­че­ские связ­ки и, или, не, на­при­мер:

если (спра­ва сво­бод­но) и (не снизу сво­бод­но) то

впра­во

все

 

Для по­вто­ре­ния по­сле­до­ва­тель­но­сти ко­манд можно ис­поль­зо­вать цикл «пока», име­ю­щий сле­ду­ю­щий вид:

нц пока усло­вие

по­сле­до­ва­тель­ность ко­манд

кц

 

На­при­мер, для дви­же­ния впра­во, пока это воз­мож­но, можно ис­поль­зо­вать сле­ду­ю­щий ал­го­ритм:

нц пока спра­ва сво­бод­но

впра­во

кц

 

Вы­пол­ни­те за­да­ние.

На бес­ко­неч­ном поле име­ет­ся стена, длины от­рез­ков стены не­из­вест­ны. Стена со­сто­ит из трех по­сле­до­ва­тель­ных от­рез­ков: впра­во, вниз, впра­во, все от­рез­ки не­из­вест­ной длины. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной свер­ху ле­во­го конца пер­во­го от­рез­ка. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»).

На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные пра­вее вто­ро­го от­рез­ка и над тре­тьим. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ве­ден­но­го выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. рис.).

Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для про­из­воль­но­го раз­ме­ра поля и лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен внут­ри пря­мо­уголь­но­го поля. При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся.

Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре.

Со­хра­ни­те ал­го­ритм в фор­ма­те про­грам­мы Кумир или в тек­сто­вом файле.

На­зва­ние файла и ка­та­лог для со­хра­не­ния Вам со­об­щат ор­га­ни­за­то­ры эк­за­ме­на.

 

15.2 На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму чисел, крат­ных 6. Про­грам­ма по­лу­ча­ет на вход ко­ли­че­ство чисел в по­сле­до­ва­тель­но­сти, а затем сами числа. В по­сле­до­ва­тель­но­сти все­гда име­ет­ся число, крат­ное 6.

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300.

Про­грам­ма долж­на вы­ве­сти одно число  — сумму чисел, крат­ных 6.

При­мер ра­бо­ты про­грам­мы:

Вход­ные дан­ныеВы­ход­ные дан­ные
3
12
25
6
18

текст
html
голос


Загрузка решений доступна для зарегистрировавшихся пользователей

Завершить работу, свериться с ответами, увидеть решения.