Алгоритмы. Исполнители алгоритмов

advertisement
Мастер-класс
учителя информатики
МОУ школы № 62
г.о. Тольятти
Стуликовой Алевтины Алексеевны
Задание А12 –
базовый уровень сложности по
проверке закономерностей
методом рассуждений
Что нужно знать:
 В общем-то, никаких знаний из курса
информатики здесь не требуется, эту задачу
можно давать детям начальной школы для
развития логического мышления.
А12
Цепочка из трех бусин,
помеченных латинскими
буквами, формируется по
следующему правилу.
• На первом месте – одна
из бусин А, Б, В.
• На втором – одна из
бусин Б, В, Г.
• На третьем месте – одна
из бусин А, В, Г, не
стоящая в цепочке на
первом или втором
месте.
Какая из перечисленных
цепочек создана по этому
правилу?
1) АГБ
2) ВАГ
3) БГГ
4) ББГ
Решение
Полное решение:
На первом месте в цепочке стоит одна из бусин
А, Б, В.
После выполнения второго условия остаются
варианты:
АБ, АВ, АГ,
ББ, БВ, БГ,
ВБ, ВВ, ВГ
На третьем шаге складываются цепочки:
АБВ, АБГ, АВГ, АГВ,
ББА, ББВ, ББГ, БВА, БВГ, БГА, БГВ,
ВБА, ВБГ, ВВА, ВВГ, ВГА
Итого: 16 цепочек, из четырех предложенных
подходит только «ББГ».
Краткое решение:
В цепочке «АГБ» нарушено правило третьей
бусины.
В цепочке «ВАГ» нарушено правило второй
бусины.
В цепочке «БГГ» нарушено правило третьей
бусины.
В цепочке «ББГ» все правила соблюдаются.
Ответ: 4
А12
Дешифровщику необходимо восстановить
поврежденный фрагмент сообщения, состоящий
из 4-х символов.
Имеется достоверная информация, что
использовано не более пяти букв (В, Г, Е, Ж, З).
Причем, на втором месте стоит одна из букв В, З, Е.
На третьем – гласная буква, если первая буква
согласная, или любая согласная, если первая
гласная.
На первом месте – одна из букв Г, Е, Ж, З, не
стоящая в слове на втором месте.
На последнем месте – любая согласная буква, не
стоящая на втором или первом месте.
Появилась достоверная информация, что
возможен один из четырех вариантов. Какой?
Решение
В цепочке «ЗЗЕВ»
нарушено
правило первой
буквы.
В цепочке «ГЕЖЖ»
нарушено
правило третьей
буквы.
В цепочке «ЕВГГ»
все правила
соблюдаются.
В цепочке «ЖВЕЕ»
нарушено
правило
последней буквы.
Ответ: 3
1) ЗЗЕВ
2) ГЕЖЖ
3) ЕВГГ
4) ЖВЕЕ
А12 – 2009
Цепочка из трех бусин,
помеченных латинскими
буквами, формируется по
следующему правилу.
• В конце цепочки стоит одна из
бусин А, В, С.
• На первом месте – одна из бусин
В, D, C, которой нет на третьем
месте.
• В середине – одна из бусин A, C,
E, B, не стоящая на первом
месте.
Какая из перечисленных цепочек
создана по этому правилу?
1) СВВ
2) ЕАС
3) BCD
4) BCB
Решение
В цепочке «СВВ» все
правила
соблюдаются.
В цепочке «ЕАС»
нарушено правило
первой бусины.
В цепочке «ВСD»
нарушено правило
третьей бусины.
В цепочке «BCB»
нарушено правило
первой бусины.
Ответ: 1
А12 – 2010
Витя пригласил своего друга
Сергея в гости, но не сказал
ему код от цифрового замка
своего подъезда, а послал
следующее SMS-сообщение:
«в последовательности чисел
3, 1, 8, 2, 6 все числа больше 5
разделить на 2, а затем из
полученной
последовательности все
четные числа». Выполнив
указанные в сообщении
действия, Сергей получил
следующий код цифрового
замка: 31826
1) 3, 1
2) 1, 1, 3
3) 3, 1, 3
4) 3, 3, 1
Решение
Исходное сообщение:
3, 1, 8, 2, 6
2. Числа больше 5
разделим на 2:
3, 1, 4, 2, 3
3. Удалим из
полученной
последовательности
все четные числа:
3, 1, 3
1.
Ответ: 3
При решении задач этой темы необходимо, прежде всего,
уяснить:
1. Исполнитель – это человек, группа людей, животное,
машина или другой объект, который может понимать и
выполнять некоторые команды.
2. Систему команд исполнителя алгоритма:
o
o
o
Как записывается каждая команда.
Что означают ее параметры (если они есть).
Каков должен быть результат ее выполнения.
Выполнение алгоритмов
исполнителем
Что нужно знать:
 Правила выполнения линейных, разветвляющихся и
