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

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

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

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

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

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

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

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

Итоги урока

Задание 14 (презентация по типам задач к ЕГЭ)

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

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

В данной перзентации рассматриваются основные типы задач на умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд. В презентации использованы типовые задачи с решениями из материалов К.Ю.Полякова с сайта http://kpolyakov.spb.ru  ... ...

 

Просмотр содержимого документа
«Задание 14 (презентация по типам задач к ЕГЭ)»

Ege14 ( повышенный уровень , время – 6 мин) Умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд Что нужно знать :  правила выполнения линейных, разветвляющихся и циклических алгоритмов  основные операции с символьными строками (определение длины, выделение подстроки, удаление и вставка символов, «сцепка» двух строк в одну)  исполнитель – это человек, группа людей, животное, машина или другой объект, который может понимать и выполнять некоторые команды  в школьном алгоритмическом языке нц обозначает «начало цикла», а кц – «конец цикла»; все команды между нц и кц – это тело цикла, они выполняются несколько раз  запись нц для i от 1 до n обозначает начало цикла, в котором переменная i (она называется переменной цикла) принимает последовательно все значения от 1 до n с шагом 1

Ege14 ( повышенный уровень , время – 6 мин)

Умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд

Что нужно знать :

  • правила выполнения линейных, разветвляющихся и циклических алгоритмов
  • основные операции с символьными строками (определение длины, выделение подстроки, удаление и вставка символов, «сцепка» двух строк в одну)
  • исполнитель – это человек, группа людей, животное, машина или другой объект, который может понимать и выполнять некоторые команды
  • в школьном алгоритмическом языке нц обозначает «начало цикла», а кц – «конец цикла»; все команды между нц и кц – это тело цикла, они выполняются несколько раз
  • запись нц для i от 1 до n обозначает начало цикла, в котором переменная i (она называется переменной цикла) принимает последовательно все значения от 1 до n с шагом 1
Пример I: Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. заменить (v, w) – эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w . нашлось (v) - эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение « истина », в противном случае возвращает значение « ложь ». Строка при этом не изменяется. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 5 )  ИНАЧЕ заменить ( 555 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из А) 247 идущих подряд цифр 5 ? Б) 247 идущих подряд цифр 2 ?

Пример I:

Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

заменить (v, w) – эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w .

нашлось (v) - эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение « истина », в противном случае возвращает значение « ложь ». Строка при этом не изменяется.

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 5 )

ИНАЧЕ заменить ( 555 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из

А) 247 идущих подряд цифр 5 ?

Б) 247 идущих подряд цифр 2 ?

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 5 )  ИНАЧЕ заменить ( 555 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА Решение А). 1.  Дана последовательность из 247  пятерок . Вначале, так как трёх « 2 » в последовательности нет, согласно алгоритму, первые три « 5 » заменяются одной « 2 ». Получается одна « 2 » и двести сорок четыре « 5 ». 2. Так как еще не набирается трёх « 2 », происходит следующая замена трёх « 5 » на « 2 ». И имеется теперь две « 2 » и двести сорок одна « 5 ». 3. Трёх « 2 » по-прежнему нет, поэтом опять три следующие « 5 » заменяются на « 2 », и теперь имеем три « 2 » и двести тридцать восемь « 5 ». Так как появились три «2», они заменяются на одну « 5 ». 4. Далее операции повторяются. Таким образом, девять « 5 » заменяются на одну « 5 », то есть можно сказать, что при каждом повторении описанных действий вычеркиваются по восемь « 5 ».

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 5 )

ИНАЧЕ заменить ( 555 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

Решение

А). 1. Дана последовательность из 247 пятерок . Вначале, так как трёх « 2 » в последовательности нет, согласно алгоритму, первые три « 5 » заменяются одной « 2 ». Получается одна « 2 » и двести сорок четыре « 5 ».

2. Так как еще не набирается трёх « 2 », происходит следующая замена трёх « 5 » на « 2 ». И имеется теперь две « 2 » и двести сорок одна « 5 ».

3. Трёх « 2 » по-прежнему нет, поэтом опять три следующие « 5 » заменяются на « 2 », и теперь имеем три « 2 » и двести тридцать восемь « 5 ». Так как появились три «2», они заменяются на одну « 5 ».

