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