СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Итоговая контрольная работа 8 класс

Категория: Информатика

Нажмите, чтобы узнать подробности

Данная контрольная работа, предназначена для проверки знаний учащихся по окончанию 8 класса.

Просмотр содержимого документа
«Итоговая контрольная работа 8 класс»

Итоговая контрольная работа для 8 класса

I вариант.

1. Для какого из приведённых имён истинно высказывание:

НЕ (Вторая буква гласная) И НЕ (Последняя согласная)?

1) Емеля

2) Иван

3) Михаил

4) Никита

2. Исполнитель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плоскости, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сместиться на (a, b) (где a, b – целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с ко­ор­ди­на­та­ми (x, y), в точку с ко­ор­ди­на­та­ми (x+a, y+b). Если числа a, bположительные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты увеличивается, если от­ри­ца­тель­ные — уменьшается.

Например, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (2, 4), то ко­ман­да Сместиться на (1, –5) пе­ре­ме­стит Чертёжника в точку (3, –1).

 

Запись

Повтори k раз

Команда1 Команда2 Команда3

Конец

означает, что по­сле­до­ва­тель­ность ко­манд Команда1 Команда2 Команда3 по­вто­рит­ся k раз.

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

Сместиться на (2, –7)

Повтори 6 раз

Сместиться на (0, 1) Сме­стить­ся на (–1, 1) Сме­стить­ся на (–2, 2)

Конец

Какую ко­ман­ду надо вы­пол­нить Чертёжнику, чтобы вер­нуть­ся в ис­ход­ную точку, из ко­то­рой он начал движение?

 

1) Сместиться на (–18, 24)

2) Сместиться на (18, –24)

3) Сместиться на (16, –17)

4) Сместиться на (–16, 17)

3. Кирилл шиф­ру­ет английские слова, за­пи­сы­вая вме­сто каж­дой буквы её номер в ал­фа­ви­те (без пробелов). Но­ме­ра букв даны в таблице:

 

А 1

K 11

U 21

B 2

L 12

V 22

C 3

M 13

W 23

D 4

N 14

X 24

E 5

O 15

Y 25

F 6

P 16

Z 26

G 7

Q 17


H 8

R 18


I 9

S 19


J 10

T 20


 

Некоторые шиф­ров­ки можно рас­шиф­ро­вать не одним способом. Например, 16118 может озна­чать «AFAR», может — «РАR», а может — «AFAAH». Даны че­ты­ре шифровки:

 

1234

2013

3120

4321

 

Только одна из них рас­шиф­ро­вы­ва­ет­ся един­ствен­ным способом. Най­ди­те её и расшифруйте. То, что получилось, за­пи­ши­те в ка­че­стве ответа.


4. В программе «:=» обозначает оператор присваивания, знаки «+», «-», «*» и «/» − операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствует правилам арифметики. 

Определите значение переменной b после выполнения данного алгоритма:


a := 14

b := 4

a := a / 2 - b

b := (a * b ) / 2

b := a + b


В ответе укажите одно целое число − значение переменной b.


5. Запишите зна­че­ние переменной s, по­лу­чен­ное в ре­зуль­та­те работы сле­ду­ю­щей программы. Текст про­грам­мы приведён на пяти язы­ках программирования.

 

Бейсик

Python

DIM k, s AS INTEGER

s = 0

FOR k = 6 TO 10

    s = s + 10

NEXT k

PRINT s

s = 0

for k in range(6,11):

    s = s + 10

print (s)

Паскаль

Алгоритмический язык

var s,k: integer;

begin

    s := 0;

    for k := 6 to 10 do

        s := s + 10;

    writeln(s);

end.

алг

нач

   цел s, k

   s := 0

   нц для k от 6 до 10

      s := s + 10

   кц

   вывод s

кон

 

6. В таб­ли­це Dat хра­нят­ся дан­ные о ко­ли­че­стве дет­ских праздников, ко­то­рые про­во­ди­ло кафе за по­след­ний год (Dat[1] — ко­ли­че­ство дет­ских празд­ни­ков в январе, Dat[2] — ко­ли­че­ство празд­ни­ков в фев­ра­ле и т. д.). Определите, что будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния сле­ду­ю­ще­го алгоритма, за­пи­сан­но­го на пяти ал­го­рит­ми­че­ских языках.

 