4. Далее операции повторяются. Таким образом, девять « 5 » заменяются на одну « 5 », то есть можно сказать, что при каждом повторении описанных действий вычеркиваются по восемь « 5 ».

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 5 )  ИНАЧЕ заменить ( 555 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА 5. Поэтому найдем, сколько « 5 » остались невычеркнутыми. Для этого вычислим целочисленный остаток от деления  247 (количество «5» по условиям вначале) на 8 . Это 7 . Т.е. остаются семь « 5 »: 5555555 . 6. Теперь заменим первые три « 5 » двойкой , получится 2 5555 . Далее снова заменим три « 5 » на « 2 », и в итоге ответ: 22 5 . 7. Как же поступить, если остаток от деления равен 0? Например , будут даны вначале двадцать четыре «5». Тогда нужно выполнить шаг назад, когда оставались последние восемь « 5 » и преобразовать последовательность. Имеем: 55555555, далее 2 55555 , затем 22 55 .

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 5 )

ИНАЧЕ заменить ( 555 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

5. Поэтому найдем, сколько « 5 » остались невычеркнутыми. Для этого вычислим целочисленный остаток от деления 247 (количество «5» по условиям вначале) на 8 . Это 7 . Т.е. остаются семь « 5 »: 5555555 .

6. Теперь заменим первые три « 5 » двойкой , получится 2 5555 . Далее снова заменим три « 5 » на « 2 », и в итоге

ответ: 22 5 .

7. Как же поступить, если остаток от деления равен 0?

Например , будут даны вначале двадцать четыре «5».

Тогда нужно выполнить шаг назад, когда оставались последние восемь « 5 » и преобразовать последовательность.

Имеем: 55555555, далее 2 55555 , затем 22 55 .

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 5 )  ИНАЧЕ заменить ( 555 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА Ответ: А) 225 . Б) 552 . Б). 1.  Дана последовательность из 247  двоек . Первые три « 2 » заменяются « 5 », далее следующие три « 2 » заменяются на « 5 », и следующие три « 2 » заменяются « 5 ». 2. Несмотря на то, что набирается три « 5 », не происходит замена трех « 5 » на « 2 », так как ветвь « Иначе » выполняется только в том случае, если не отработала ветвь « То ». А так как далее идет последовательность « 2 », в которой количество « 2 » больше, чем две, происходит замена следующих идущих подряд трех « 2 » на « 5 », и так далее. 3. Подсчитаем, сколько раз три « 2 » заменятся на « 5 ». Вычислим целую часть от деления 247 на 3. Это 82. То есть в последовательности станет восемьдесят две « 5 » и оставшаяся одна « 2 » (целочисленный остаток от деления 247 на 3 ). 4. Теперь к последовательности « 5 » применим алгоритм, описанный в пункте А . Найдем целочисленный остаток от деления 82 на 8 . Это будет 2 , то есть останется две « 5 » и плюс еще одна « 2 », полученная ранее. Имеем последовательность « 55 2 ».

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 555 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 5 )

ИНАЧЕ заменить ( 555 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

Ответ: А) 225 . Б) 552 .

Б). 1. Дана последовательность из 247 двоек . Первые три « 2 » заменяются « 5 », далее следующие три « 2 » заменяются на « 5 », и следующие три « 2 » заменяются « 5 ».

2. Несмотря на то, что набирается три « 5 », не происходит замена трех « 5 » на « 2 », так как ветвь « Иначе » выполняется только в том случае, если не отработала ветвь « То ». А так как далее идет последовательность « 2 », в которой количество « 2 » больше, чем две, происходит замена следующих идущих подряд трех « 2 » на « 5 », и так далее.

3. Подсчитаем, сколько раз три « 2 » заменятся на « 5 ». Вычислим целую часть от деления 247 на 3. Это 82. То есть в последовательности станет восемьдесят две « 5 » и оставшаяся одна « 2 » (целочисленный остаток от деления 247 на 3 ).

4. Теперь к последовательности « 5 » применим алгоритм, описанный в пункте А . Найдем целочисленный остаток от деления 82 на 8 . Это будет 2 , то есть останется две « 5 » и плюс еще одна « 2 », полученная ранее. Имеем последовательность « 55 2 ».

Пример II: Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w) – эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w . Б) нашлось (v) - эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение « истина », в противном случае возвращает значение « ложь ». Строка при этом не изменяется. Дана программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 8 )  ИНАЧЕ заменить ( 888 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8 ? В ответе запишите полученную строку.

Пример II:

Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w) – эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w .

Б) нашлось (v) - эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение « истина », в противном случае возвращает значение « ложь ». Строка при этом не изменяется.