циклических алгоритмов.
 Основные операции с символьными строками
(определение длины, выделение подстроки, удаление и
вставка символов, «сцепка» двух строк в одну)
 В школьном алгоритмическом языке нц обозначает
«начало цикла», а кц – «конец цикла»; все команды
между нц и кц – это тело цикла, они выполняются
несколько раз.
 Запись нц для i от 1 до n обозначает начало цикла, в
котором переменная i (она называется переменной
цикла) принимает последовательно все значения от 1
до n с шагом 1.
Задание А18 высокого уровня сложности по
анализу алгоритма для
конкретного исполнителя с
фиксированным набором команд
A18
В приведенном ниже фрагменте алгоритма, записанном на алгоритмическом языке,
переменные a, b, c имеют тип «строка», а переменные i, k – тип «целое». Используются
следующие функции:
Длина(a) – возвращает количество символов в строке a. (Тип «целое»)
Извлечь(a,i) – возвращает i-тый (слева) символ в строке a. (Тип «строка»)
Склеить(a,b) – возвращает строку, в которой записаны сначала все символы строки a, а затем
все символы строки b. (Тип «строка»)
Значения строк записываются в одинарных кавычках (Например, a:='дом').
Фрагмент алгоритма:
a:=‘ПОЕЗД’
Какое значение будет у переменной b после выполнения
вышеприведенного фрагмента алгоритма, если
значение переменной a было ‘ПОЕЗД’?
i := Длина (a)
k := 2
b := 'А'
пока i > 0
нц
c := Извлечь (a, i)
b := Склеить (b, c)
i := i – k
кц
1) ‘АДЕПТ’
2) ‘АДЗЕОП’
3) ‘АДТЕТПТ’
4) ‘АДЗОТ’
Решение
b := Склеить (b, 'Т')
a
‘ПОЕЗД’
k
2
i
i>0
с
5
b
‘А’
да
‘Д’
‘АД’
3
да
‘Е’
‘АДЕ’
1
да
‘П’
‘АДЕП’
-1
нет
‘АДЕПТ’
Ответ: 1
A18
В приведенном ниже фрагменте алгоритма, записанном на алгоритмическом языке,
переменные a, b, c имеют тип «строка», а переменные i, k – тип «целое». Используются
следующие функции:
Длина(a) – возвращает количество символов в строке a. (Тип «целое»)
Извлечь(a, i) – возвращает i-тый (слева) символ в строке a. (Тип «строка»)
Склеить(a, b) – возвращает строку, в которой записаны сначала все символы строки a, а
затем все символы строки b. (Тип «строка»)
Значения строк записываются в одинарных кавычках (Например, a:='дом').
Фрагмент алгоритма:
i := Длина(a)
k := 1
b := ‘П'
пока i > 0
нц
c := Извлечь (a, i)
b := Склеить (b, c)
i := i – k
кц
Какое значение будет у переменной b после выполнения вышеприведенного фрагмента
алгоритма, если значение переменной a было ‘РОЗА’?
1) ‘ПАЗ’
2) ‘ПАЗОР’
3) ‘ПОЗА’
4) ‘ПРОЗА’
Решение
Выполняемый оператор
i := Длина (a)
k := 1
b := ‘П'
пока i > 0
нц
c := Извлечь (a, i)
b := Склеить (b,c )
i := i – k
кц
a:= ‘РОЗА’
b-?
а
b
c
i
k
‘РОЗА’
Не определено
Не определено
Не определено
Не определено
i := Длина(a)
‘РОЗА’
Не определено
Не определено
4
Не определено
k := 1
‘РОЗА’
Не определено
Не определено
4
1
b := ‘П'
‘РОЗА’
‘П’
Не определено
4
1
c := Извлечь (a, i)
‘РОЗА’
‘П’
‘А’
4
1
b := Склеить (b, c)
‘РОЗА’
‘ПА’
‘А’
4
1
i := i – k
‘РОЗА’
‘ПА’
‘А’
3
1
c := Извлечь (a, i)
‘РОЗА’
‘ПА’
‘З’
3
1
b := Склеить (b, c)
‘РОЗА’
‘ПАЗ’
‘З’
3
1
i := i – k
‘РОЗА’
‘ПАЗ’
‘З’
2
1
c := Извлечь (a, i)
‘РОЗА’
‘ПАЗ’
‘О’
2
1
b := Склеить (b, c)
‘РОЗА’
‘ПАЗО’
‘О’
2
1
i := i – k
‘РОЗА’
‘ПАЗО’
‘О’
1
1
c := Извлечь (a, i)
‘РОЗА’
‘ПАЗО’
‘Р’
1
1
b := Склеить (b, c)
‘РОЗА’
‘ПАЗОР’
‘Р’
1
1
i := i – k
‘РОЗА’
‘ПАЗОР’
‘Р’
0
1
А18 – 2009
Система команд исполнителя РОБОТ, «живущего» в прямоугольном
лабиринте на клетчатой плоскости: вверх, вниз, влево, вправо.
При выполнении любой из этих команд РОБОТ перемещается на одну
клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой
стороны той клетки, где находится РОБОТ: сверху свободно, снизу
свободно, слева свободно, справа свободно.
Цикл
ПОКА < условие > команда
выполняется, пока условие истинно, иначе происходит переход на
следующую строку.
Сколько клеток лабиринта соответствуют требованию, что, выполнив
предложенную программу, РОБОТ остановится в той же клетке, с которой
он начал движение?
НАЧАЛО
ПОКА < снизу свободно > вниз
ПОКА < слева свободно > влево
ПОКА < сверху свободно > вверх
ПОКА < справа свободно > вправо
КОНЕЦ
A
1) 1
2) 2
3) 3
B
C
D
E
F
4) 0
Ответ: 1
6
5
4
3
2
1
1.
2.
3.
4.
5.
6.
7.
8.
9.
Решение
Легко понять, что для того, чтобы исполнитель вернулся обратно в ту
клетку, откуда он начал движения, четыре стенки должны быть
расставлены так, чтобы он упирался в них сначала при движении
вниз, затем – влево, вверх и, наконец, вправо;
На рисунке красная точка обозначает клетку, начав с которой РОБОТ
вернется обратно;
Кроме этих четырех стенок, необходимо, чтобы коридор,
выделенный на рисунке зеленым фоном, был свободен для прохода;
Обратим внимание, что возможны еще «вырожденные» варианты,
вроде таких:
Итак, мы выяснили, что нужно рассматривать лишь те клетки, где
есть стенка справа; отметим на исходной карте клетки-кандидаты:
Этих «подозрительных» клеток не так много, но можно еще
сократить количество рассматриваемых вариантов: если РОБОТ
начинает движение с любой клетки на вертикали F, он все равно
приходит в клетку F4, которая удовлетворяет заданному условию,
таким образом, одну клетку мы нашли, а остальные клетки
вертикали F условию не удовлетворяют:
Проверяем оставшиеся три клетки-кандидаты, но для каждой из них
после выполнения алгоритма РОБОТ не приходит в ту клетку, откуда
он стартовал:
Итак, условию удовлетворяет только одна клетка – F4
Таким образом, правильный ответ – 1.

