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

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

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

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

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

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

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

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

Итоги урока

Итоговая контрольная работа по информатике

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

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

Информатика, 8 класс, Итоговая контрольнгая работа. 

Контрольная работа составлена на основе УМК «Информатика» авт. Босовой Л.Л, Босовой А.Ю. для 8 класса;

 Цели контрольной работы: выявить уровень достижения образовательных результатов учащихся

Итоговая контрольная работа состоит из 2 вариантов, в каждом варианте 9 заданий, 8 из которых представлены в виде тестовых вопросов.

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

Группа ВТ-1 Антакова Анастасия Петровна


Примерная схема оформления контрольной работы:

Информатика, 8 класс, Итоговая контрольнгая работа.

Контрольная работа составлена на основе УМК «Информатика» авт. Босовой Л.Л, Босовой А.Ю. для 8 класса;

Цели контрольной работы: выявить уровень достижения образовательных результатов учащихся

Итоговая контрольная работа состоит из 2 вариантов, в каждом варианте 9 заданий, 8 из которых представлены в виде тестовых вопросов.

В контрольной работе, содержатся задания:

  1. Значение логического выражения

  2. Алгоритм для конкретного исполнителя с фиксированным набором команд

  3. Кодирование и декодирование информации

  4. Линейный алгоритм, записанный на алгоритмическом языке

  5. Простейший циклический алгоритм, записанный на алгоритмическом языке

  6. Циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке

  7. Простой линейный алгоритм для формального исполнителя

  8. Алгоритм, записанный на естественном языке, обрабатывающий цепочки символов или списки

  9. Короткий алгоритм в среде формального исполнителя или на языке программирования

Критерии оценивания: «5»- 9 правильно выполненных заданий;

«4»- 7-8 правильно выполненных заданий;

«3»- 4-6 правильно выполненных заданий;

«2»- менее 4 правильно выполненных заданий.















































Итоговая контрольная работа для 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

АОЖР




Скачать

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

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

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