Дана программа для исполнителя Редактор:

НАЧАЛО

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 8 )

ИНАЧЕ заменить ( 888 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 68 идущих подряд цифр 8 ? В ответе запишите полученную строку.

Решение ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 8 )  ИНАЧЕ заменить ( 888 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА Видим, что Редактор что-то делает только тогда, когда в строке есть цепочка 222 или цепочка 888 ; если в строке есть 222 , то, в первую очередь, именно эта цепочка меняется (на 8 ) если в строке нет цепочки 222 , но есть 888 , то цепочка 888 меняется на 2 выполним первые шаги алгоритма для цепочки из 68  цифр 8 сначала первые 888 меняются на 2 , получается 2 [65 цифр  8 ] дальше так же меняем следующие две тройки из цифр 8 : 222  [59 цифр 8 ]

Решение

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 8 )

ИНАЧЕ заменить ( 888 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

  • Видим, что Редактор что-то делает только тогда, когда в строке есть цепочка 222 или цепочка 888 ;
  • если в строке есть 222 , то, в первую очередь, именно эта цепочка меняется (на 8 )
  • если в строке нет цепочки 222 , но есть 888 , то цепочка 888 меняется на 2
  • выполним первые шаги алгоритма для цепочки из 68 цифр 8
  • сначала первые 888 меняются на 2 , получается 2 [65 цифр 8 ]
  • дальше так же меняем следующие две тройки из цифр 8 : 222 [59 цифр 8 ]
Теперь! появилась цепочка 222 , поэтому в соответствии с алгоритмом она сразу будет заменена на 8 , получаем [60 цифр 8 ]  таким образом, за первые 4 шага работы цикла заменили 9 восьмерок на 1 или, что то же самое, удалили 8  восьмерок  очевидно, что следующие 4 шага удалят ещё 8 восьмерок и т.д.  сколько раз можно это сделать? видимо, 8 раз, после этого останется 68 - 8·8 = 4 восьмерки  итак, в цепочке 888 8 на последнем шаге заменяем 888 на 2 и получаем 2 8 ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )  ЕСЛИ нашлось ( 222 )  ТО заменить ( 222 , 8 )  ИНАЧЕ заменить ( 888 , 2 )  КОНЕЦ ЕСЛИ КОНЕЦ ПОКА Ответ: 28
  • Теперь! появилась цепочка 222 , поэтому в соответствии с алгоритмом она сразу будет заменена на 8 , получаем [60 цифр 8 ]
  • таким образом, за первые 4 шага работы цикла заменили 9 восьмерок на 1 или, что то же самое, удалили 8 восьмерок
  • очевидно, что следующие 4 шага удалят ещё 8 восьмерок и т.д.
  • сколько раз можно это сделать? видимо, 8 раз, после этого останется 68 - 8·8 = 4 восьмерки
  • итак, в цепочке 888 8 на последнем шаге заменяем 888 на 2 и получаем 2 8

ПОКА нашлось ( 222 ) ИЛИ нашлось ( 888 )

ЕСЛИ нашлось ( 222 )

ТО заменить ( 222 , 8 )

ИНАЧЕ заменить ( 888 , 2 )

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

Ответ: 28

Пример III: Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на ( a , b ) , где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами ( x, y ) в точку с координатами ( x + a; y + b ).  Например , если Чертёжник находится в точке с координатами  (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку ( 6, −1 ). Цикл  ПОВТОРИ число РАЗ  последовательность команд  КОНЕЦ ПОВТОРИ означает, что заданная последовательность команд будет выполнена указанное количество раз (значение должно быть натуральным).

Пример III:

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на ( a , b ) , где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами ( x, y ) в точку с координатами ( x + a; y + b ). Например , если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку ( 6, −1 ).

Цикл

ПОВТОРИ число РАЗ

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

КОНЕЦ ПОВТОРИ

означает, что заданная последовательность команд будет выполнена указанное количество раз (значение должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа): НАЧАЛО сместиться на (–1, –2) ПОВТОРИ n РАЗ  сместиться на (a, b)  сместиться на (-1, -2) КОНЕЦ ПОВТОРИ сместиться на (–24, -12) КОНЕЦ Укажите наибольшее возможное значение числа n , для которого найдутся такие значения чисел a и b , что после выполнения программы Чертёжник возвратится в исходную точку. Решение: 1. запишем общее изменение координат Чертёжника в результате выполнения этого алгоритма: 2. поскольку Чертёжник должен вернуться в исходную точку, эти величины должны быть равны нулю ; 3. следовательно, нужно найти набольшее натуральное n , при котором система уравнений разрешима в целых числах относительно a и b для этого число n  должно быть одновременно делителем чисел 14 и 25 Ответ: 1

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа):