A B C D E

6
5
4
3
2
1
F
A B
C
6
5
4
3
2
1
D
E
F

A B C D E F
6
5
4
3
2
1



A
A
B
B
C
C
D
D
E

6

5

4

3

2

1
F
E

6

5

4

3

2

1
F
А18 – 2010 Обратить внимание!
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте
на клетчатой плоскости: вверх, вниз, влево, вправо.
При выполнении любой из этих команд РОБОТ перемещается на одну клетку
соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой
стороны той клетки, где находится РОБОТ: сверху свободно, снизу
свободно,
слева свободно, справа свободно.
Цикл
ПОКА < условие > команда
выполняется, пока условие истинно, иначе происходит переход на следующую
строку.
Если РОБОТ начнет движение в сторону стены, то он разрушится и программа
прервется. Сколько клеток лабиринта соответствует требованию, что,
выполнив предложенную программу, РОБОТ уцелеет и остановится в той же
клетке, с которой он начал движение?
НАЧАЛО
6
5
ПОКА < сверху свободно >вправо
4
ПОКА < справа свободно >вниз
3
ПОКА < снизу свободно >влево
2
ПОКА < слева свободно > вверх
1
КОНЕЦ
A
1) 1
2) 2
3) 3
4) 4
B
C
D
E
F
Ответ: 1
А18
Демоверсия 2008, А20
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте
на клетчатой плоскости: вверх, вниз, влево, вправо.
При выполнении любой из этих команд РОБОТ перемещается на одну клетку
соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены у каждой
стороны той клетки, где находится РОБОТ: сверху свободно, снизу
свободно, слева свободно, справа свободно.
Цикл
ПОКА < условие > команда
выполняется, пока условие истинно, иначе происходит переход на следующую
строку.
Сколько клеток лабиринта соответствуют требованию, что, выполнив
предложенную программу, РОБОТ остановится в той же клетке, с которой он
начал движение?
НАЧАЛО
6
5
ПОКА < справа свободно > вправо
4
ПОКА < сверху свободно > вверх
3
ПОКА < слева свободно > влево
2
ПОКА < снизу свободно > вниз
1
КОНЕЦ
A B C D E F
1) 1
2) 0
3) 3
4) 4
Ответ: 4
Обратить внимание!
 вариантов может быть достаточно много, важно не