Бейсик

Python

DIM Dat(12) AS INTEGER

DIM k, m, month AS INTEGER

Dat(1) = 2: Dat(2) = 8

Dat(3) = 6: Dat(4) = 3

Dat(5) = 8: Dat(6) = 2

Dat(7) = 3: Dat(8) = 7

Dat(9) = 4: Dat(10) = 4

Dat(11) = 8: Dat(12) = 7

m = Dat(1); month = 1

FOR k = 2 TO 6

IF Dat(k) m THEN

m = Dat(k)

month = k

ENDIF

NEXT k

PRINT month

Dat = [2, 8, 6, 3, 8, 2, 3, 7, 4, 4, 8, 7]

m = Dat[0]

month = 1

for k in range(1, 7):

    if Dat[k] m:

        m = Dat[k]

        month = k + 1

print (month)

Паскаль

Алгоритмический язык

Var k, m, month: integer;

Dat: array[1..12] of integer;

Begin

   Dat[1] := 2; Dat[2] := 8;

   Dat[3] := 6; Dat[4] := 3;

   Dat[5] := 8; Dat[6] := 2;

   Dat[7] := 3; Dat[8] := 7;

   Dat[9] := 4; Dat[10] := 4;

   Dat[11] := 8; Dat[12] := 7;

   m := Dat[1];

   month := 1;

   for k := 2 to 6 do

      if Dat[k] m then

       begin

          m := Dat[k];

          month := k;

       end;

   writeln(month);

End.

   алг

   нач

   цел­таб Dat[1:12]

   цел k, m, month

   Dat[1] := 2

   Dat[2] := 8

   Dat[3] := 6

   Dat[4] := 3

   Dat[5] := 8

   Dat[6] := 2

   Dat[7] := 3

   Dat[8] := 7

   Dat[9] := 4

   Dat[10] := 4

   Dat[11] := 8

   Dat[12] := 7

   m := Dat[1]

   month := 1

   нц для k от 2 до 6

       если Dat[k] m то

           m := Dat[k]

           month := k

       все

   кц

   вывод month

   кон

 

7. У исполнителя Делитель две команды, которым присвоены номера:

 

1. раздели на 2

2. прибавь 1

 

Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 23 числа 4, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 11222 — это алгоритм: раздели на 2, раздели на 2, прибавь 1, прибавь 1, прибавь 1, который преобразует число 36 в 12.) Если таких алгоритмов более одного, то запишите любой из них.


8. Цепочка из трех бусин, по­ме­чен­ных ла­тин­ски­ми буквами, фор­ми­ру­ет­ся по сле­ду­ю­ще­му правилу:

– в се­ре­ди­не це­поч­ки стоит одна из бусин B, E, C, H;

– в конце – одна из бусин D, H, B, ко­то­рой нет на вто­ром месте;

– на пер­вом месте – одна из бусин D, H, E, C, не сто­я­щая в конце.

Определите, сколь­ко из пе­ре­чис­лен­ных це­по­чек со­зда­ны по этому правилу?

 

HEH   CHD   EBB   EED   EDH    HCD   BEH   HEB   DBH

 

В от­ве­те за­пи­ши­те толь­ко ко­ли­че­ство цепочек.

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

 

А) Ис­пол­ни­тель Робот умеет пе­ре­ме­щать­ся по лабиринту, на­чер­чен­но­му на плоскости, раз­би­той на клетки. Между со­сед­ни­ми (по сторонам) клет­ка­ми может сто­ять стена, через ко­то­рую Робот прой­ти не может.

У Ро­бо­та есть де­вять команд. Че­ты­ре команды — это команды-приказы:

 

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

 

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

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

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

 

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

 

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

 

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

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

все

 

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

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

вправо

закрасить

все

 

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

 

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

вправо

все

 

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

 

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

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

кц

 

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

 

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

вправо

кц

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

 

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

 

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

 

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

 

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

 

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

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

3

24

25

54

2
















Итоговая контрольная работа для 8 класса

II вариант.



1. Для ка­ко­го из приведённых чисел ис­тин­но высказывание:

 

(Первая цифра чётная) И НЕ(Сумма цифр чётная)?

 

1) 648

2) 452

3) 357

4) 123