НАЧАЛО

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

ПОВТОРИ n РАЗ

сместиться на (a, b)

сместиться на (-1, -2)

КОНЕЦ ПОВТОРИ

сместиться на (–24, -12)

КОНЕЦ

Укажите наибольшее возможное значение числа n , для которого найдутся такие значения чисел a и b , что после выполнения программы Чертёжник возвратится в исходную точку.

Решение:

1. запишем общее изменение координат Чертёжника в результате выполнения этого алгоритма:

2. поскольку Чертёжник должен вернуться в исходную точку, эти величины должны быть равны нулю ;

3. следовательно, нужно найти набольшее натуральное n , при котором система уравнений

разрешима в целых числах относительно a и b

для этого число n должно быть одновременно делителем чисел 14 и 25

Ответ: 1

Пример IV: Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на ( a , b ) , где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами ( x, y ) в точку с координатами ( x + a; y + b ).  Например , если Чертёжник находится в точке с координатами  (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку ( 6, −1 ). Цикл  ПОВТОРИ число РАЗ  последовательность команд  КОНЕЦ ПОВТОРИ означает, что заданная последовательность команд будет выполнена указанное количество раз (значение должно быть натуральным).

Пример IV:

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на ( a , b ) , где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами ( x, y ) в точку с координатами ( x + a; y + b ). Например , если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку ( 6, −1 ).

Цикл

ПОВТОРИ число РАЗ

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

КОНЕЦ ПОВТОРИ

означает, что заданная последовательность команд будет выполнена указанное количество раз (значение должно быть натуральным).

1): НАЧАЛО сместиться на (–3, –3) ПОВТОРИ n РАЗ сместиться на (a, b) сместиться на (27, 12) КОНЕЦ ПОВТОРИ сместиться на (–22, -7) КОНЕЦ Укажите наименьшее возможное значение числа n (n 1), для которого найдутся такие значения чисел a и b , что после выполнения программы Чертёжник возвратится в исходную точку. Решение: 1. запишем общее изменение координат Чертёжника в результате выполнения этого алгоритма: 2. поскольку Чертёжник должен вернуться в исходную точку, эти величины должны быть равны нулю ; 3. следовательно, нужно найти наименьшее натуральное n , при котором система уравнений разрешима в целых числах относительно a и b для этого число n должно быть одновременно делителем чисел 10 и 25 Ответ: 5 " width="640"

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, при этом n 1):

НАЧАЛО

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

ПОВТОРИ n РАЗ

сместиться на (a, b)

сместиться на (27, 12)

КОНЕЦ ПОВТОРИ

сместиться на (–22, -7)

КОНЕЦ

Укажите наименьшее возможное значение числа n (n 1), для которого найдутся такие значения чисел a и b , что после выполнения программы Чертёжник возвратится в исходную точку.

Решение:

1. запишем общее изменение координат Чертёжника в результате выполнения этого алгоритма:

2. поскольку Чертёжник должен вернуться в исходную точку, эти величины должны быть равны нулю ;

3. следовательно, нужно найти наименьшее натуральное n , при котором система уравнений

разрешима в целых числах относительно a и b

для этого число n должно быть одновременно делителем чисел 10 и 25

Ответ: 5

Пример V: Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на ( 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 раз.

Пример V:

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на ( 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 раз.

Чертёжнику был дан для исполнения следующий алгоритм: Сместиться на (3,-3) Повтори N раз  Сместиться на (27, 17)  Сместиться на ( a , b ) конец Сместиться на (–27, –17) Чему должно равняться N , чтобы Чертежник смог вернуться в исходную точку, из которой он начал движение? 1) 4  2) 5  3) 6  4) 7 Решение: 1. в этой задаче значения a и b неизвестны 2. вычислим итоговое смещение Чертёжника (общее изменение каждой координаты должно быть равно 0 ): 3. упрощаем оба уравнения: N (27+ a ) = 24 N (17+ b ) = 20 (3, -3) N раз (27+a, 17+b) (-27, 17) общее изменение x -координаты: 3+ N (27+ a )-27 = 0 N – общий делитель чисел 24 и 20 , это может быть 2 или 4 общее изменение y -координаты: -3+ N (17+ b )-17 = 0 Ответ: 1

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