пропустить ни один из них,
 можно попытаться выполнить алгоритм для каждой
клетки лабиринта, но это займет много времени;
поэтому лучше ограничиться только клеткамикандидатами,
 нужно правильно определить свойства, по которым
клетку можно считать «кандидатом»,
 можно не заметить стенку и таким образом получить
лишнее решение.
А18
Демоверсия 2005, А23
Исполнитель Черепашка перемещается на
экране компьютера, оставляя след в виде
линии. В каждый конкретный момент
известно положение исполнителя и
направление его движения. У исполнителя
существуют две команды:
Вперед n, где n - целое число, вызывающая
передвижение черепашки на n шагов в
направлении движения.
Направо m, где m - целое число, вызывающая
изменение направления движения на m
градусов по часовой стрелке.
Запись Повтори 5 [Команда1 Команда2 ]означает,
что последовательность команд в скобках
повторится 5 раз.
Решение
1)
2)
Вспоминает
математику.
360°:72=5 или
360°:5=72
3)
Черепашке был дан для исполнения следующий
алгоритм:
Повтори 5 [Вперед 10 Направо 72]
Какая фигура появится на экране?
1) Незамкнутая ломаная линия
2) Правильный треугольник
3) Квадрат
4) Правильный пятиугольник
Ответ: 4
А18
Демоверсия 2006, А20
Исполнитель Черепашка перемещается на экране
компьютера, оставляя след в виде линии. В каждый
конкретный момент известно положение
исполнителя и направление его движения. У
исполнителя существуют две команды:
Вперед n, вызывающая передвижение Черепашки на n
шагов в направлении движения.
Направо m, вызывающая изменение направления
движения на m градусов по часовой стрелке.
(Вместо n и m должны стоять целые числа).
Запись:
Повтори 5 [Команда1 Команда2]
означает, что последовательность команд в
квадратных скобках повторится 5 раз.
Какое число необходимо записать вместо n в следующем
алгоритме:
Повтори 7 [Вперед 40 Направо n],
чтобы на экране появился правильный шестиугольник?
1) 30
2) 45
3) 50
4) 60
Решение
1) Вспоминает
математику.
2)
3) 360°:6=60°
4) Черепашка
начертит на экране
6 линий, а
последний отрезок
полностью
совпадет с первым.
Ответ: 4
Задание В2 –
базового уровня сложности,
предполагающее применение
умения в стандартной ситуации,
в данном случае – исполнение
циклического алгоритма,
записанного в виде блок-схемы.
Переменные, присваивание значений.
Что нужно знать:
Переменная – это величина, которая имеет имя, тип и
значение; переменная может изменяться во время
выполнения программы.
Оператор присваивания (в Паскале обозначается
сочетанием символов «:=») служит для записи нового
значения в переменную (для изменения ее значения).
Если в переменную записывают новое значение, старое
стирается.
Знаки +, -, *, / используются для обозначения операций
сложения, вычитания, умножения и деления
Запись вида a := a + 2 – это не уравнение, а команда
«прочитать текущее значение переменной a, добавить к
нему 2 и записать результат обратно в переменную a».
Блок-схемы. Ветвления. Организация
циклов с помощью блока «ветвление»
Для наглядной записи небольших алгоритмов
используют блок-схемы; они состоят из
блоков разного назначения и соединительных
линий со стрелками, которые показывают
порядок выполнения блоков.
В задачах ЕГЭ встречаются два блока: процесс
(выполнение некоторых действий) и
ветвление (условие, в зависимости от
которого выполнение алгоритма продолжается
по одной или другой «ветке»).
С помощью ветвления можно организовать цикл
(многократное выполнение одинаковых
действий), в этом случае в блок-схеме будет
соединительная линия, идущая «в обратном
направлении» (петля, замкнутый контур).
Цикл на рисунке (выделен зеленым фоном)
закончится только тогда, когда выполнится
условие a = 256.
a:=1;
b:=1;
процесс
нет
a = b?
да
ветвление
a =256?
нет
a:=a*2;
да
В2 – 2009
Запишите значение переменной b после
выполнения фрагмента алгоритма:
a := 1
b := 1
да
a = 256
нет
a := a * 2
b := b + a
Примечание: знаком := обозначена операция присваивания,
знаком * обозначена операция умножения
Решение
a
b
a=256
1
1
нет
2
3
нет
4
7
нет
8
15
нет
16
31
нет
32
63
нет
64
127
нет
128
255
нет
256
511
да
Ответ: 511
В2
Демоверсия 2008, А6
Определите значение переменной m после
выполнения фрагмента алгоритма.
m := 54
n := 16
да
m=n
нет
нет
да
Решение
m
n
m=n
m>n
54
16
нет
да
38
нет
да
22
нет
да
6
нет
нет
10
нет
нет
4
нет
да
нет
нет
m>n
n := n - m
m := m - n
2
2
Примечание: знаком := обозначена операция
присваивания.
да
Ответ: 2
В2
Демоверсия 2005, А6
Дан фрагмент блок-схемы:
да
серия 1
усл 1 нет
да
усл 2
серия 2
нет
серия 3
Он представляет алгоритм, который содержит две команды
ветвления, 1) команду ветвления в сокращенной форме, в которую вложена
команда ветвления в полной форме
2) обе команды ветвления в полной форме, одна из которой
вложена в другую
3) обе команды ветвления в сокращенной форме, одна из которой
вложена в другую
4) команду ветвления в полной форме, в которую вложена
команда ветвления в сокращенной форме
Ответ: 2
В2 – 2010
Решение
Запишите значение переменной b после
выполнения фрагмента алгоритма:
a := 256
b := 0
да
a=1
нет
a
b
a=1
256
0
нет
128
128
нет
64
192
нет
32
224
нет
16
240
нет
8
248
нет
4
252
нет
2
254
нет
1
255
да
a := a / 2
b := b + a
Ответ: 255
Примечание: знаком := обозначена операция присваивания,
В бланк ответа впишите только число
Обратить внимание!
 таблица получается длинной, много вычислений,