2. Исполнитель Чертёжник пе­ре­ме­ща­ет­ся на ко­ор­ди­нат­ной плоскости, остав­ляя след в виде линии. Чертёжник может вы­пол­нять ко­ман­ду Сме­стить­ся на (a, b) (где a, b – целые числа), пе­ре­ме­ща­ю­щую Чертёжника из точки с ко­ор­ди­на­та­ми (x, y) в точку с ко­ор­ди­на­та­ми (x + a, y + b). Если числа a, b положительные, зна­че­ние со­от­вет­ству­ю­щей ко­ор­ди­на­ты увеличивается, если от­ри­ца­тель­ные — уменьшается.

Например, если Чертёжник на­хо­дит­ся в точке с ко­ор­ди­на­та­ми (4, 2), то ко­ман­да Сме­стить­ся на (2, –3) пе­ре­ме­стит Чертёжника в точку (6, –1). Запись

Повтори k раз

Команда1 Команда2 Команда3

Конец

означает, что по­сле­до­ва­тель­ность ко­манд Команда1 Команда2 Команда3 по­вто­рит­ся k раз.

 

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

 

Повтори 3 раз

Сместиться на (–2, –1) Сме­стить­ся на (3, 2) Сме­стить­ся на (2, 1)

Конец

 

Какую един­ствен­ную ко­ман­ду надо вы­пол­нить Чертёжнику, чтобы вер­нуть­ся в ис­ход­ную точку, из ко­то­рой он начал движение?

 

1) Сме­стить­ся на (9, 6)

2) Сме­стить­ся на (–6, –9)

3) Сме­стить­ся на (6, 9)

4) Сме­стить­ся на (–9, –6)

3. Вася шиф­ру­ет рус­ские слова, за­пи­сы­вая вме­сто каж­дой буквы её номер в ал­фа­ви­те (без пробелов). Но­ме­ра букв даны в таблице:

 

А 1

Й 11

У 21

Э 31

Б 2

К 12

Ф 22

Ю 32

В 3

Л 13

Х 23

Я 33

Г 4

М 14

Ц 24


Д 5

Н 15

Ч 25


Е 6

О 16

Ш 26


Ё 7

П 17

Щ 27


Ж 8

Р 18

Ъ 28


З 9

С 19

Ы 29


И 10

Т 20

Ь 30


 

Некоторые шиф­ров­ки можно рас­шиф­ро­вать не одним способом. Например, 12112 может озна­чать «АБАК», может — «КАК», а может — «АБААБ». Даны че­ты­ре шифровки:

 

112233

135793

203014

412030

 

Только одна из них рас­шиф­ро­вы­ва­ет­ся един­ствен­ным способом. Най­ди­те её и расшифруйте. То, что получилось, за­пи­ши­те в ка­че­стве ответа.



4. В про­грам­ме «:=» обо­зна­ча­ет опе­ра­тор присваивания, знаки «+», «-», «*» и «/» — соответственно опе­ра­ции сложения, вычитания, умно­же­ния и деления. Пра­ви­ла вы­пол­не­ния опе­ра­ций и по­ря­док дей­ствий со­от­вет­ству­ют пра­ви­лам арифметики. Опре­де­ли­те зна­че­ние пе­ре­мен­ной b после вы­пол­не­ния алгоритма:

 

а := 7

b := 5

а := b*4 - a*2

b := а*4 - 4

 

В от­ве­те ука­жи­те одно целое число — значение пе­ре­мен­ной b.


5. Запишите зна­че­ние пе­ре­мен­ной s, по­лу­чен­ное в ре­зуль­та­те ра­бо­ты сле­ду­ю­щей программы. Текст про­грам­мы приведён на пяти язы­ках программирования.

 

Бейсик

Python

DIM n, s AS INTEGER

s = 1

FOR n = 2 TO 5

    s = s * 3

NEXT n

PRINT s

s = 1

for n in range(2,6):

    s = s * 3

print (s)

Паскаль

Алгоритмический язык

var s,n: integer;

begin

    s := 1;

    for n := 2 to 5 do

        s := s * 3;

    writeln(s);

end.

алг

нач

   цел s, n

   s := 1

   нц для n от 2 до 5

      s := s * 3

   кц

   вывод s

кон

 