Сместиться на (3,-3)

Повтори N раз

Сместиться на (27, 17)

Сместиться на ( a , b )

конец

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

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

1) 4 2) 5 3) 6 4) 7

Решение:

1. в этой задаче значения a и b неизвестны

2. вычислим итоговое смещение Чертёжника (общее изменение каждой координаты должно быть равно 0 ):

3. упрощаем оба уравнения:

N (27+ a ) = 24

N (17+ b ) = 20

(3, -3)

N раз (27+a, 17+b)

(-27, 17)

общее изменение x -координаты:

3+ N (27+ a )-27 = 0

N – общий делитель чисел 24 и 20 , это может быть 2 или 4

общее изменение y -координаты:

-3+ N (17+ b )-17 = 0

Ответ: 1

Пример VI: Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости: вверх   вниз   влево  вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ: сверху свободно   снизу свободно слева свободно   справа свободно Цикл ПОКА   последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ   ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если  условие ложно). Если РОБОТ начнёт движение в сторону находящейся рядом с ним  стены, то он разрушится и программа прервётся.

Пример VI:

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости:

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

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

сверху свободно снизу свободно

слева свободно справа свободно

Цикл

ПОКА

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

КОНЕЦ ПОКА

выполняется, пока условие истинно.

В конструкции

ЕСЛИ

ТО команда1

ИНАЧЕ команда2

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится и программа прервётся.

Сколько клеток лабиринта соответствуют требованию, что, начав  движение в ней и выполнив предложенную программу, РОБОТ уцелеет  и остановится в закрашенной клетке (клетка А1 )? 1) 8  2) 12  3) 17  4) 21 ПОКА  слева свободно ИЛИ  сверху свободно   ЕСЛИ  слева свободно  ТО влево   ИНАЧЕ  вверх  КОНЕЦ  ЕСЛИ КОНЕЦ ПОКА                                             A       1       B     2   C     3   D 4     5 E F 6   Решение: 1. Робот останавливается в клетке, где нарушается условие « слева свободно ИЛИ  сверху свободно »                                           1 A           2       B       C 3     4 D   5   E 6 F   в этой клетке должны быть стенки слева и сверху таких клеток на поле всего три : конечная цель маршрута А1 и две « ложные  цели » в В3 и Е1 :

Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке (клетка А1 )?

1) 8 2) 12 3) 17 4) 21

ПОКА слева свободно ИЛИ сверху свободно

ЕСЛИ слева свободно

ТО влево

ИНАЧЕ вверх

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

1

 

 

 

B

 

 

2

 

C

 

 

3

 

D

4

 

 

5

E

F

6

 

Решение:

1. Робот останавливается в клетке, где нарушается условие « слева свободно ИЛИ сверху свободно »

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

A

 

 

 

 

 

2

 

 

 

B

 

 

 

C

3

 

 

4

D

 

5

 

E

6

F

 

в этой клетке должны быть стенки слева и

сверху

таких клеток на поле всего три :

конечная цель маршрута А1 и две « ложные цели » в В3 и Е1 :

                                                1     A   B 2         C 3     4 D     5 E   6 F   подсчитаем, сколько есть клеток, из которых Робот попадает в клетку В3 ; Робот сначала идет влево до упора, потом – вверх, пока не упрётся в стенку сверху или не откроется «окно» влево; отметим голубым цветом все клетки, из которых Робот попадает в В3 , их всего 13                                               A     1       B 2         3   C   D 4     5 E F 6   кроме того, есть две клетки, из которых Робот попадает в Е1 , они показаны фиолетовым цветом : таким образом, на поле есть всего 15 клеток, из которых Робот при выполнении заданной программы не попадает в клетку А1                                           A       1     2         B     3   C     D 4 5   E 6 F   следовательно, «нужных» клеток  36 – 15 = 21 1) 8  2) 12  3) 17  4) 21 Ответ: 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

A

 

B

2

 

 

 

 

C

3

 

 

4

D

 

 

5

E

 

6

F

 

подсчитаем, сколько есть клеток, из которых Робот попадает в клетку В3 ;

Робот сначала идет влево до упора, потом – вверх, пока не упрётся в стенку сверху или не откроется «окно» влево;

отметим голубым цветом все клетки, из которых Робот попадает в В3 , их всего 13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

1

 

 

 

B