можно запутаться,
 нужно не забыть, что при выполнении двух
операторов в теле цикла к значению b добавляется
уже новое значение a, полученное в предыдущей
строке,
 не перепутайте переменную, значение которой
нужно определить (можно по ошибке вписать в ответ
полученное значение a).
Задание В5 –
повышенного уровня сложности
по поиску алгоритма
минимальной длины для
исполнителя
Что нужно знать:
 Каких-либо особых знаний из курса информатики не
требуется, задача решаема простым перебором
вариантов, просто его нужно организовать
оптимальным образом.
 Исполнитель – это человек, группа людей, животное,
машина или другой объект, который может понимать
и выполнять некоторые команды.
В5
Имеется исполнитель Кузнечик, который
живет на числовой оси. Система
команд Кузнечика:

Вперед N (Кузнечик прыгает вперед
на N единиц);

Назад M (Кузнечик прыгает назад на
M единиц).
Переменные N и M могут принимать
любые целые положительные
значения.
Известно, что Кузнечик выполнил
программу из 40 команд, в которой
команд “Назад 2” на 10 больше, чем
команд “Вперед 3”. Других команд в
программе не было.
На какую одну команду можно заменить
эту программу, чтобы Кузнечик
оказался в той же точке, что и после
выполнения программы?
Решение
Если число команд 40,
то команд
«Назад 2» было 25, а
«Вперед 3» всего 15.
Кузнечик прыгнул
вперед на 15*3=45 шагов,
а назад на 25*2=50 шагов.
Тем самым, он оказался на
5 шагов назад от
первоначальной точки.
Последовательность
команд в алгоритме в
данной случае не имеет
значения.
Ответ: Назад 5
В5 – 2009
У исполнителя Калькулятор две
команды, которым присвоены
номера:
1. Прибавь 3
2. Умножь на 4
Выполняя первую из них Калькулятор
прибавляет к числу на экране 3, а
выполняя вторую, умножает его на 4.
Запишите порядок команд в
программе получения из числа 3
числа 57, содержащей не более 6
команд, указывая лишь номера
команд.
(Например, программа 21211 это
программа
Умножь на 4
Прибавь 3
Умножь на 4
Прибавь 3
Прибавь 3
Которая преобразует число 2 в 50).
Решение
3
57
(не более 6 команд)
1)
2)
3)
4)
5)
57-3=54
54-3=51
51-3=48
48:4=12
12:4=3
3 · 4 · 4 + 3 + 3 + 3 = 57
Ответ: 22111
Почему здесь «обратный ход»
лучше?
 Обратим внимание, что когда мы «шли» в обратном