6. В таблице Work хранятся данные о количестве заказов, принятых фирмой «Конфетти» с первого по 15 декабря. (Work[1] − число заказов, принятых 1 декабря, Work[2] − 2 декабря и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на пяти языках программирования:

 

Бейсик

Python

DIM Work(15) AS INTEGER

DIM k,m AS INTEGER

Work(1) = 5: Work(2) = 4

Work(3) = 5: Work(4) = 7

Work(5) = 6: Work(6) = 12

Work(7) = 7: Work(8) = 3

Work(9) = 9: Work(10) = 7

Work(11) = 0: Work(12) = 9

Work(13) = 1: Work(14) = 0

Work(15) = 8

m = 0

FOR k = 1 TO 15

IF Work(k) 6 THEN

m = m + 1

ENDIF

NEXT k

PRINT m

Work = [5, 4, 5, 7, 6, 12, 7, 3, 9, 7, 0, 9, 1, 0, 8]

m = 0

for k in range(15):

    if Work[k] 6:

        m = m + 1

print (m)

Паскаль

Алгоритмический язык

Var k, m: integer;

Work: array[1..15] of integer;

Begin

 Work[1]:=5; Work[2]:=4;

 Work[3]:=5; Work[4]:=7;

 Work[5]:=6; Work[6]:=12;

 Work[7]:=7; Work[8]:=3;

 Work[9]:=9; Work[10]:=7;

 Work[11]:=0; Work[12]:=9;

 Work[13]:=1; Work[14]:=0;

 Work[15]:=8;

 m := 0;

 for k := 1 to 15 do

    if Work[k] 6 then

     begin

        m := m + 1;

     end;

writeln(m);

End.

   алг

   нач

   цел­таб Work[1:15]

   цел k, m

   Work[1] := 5

   Work[2] := 4

   Work[3] := 5

   Work[4] := 7

   Work[5] := 6

   Work[6] := 12

   Work[7] := 7

   Work[8] := 3

   Work[9] := 9

   Work[10] := 7

   Work[11] := 0

   Work[12] := 9

   Work[13] := 1

   Work[14] := 0

   Work[15] := 8

   m := 0

   нц для k от 1 до 15

       если Work[k] 6 то

           m := m + 1

       все

   кц

   вывод m

   кон

 

7. У ис­пол­ни­те­ля Квад­ра­тор две команды, ко­то­рым при­сво­е­ны номера:

 

1. раз­де­ли на 2

2. воз­ве­ди в квад­рат

 

Первая из них умень­ша­ет число на экра­не в 2 раза, вто­рая воз­во­дит число в квадрат. Ис­пол­ни­тель ра­бо­та­ет толь­ко с на­ту­раль­ны­ми числами. Со­ставь­те ал­го­ритм по­лу­че­ния из числа 12 числа 81, со­дер­жа­щий не более 4 команд. В от­ве­те за­пи­ши­те толь­ко но­ме­ра команд.

 

(Например, 1212 — это алгоритм:

раздели на 2

возведи в квадрат

раздели на 2

возведи в квадрат

который пре­об­ра­зу­ет число 20 в 2500).

 

Если таких ал­го­рит­мов более одного, то за­пи­ши­те любой из них.


8. Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она чётна, то удаляется правый символ цепочки, а если нечётна, то в начало цепочки добавляется буква Б. В полученной цепочке символов каждая буква заменяется буквой, стоящей перед ней в русском алфавите (А — на ЯБ— на А и т. д., Я — на Ю).

Получившаяся таким образом цепочка является результатом работы описанного алгоритма.

Например, если исходной была цепочка АВС, то результатом работы алгоритма будет цепочка АЯБР, а если исходной была цепочка КРОТ, то результатом работы алгоритма будет цепочка ЙПН.

Дана цепочка символов РИТМ. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?

Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

 

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

 

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

 

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

 

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

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

 

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

 

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

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

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

все

 

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

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

вправо

закрасить

все

 

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

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

вправо

все

 

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

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

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

кц

 

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

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

вправо

кц

 

 

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

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

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

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

 

 

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

Программа по­лу­ча­ет на вход число про­ехав­ших ав­то­мо­би­лей N (1

 

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

 

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

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

4
74
69
63
66

74
NO























































Ключи:



I вариант:


II вариант:


1

2

3

4

САТ

ГАТЬ

9

20

50

81

2

7

21112

1122

5

АОЖР




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!