2

 

 

 

 

3

 

C

 

D

4

 

 

5

E

F

6

 

кроме того, есть две клетки, из которых Робот попадает в Е1 , они показаны фиолетовым цветом :

таким образом, на поле есть всего 15 клеток, из которых Робот при выполнении заданной программы не попадает в клетку А1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

1

 

 

2

 

 

 

 

B

 

 

3

 

C

 

 

D

4

5

 

E

6

F

 

следовательно, «нужных» клеток 36 – 15 = 21

1) 8 2) 12 3) 17 4) 21

Ответ: 4

ПОКА справа свободно вправо КОНЕЦ ПОКА ПОКА снизу свободно вниз КОНЕЦ ПОКА КОНЕЦ ПОКА КОНЕЦ                                           A         1   B       2         3 C   D 4   5   E F 6   " width="640"

Пример VII:

Сколько клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив предложенную программу , РОБОТ уцелеет и остановится в закрашенной клетке (клетка F6 )?

1) 8 2) 15 3) 24 4) 27

НАЧАЛО

ПОКА справа свободно ИЛИ снизу свободно

ПОКА справа свободно

вправо

КОНЕЦ ПОКА

ПОКА снизу свободно

вниз

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

1

 

B

 

 

 

2

 

 

 

 

3

C

 

D

4

 

5

 

E

F

6

 

ПОКА справа свободно вправо КОНЕЦ ПОКА ПОКА снизу свободно вниз КОНЕЦ ПОКА КОНЕЦ ПОКА КОНЕЦ                                             A         1 B       2   C     3     D   4 E 5   6 F   «двигаться вправо до упора», «двигаться вниз до упора», Решение: 1. программу можно записать в свободном стиле так: ПОКА не пришли в угол двигаться вправо до упора двигаться вниз до упора КОНЕЦ ПОКА угол – это клетка , в которой есть стенки снизу и справа Робот может попасть в эту клетку , двигаясь вниз из клетки , где справа – стенка снизу есть стенка ; снизу стенка есть , справа – нет , поэтому будет выполнен еще один шаг внешнего цикла. 2. за каждый шаг внешнего цикла Робот проходит путь в виде « сапога », двигаясь сначала вправо до упора , а затем – вниз до упора : В этой клетке заканчивается один шаг внешнего цикла и начинается следующий: → →   ↓       ↓     ↓   " width="640"

НАЧАЛО

ПОКА справа свободно ИЛИ снизу свободно

ПОКА справа свободно

вправо

КОНЕЦ ПОКА

ПОКА снизу свободно

вниз

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

1

B

 

 

 

2

 

C

 

 

3

 

 

D

 

4

E

5

 

6

F

 

«двигаться вправо до упора»,

«двигаться вниз до упора»,

Решение:

1. программу можно записать в свободном стиле так:

ПОКА не пришли в угол

двигаться вправо до упора

двигаться вниз до упора

КОНЕЦ ПОКА

угол – это клетка , в которой есть стенки снизу и справа

  • Робот может попасть в эту клетку , двигаясь вниз из клетки , где справастенка
  • снизу есть стенка ;
  • снизу стенка есть , справа – нет , поэтому будет выполнен еще один шаг внешнего цикла.

2. за каждый шаг внешнего цикла Робот проходит путь в виде « сапога », двигаясь сначала вправо до упора , а затем – вниз до упора :

В этой клетке заканчивается один шаг внешнего цикла и начинается следующий:

 

 

 

 

 

 

 

3. в клетку F6 (это угол, где Робот остановится), он мог прийти за один шаг внешнего цикла (за один « сапог ») только из отмеченных клеток:                   →         →   →     →     → A 1     → → B 2   → → → C → 3 ↓ D → ↓ 4 E 5 6 F   4. теперь отметим красным фоном особые клетки, которые удовлетворяют условиям пункта 2 (см. выше), их всего 2 : 5. отметим все пути в форме « сапога », которые приводят в особые клетки:                   →       →         →   → →       A 1 →   B → → 2 → ↓ C → 3 → ↓ D 4 → E 5 F 6     →   →   → ↓ →   →     → → ↓ →   →   →   → ↓ A 1 →     2 → → → B   → → C 3 ↓ → ↓ 4 D 5 E 6 F   6. всего отмечено 24 клетки (считая конечную клетку F6 ) 1) 8  2) 15  3) 24  4) 27 Ответ: 3

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

1

 

 

B

2

 

C

3

D