направлении, от конечного числа к начальному, часто
очередную операцию удавалось определить однозначно
(когда число не делилось на 4)
 Это связано с тем, что среди допустимых команд есть
«не всегда обратимая» операция – умножение:
умножить целое число на 4 можно всегда, а разделить
нацело – нет; в подобных случаях результат быстрее
получается именно «обратным ходом», во время
которого сразу отбрасываются невозможные варианты
В5
Демоверсия 2005, В3
У исполнителя Утроитель две команды,
Решение
которым присвоены номера:
3
16
1. вычти 1
(не более 5 команд)
2. умножь на 3
Первая из них уменьшает число на
экране на 1, вторая – увеличивает его 1) 16+1=17
в три раза.
2) 17+1=18
Запишите порядок команд в программе 3) 18:3=6
получения из числа 3 числа 16,
4) 6:3=2
содержащей не более 5 команд,
5) 2+1=3
указывая лишь номера команд.
(Например, программа 21211 это
программа)
(3 – 1) · 3 · 3 - 1 - 1 = 16
умножь на 3
вычти 1
умножь на 3
Ответ: 12211
вычти 1
вычти 1
которая преобразует число 1 в 4.)
В5
Демоверсия 2007, В3
У исполнителя Калькулятор две
команды, которым присвоены номера:
1. прибавь 2
2. умножь на 3
Выполняя первую из них, Калькулятор
прибавляет к числу на экране 2, а
выполняя вторую, утраивает его.
Запишите порядок команд в
программе получения из 0 числа 28,
содержащей не более 6 команд,
указывая лишь номера команд.
(Например, программа 21211 – это
программа:
умножь на 3
прибавь 2
умножь на 3
прибавь 2
прибавь 2,
которая преобразует число 1 в 19.)
Решение
0
28
(не более 6 команд)
1)
2)
3)
4)
5)
6)
28-2=26
26-2=24
24:3=8
8-2=6
6:3=2
2-2=0
((0 + 2) · 3 +2) · 3 + 2 + 2 =
28
Ответ: 121211
В5
На экране есть два окна, в каждом из которых
написано по числу. У исполнителя Сумматор две
команды, которым присвоены номера:
1. Запиши сумму чисел в первое окно
2. Запиши сумму чисел во второе окно
Выполняя первую из них, Сумматор складывает
числа в окнах и заменяет этой суммой число в
первом окне, а выполняя вторую, складывает
числа и заменяет этой суммой число во втором
окне.
Запишите порядок команд в программе получения
из пары чисел 1 и 2 пары чисел 13 и 4, содержащей
не более 5 команд, указывая лишь номера команд.
(Например, программа 21211 это программа
Запиши сумму чисел во второе окно
Запиши сумму чисел в первое окно
Запиши сумму чисел во второе окно
Запиши сумму чисел в первое окно
Запиши сумму чисел в первое окно
Которая преобразует пару чисел 1 и 0 в пару чисел 8
и 3.)
Решение
1) Получаем сначала
наименьшее число,
затем наибольшее.
2) Запишем в таблицу:
№
команды
1
окно
2
окно
Исходные
данные
1
2
2
3
2
4
1
5
1
9
1
13
Ответ: 22111
В5
Исполнитель РОБОТ действует на
клетчатой доске, между соседними
клетками которой могут стоять стены.
РОБОТ передвигается по клеткам доски
и может выполнять команды 1 (вверх),
2 (вниз), 3 (влево), 4 (вправо), переходя на
соседнюю клетку в направлении,
указанном в скобках.
Если в этом направлении между клетками
стоит стена, то РОБОТ разрушается.
РОБОТ успешно выполнил программу
1132432.
Какую последовательность из трех команд
должен выполнить РОБОТ, чтобы
вернуться на ту клетку, где он был перед
началом выполнения программы, и не
разрушиться, вне зависимости от того,
какие стены стоят на поле?
Решение
1)
Расшифровываем
цифры
1 1 3 2 4 3 2
↑ ↑ ←↓ →←↓
2) Строим
Ответ: 142
В5
Демоверсия 2006, В3
Исполнитель Робот действует на
клетчатой доске, между соседними
клетками которой могут стоять стены.
Робот передвигается по клеткам доски
и может выполнять команды 1 (вверх),
2 (вниз), 3 (вправо), 4 (влево), переходя на
соседнюю клетку в направлении,
указанном в скобках.
Если в этом направлении между клетками
стоит стена, то Робот разрушается.
Робот успешно выполнил программу
3233241.
Какую последовательность из трех команд
должен выполнить Робот, чтобы
вернуться в ту клетку, где он был перед
началом выполнения программы, и не
разрушиться вне зависимости от того,
какие стены стоят на поле?
Решение
1)
Расшифровываем
цифры
3 2 3 3 2 4 1
→↓ →→↓ ←↑
2) Строим
Ответ: 414
В5 – 2010
Исполнитель РОБОТ ходит по клеткам
бесконечной вертикальной клетчатой доски,
переходя по одной из команд вверх, вниз,
вправо, влево в соседнюю клетку в
указанном направлении. Робот выполнил
следующую программу:
влево
вверх
вверх
влево
вниз
вправо
вправо
вправо
Укажите наименьшее возможное число команд в
программе, приводящей РОБОТА из той же
начальной клетки в ту же конечную.
Решение
1)
Строим
Ответ: 2
В5
Система команд исполнителя РОБОТ, «живущего» в прямоугольном
лабиринте на клетчатой плоскости: вверх, вниз, влево, вправо. При
выполнении любой из этих команд РОБОТ перемещается на одну клетку
соответственно: вверх ↑, вниз ↓, влево ←, вправо →.Четыре команды
проверяют истинность условия отсутствия стены у каждой стороны той
клетки, где находится РОБОТ: сверху свободно, снизу свободно, слева
свободно, справа свободно.
Если РОБОТ начнет движение в сторону стены, то он разрушится и
программа прервется.
Сколько клеток лабиринта соответствует требованию, что, выполнив
предложенную программу, РОБОТ уцелеет и остановится в той же клетке,
с которой он начал движение?
8
НАЧАЛО
7
ПОКА снизу свободно Делать вниз
6
ПОКА справа свободно Делать вправо
5
ПОКА сверху свободно Делать вверх
4
ПОКА слева свободно Делать влево
3
КОНЕЦ
2
1
В ответе запишите число – количество таких клеток,
A B C D E F G H
а далее, через запятые, их адреса
(сначала идет латинская буква столбца, а затем цифра строки).
Например, нижний левый угол лабиринта имеет адрес А1.
Ответ: 2, Е7, А6
Задание В8 –
повышенного уровня сложности
по анализу алгоритма
построения последовательности
Что нужно знать:
 В классических задачах (на символьные цепочки)