4

E

5

6

F

 

4. теперь отметим красным фоном особые клетки, которые удовлетворяют условиям пункта 2 (см. выше), их всего 2 :

5. отметим все пути в форме « сапога », которые приводят в особые клетки:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

1

 

B

2

C

3

D

4

E

5

F

6

 

 

 

 

 

 

 

 

 

 

A

1

 

 

2

B

 

C

3

4

D

5

E

6

F

 

6. всего отмечено 24 клетки (считая конечную клетку F6 )

1) 8 2) 15 3) 24 4) 27

Ответ: 3

вниз ПОКА слева свободно влево ПОКА сверху свободно вверх ПОКА справа свободно вправо КОНЕЦ " width="640"

Пример VIII:

Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ остановится в той же клетке , с которой он начал движение?

1) 1 2) 2 3) 3 4) 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

6

 

 

 

 

5

 

 

 

 

B

 

 

C

4

 

 

D

3

 

 

2

E

1

F

 

НАЧАЛО

ПОКА снизу свободно вниз

ПОКА слева свободно влево

ПОКА сверху свободно вверх

ПОКА справа свободно вправо

КОНЕЦ

вниз ПОКА слева свободно влево ПОКА сверху свободно вверх ПОКА справа свободно вправо КОНЕЦ                                               A       6       B   5   C     4 D   3     E 2 1 F   Решение: 1. чтобы исполнитель вернулся обратно в ту клетку, откуда он начал движения, четыре стенки должны быть расставлены так, чтобы он упирался в них сначала при движении вниз , затем – влево , вверх и вправо :                                                                                                                         2. возможны еще « вырожденные » варианты, вроде таких:                                               A   6       5     B       4   C     3 D 2   E 1 F   3. Будем рассматривать лишь те клетки, где есть стенка справа ; клетка , начав с которой РОБОТ вернется обратно отметим на исходной карте клетки-кандидаты: " width="640"

НАЧАЛО

ПОКА снизу свободно вниз

ПОКА слева свободно влево

ПОКА сверху свободно вверх

ПОКА справа свободно вправо

КОНЕЦ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

6

 

 

 

B

 

5

 

C

 

 

4

D

 

3

 

 

E

2

1

F

 

Решение:

1. чтобы исполнитель вернулся обратно в ту клетку, откуда он начал движения, четыре стенки должны быть расставлены так, чтобы он упирался в них сначала при движении вниз , затем – влево , вверх и вправо :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. возможны еще « вырожденные » варианты, вроде таких:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

6

 

 

 

5

 

 

B

 

 

 

4

 

C

 

 

3

D

2

 

E

1

F

 

3. Будем рассматривать лишь те клетки, где есть стенка справа ;

клетка , начав с которой РОБОТ вернется обратно

отметим на исходной карте клетки-кандидаты:

3. если РОБОТ начинает движение с любой клетки на вертикали F , он все равно приходит в клетку F4 , которая удовлетворяет заданному условию, таким образом, одну клетку мы нашли , а остальные клетки вертикали F условию не удовлетворяют:                                               6       A     B   5     C 4       D 3     E 2 F 1   4. проверяем оставшиеся четыре клетки-кандидаты, но для каждой из них после выполнения алгоритма РОБОТ не приходит в ту клетку, откуда он стартовал:                                           A       6       B     5   4 C       D   3   E 2   F 1                                                                                             6     6   A       A             5   5   B B           4   4 C C         D D 3 3   2 E   2   E 1 1 F F     5. условию удовлетворяет только одна клетка – F4 1) 1  2) 2  3) 3  4) 0 Ответ: 1

3. если РОБОТ начинает движение с любой клетки на вертикали F , он все равно приходит в клетку F4 , которая удовлетворяет заданному условию, таким образом, одну клетку мы нашли , а остальные клетки вертикали F условию не удовлетворяют:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

A

 

 

B

 

5

 

 

C

4

 

 

 

D

3

 

 

E

2

F

1

 

4. проверяем оставшиеся четыре клетки-кандидаты, но для каждой из них после выполнения алгоритма РОБОТ не приходит в ту клетку, откуда он стартовал:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

6

 

 

 

B

 

 

5

 

4

C

 

 

 

D

 

3

 

E

2

 

F

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

6

 

A

 

 

 

A

 

 

 

 

 

 

5

 

5

 

B

B

 

 

 

 

 

4

 

4

C

C

 

 

 

 

D

D

3

3

 

2

E

 

2

 

E

1

1

F

F

 

 

5. условию удовлетворяет только одна клетка – F4

1) 1 2) 2 3) 3 4) 0

Ответ: 1

вверх ПОКА сверху свободно вправо ПОКА справа свободно вниз ПОКА снизу свободно влево КОНЕЦ                                                   6   A     5     B       4 C     3 D 2   E 1 F   " width="640"

Пример IX:

Сколько клеток приведенного лабиринта соответствуют требованию, что, выполнив предложенную ниже программу, РОБОТ уцелеет (не врежется в стену) и остановится в той же клетке , с которой он начал движение?

1) 1 2) 2 3) 3 4) 0

НАЧАЛО

ПОКА слева свободно вверх

ПОКА сверху свободно вправо

ПОКА справа свободно вниз

ПОКА снизу свободно влево

КОНЕЦ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

A

 

 

5

 

 

B

 

 

 

4

C

 

 

3

D

2

 

E

1

F

 

вверх ПОКА сверху свободно вправо ПОКА справа свободно вниз ПОКА снизу свободно влево КОНЕЦ 2 1 F   Решение: 1. при движении вверх РОБОТ остановится в первой же клетке, где слева будет стена 2. при движении вправо РОБОТ останавливается в клетке, где есть стена сверху                                                 A   6   B     5           4 C D   3   E   2 F 1   2 3. в третьем цикле (движение вниз ) РОБОТ останавливается в клетке, где есть стена справа 3 1 4. в четвертом цикле РОБОТ останавливается в клетке, где есть стена снизу ; 4 при этом он должен попасть обратно в исходную клетку, обозначенную на рисунке красной точкой ; 5. кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке зеленым фоном , был свободен для прохода, иначе РОБОТ врежется в стенку " width="640"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

6

 

 

 

 

5

B

C

 

 

 

4

 

D

 

3

 

E

НАЧАЛО

ПОКА слева свободно вверх

ПОКА сверху свободно вправо

ПОКА справа свободно вниз

ПОКА снизу свободно влево

КОНЕЦ

2

1

F

 

Решение:

1. при движении вверх РОБОТ остановится в первой же клетке, где слева будет стена

2. при движении вправо РОБОТ останавливается в клетке, где есть стена сверху

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

6

 

B

 

 

5

 

 

 

 

 

4

C

D

 

3

 

E

 

2

F

1

 

2

3. в третьем цикле (движение вниз ) РОБОТ останавливается в клетке, где есть стена справа

3

1

4. в четвертом цикле РОБОТ останавливается в клетке, где есть стена снизу ;

4

при этом он должен попасть обратно в исходную клетку, обозначенную на рисунке красной точкой ;

5. кроме этих четырех стенок, необходимо, чтобы коридор, выделенный на рисунке зеленым фоном , был свободен для прохода, иначе РОБОТ врежется в стенку

6 . отметим на карте все клетки-кандидаты, где снизу есть стена :                                                 A   6         5 B     4     C 3   D   2 E   1 F   7 . при движении из клеток B5 , D1 , E1 , E6 , F 1 и F 3 РОБОТ врежется в стенку, потому что слева стены нет и условие « слева свободно » всегда истинно: 8. начав движение с клетки A1 , C1 или C 2 , РОБОТ также врезается в стенку и разрушается: 9. и только путь, начатый в клетке B1, приводит РОБОТА обратно в точку старта:                                           6       A         5     B     4 C     D   3 E 2   1 F   5. условию удовлетворяет только одна клетка – B1 1) 1  2) 2  3) 3  4) 0 Ответ: 1

6 . отметим на карте все клетки-кандидаты, где снизу есть стена :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

6

 

 

 

 

5

B

 

 

4

 

 

C

3

 

D

 

2

E

 

1

F

 

7 . при движении из клеток B5 , D1 , E1 , E6 , F 1 и F 3 РОБОТ врежется в стенку, потому что слева стены нет и условие « слева свободно » всегда истинно:

8. начав движение с клетки A1 , C1 или C 2 , РОБОТ также врезается в стенку и разрушается:

9. и только путь, начатый в клетке B1, приводит РОБОТА обратно в точку старта:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

A

 

 

 

 

5

 

 

B

 

 

4

C

 

 

D

 

3

E

2

 

1

F

 

5. условию удовлетворяет только одна клетка – B1

1) 1 2) 2 3) 3 4) 0

Ответ: 1


Скачать

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

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

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