каких-либо особых знаний из курса информатики,
кроме умения логически мыслить, не требуется.
В8 – 2009
Строки (цепочки символов латинских букв) создаются по
следующему правилу.
Первая строка состоит из одного символа – латинской буквы «А».
Каждая из последующих цепочек создается такими действиями: в
очередную строку сначала записывается буква, чей порядковый
номер в алфавите соответствует номеру строки (на i-м шаге
пишется «i»-я буква алфавита), к ней справа дважды подряд
приписывается предыдущая строка.
Вот первые 4 строки, созданные по этому правилу:
(1) А
(2) BAA
(3) CBAABAA
(4) DCBAABAACBAABAA
Латинский алфавит (для справки):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Запишите семь символов подряд, стоящие в восьмой строке со 126-го
по 132-е место (считая слева направо).
В8-2009
Решение
(1) А
2i - 1
(5) EDCBAABAACBAABAA
(1)
(2)
(3)
(4)
(5)
DCBAABAACBAABAA
(6) FEDCBA… …BAA
(7) GFEDCBA… …BAA
(6) 1+2·31=63
(7) 1+2·63=127
(2) BAA
(3) CBAABAA
(4) DCBAABAACBAABAA
1
(8) HGFEDCBA…
1
1
1+2·1=3
1+2·3=7
1+2·7=15
1+2·15=31
127
BAAGFED… (8) 1+2·127=255
126 127 128
… 132
Ответ: BAAGFED
В8
Демоверсия 2007, В6
Цепочки символов (строки) создаются по
Решение
следующему правилу.
1) Для нечетных строк: 2*К
Первая строка состоит из одного символа –
2) Для четных строк:
2*К+1
цифры «1».
Цепочки
К
Каждая из последующих цепочек создается №
следующим действием:
1 1
0
в очередную строку дважды записывается
1
предыдущая цепочка цифр (одна за другой, 2 112
2·1=2
подряд), а в конец приписывается еще одно 3 1121123
число – номер строки по порядку (на i-м
4 112112311211234
2·2+1=5
шаге дописывается число «i»).
5 112112311211234
2·5=10
Вот первые 4 строки, созданные по этому
1121123112112345
правилу:
6 112112311211234
2·10+1=21
(1)1
1121123112112345
(2)112
112112311211234
(3)1121123
11211231121123456
(4) 112112311211234
7
2·21=42
Сколько раз в общей сложности встречаются в
8
2·42+1=85
восьмой строке четные цифры (2, 4, 6, 8)?
Ответ: 85
В8
Демоверсия 2008, В6
Цепочки символов (строки) создаются по
следующему правилу:
Первая строка состоит из одного символа
– цифры «1».
Каждая из последующих цепочек
создается такими действиями: в начало
записывается число – номер строки по
порядку (для i-й строки ставится число
«i»), далее дважды подряд записывается
предыдущая строка.
Вот первые 4 строки, созданные по этому
правилу:
(1) 1
(2) 211
(3) 3211211
(4) 432112113211211
Сколько раз встречается цифра «1» в
первых семи строках (суммарно)?
Решение
№
Цепочки
К
1
1
1
2
211
2·1=2
3
3211211
2·2=4
4
432112113211211
2·4=8
5
5432112113211211
432112113211211
2·8=16
6
65432112113211211
432112113211211
5432112113211211
432112113211211
2·16=32
7
2) Находим сумму
1+2+4+8+16+32+64=127
2·32=64
Ответ: 127
В8-2010
Строки (цепочки символов латинских
букв) создаются по следующему
правилу.
Первая строка состоит из одного
символа – латинской буквы «А».
Каждая из последующих цепочек
создается такими действиями: в
очередную строку сначала
записывается буква, чей порядковый
номер в алфавите соответствует
номеру строки (на i-м шаге пишется
«i»-я буква алфавита), к ней слева
дважды подряд приписывается
предыдущая строка.
Вот первые 4 строки, созданные по этому
правилу:
(1) А
(2) AAB
(3) AABAABC
(4) AABAABCAABAABCD
Латинский алфавит (для справки):
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Запишите семь символов подряд,
стоящие в седьмой строке со 117-го
по 122-е место (считая слева
Решение
№
Цепочки
N
1
А
1
2
AAB
2·1+1=3
3
AABAABC
2·3+1=7
4
AABAABCAABAABCD
2·7+1=15
5
AABAABCAABAABCD
AABAABCAABAABCDE
2·15+1=31
6
AAB…AABAABCDEF
2·31+1=63
7
AAB…CAABAABCDEFG
2·63+1=127
117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127
Ответ: AABAAB
Обратить внимание!
 Можно, конечно, попробовать выписать заданную
строку и выделить нужные символы, но этот подход
очень трудоемкий и чреват случайными ошибками.
 Чаще всего заданная цепочка находится на границе,
где соединяются две части строки (например, в
задании B8-2009 – на границе двух
последовательностей, совпадающих с 7-ой строкой).
 Часто заданная цепочка находится близко к границе,
(например, в задании B8-2010 – близко с концом 7-ой
строки).
Используемые ресурсы
 Демонстрационные варианты ЕГЭ 2005-2010 гг.
 Крылов С.С., Лещинер В.Р., Якушкин П.А. ЕГЭ-2009.
Информатика. Универсальные материалы для
подготовки учащихся / под ред. В.Р. Лещинера /
ФИПИ. — М.: Интеллект-центр, 2009.
 Крылов С.С., Лещинер В.Р., Якушкин П.А. ЕГЭ-2007.
Информатика. Учебно-тренировочные материалы
для подготовки учащихся / под ред. В.Р. Лещинера /
ФИПИ. — М.: Интеллект-центр, 2007.
 Сафронов И.К. Готовимся к ЕГЭ. Информатика. —
СПб.: БХВ-Петербург, 2007.
 http://www.fipi.ru
 http://kpolyakov.narod.ru
Download