ФГАОУ ВПО «Казанский (Приволжский)
Федеральный университет»
Институт педагогики и психологии
Приволжский
межрегиональный центр повышения квалификации и профессиональной переподготовки
работников образования
Методическое пособие для учителя
информатики и ИКТ по подготовке учащихся к ЕГЭ
СРЕДА
ИСПОЛНИТЕЛЕЙ
(Анализ и построение
алгоритмов для исполнителей)
Казань 2013
СРЕДА ИСПОЛНИТЕЛЕЙ. Методическое пособие разработано по
подготовке учащихся к ЕГЭ.
(Анализ и построение алгоритмов для исполнителей)
Данная методическая разработка может быть использована
не только учителями информатики и ИКТ, но и учащимися для самостоятельной
подготовке к сдаче ГИА и ЕГЭ по и по разделу «Анализ и построение алгоритмов
для исполнителей», а также студентами педагогических колледжей и ВУЗов,
выпускающих педагогов по предмету Информатика и ИКТ.
СРЕДА ИСПОЛНИТЕЛЕЙ (Анализ и построение алгоритмов для
исполнителей): Методическое пособие для учителя информатики и ИКТ по подготовке
учащихся к ЕГЭ/Боброва Г.Г, Шакирова Д.И., Зинкина У.З. - 27 стр., Казань,
2013.
Содержание
1. Термины и понятия ―Среда
испонителя‖………………………………………..4
2. Основные
виды исполнителей и их система команд (СКИ)................................ 5
2.1. Калькулятор.............................................................................................. 5
2.2. Исполнители по координатной оси........................................................... 6
2.3. Исполнители в декартовой системе координат......................................... 7
3. Задачи
и их разбор............................................................................................. 11
4. Задачи для самостоятельно
выполнения………………………………………..17
5. Литература………………………………………………………………………...28
1. Термины и понятия “Среда
исполнителя”
Основными
понятиями, используемыми при изучении темы ―Анализ и построение алгоритмов для
исполнителей‖, являются алгоритм, исполнитель алгоритма, система команд
исполнителя (СКИ), формальное исполнение.
Алгоритм - это определенная
последовательность логических действий, строгое исполнение которых приводит к
решению задачи за конечное число шагов[1].
В
научной литературе не встречается точного определения и понятия исполнителя.
Так согласно учебнику А.Г.Кушниренко[2], ―Исполнитель алгоритма - это
устройство, приспособление, робот, организация и т. п., способное выполнять
определенные действия‖, т.е. исполнителем может быть любая группа объектов (и
человек). Современные учебные системы предоставляют один вид исполнителей,
который имеет следующий алгоритм: вводится команда и человечек (или Робот,
Кузнечик, Черепашка и др.) начинают выполнять предписанные действия (СКИ).
Наиболее
важными являются следующие характеристики исполнителя: среда, элементарные
действия, система команд, отказы.
Среда
исполнителя - это
«место обитания» исполнителя. Например, исполнитель Кузнечик перемещается
строго по координатной оси, Черепаха имеет свою систему координат, а
исполнитель Робот имеет клетчатое поле и т.п.
СКИ – это команды, представляющие
элементарное действие исполнителя и выполняемые им из некоторого строго
заданного перечня[3].
Таким образом, умение
работать со СКИ предусматривает:
-
знания названий
или обозначений каждой команды исполнителя;
-
знания способа
передачи команд исполнителю; знания, как выполняется каждая
команда.
Формальное
исполнение - исполнитель
выполняет все полученные команды, не задавая вопросов «почему?» и «зачем?», не
зная о цели алгоритма.
Отказы
– условия, при
которых исполнитель не выполняет основные команды (например, Робот
разрушается).
2. Основные виды исполнителей
и их система команд (СКИ)
Анализ
основных действий исполнителей (алгоритм выполнения СКИ, позволяет выделить
следующие основные виды исполнителей:
-
«Калькулятор»,
позволяющий выполнять различные арифметические действия
(Удвоитель, Утроитель,
Квадратор и др.);
-
Исполнители,
работающие строго на координатной оси (Кузнечик, …..)
-
Исполнители в
декартовой системе координат (Чертѐжник, Черепашка и др.)
Управление
исполнителями заключается в последовательном вызове команд. Человек дает
команду исполнителю, анализирует результат, отдает следующую команду и т.д.
У
исполнителя Калькулятор имеется обычно две или три команды, выполняющие
арифметические действия. Командам присваиваются номера, которые обозначаются
латинскими буквами (например, 1. Прибавь 2; 2. Умножь на 3). Таким образом, к
СКИ Калькулятора относятся арифметические действия: сложение, вычитание,
произведение, возведение в степень, деление. Иногда, в качестве СКИ может
выступать изменение разрядности числа.
Примеры.
1) У исполнителя Удвоитель -
Утроитель три команды, им присвоены номера:
1. прибавь
1
2. умножь
на 2
3. умножь
на 3
Первая из них увеличивает
на 1 число на экране, вторая увеличивает это число в 2 раза, третья - в 3
раза.
2) У исполнителя Прибавитель
две команды, которым присвоены номера:
1. прибавь
1
2. увеличь
старшую цифру числа на 1
Первая из них увеличивает число на экране на 1, вторая увеличивает на 1
старшую (левую) цифру числа, например число 23 с помощью такой команды
превратится в число 33. Если старшая цифра числа равна 9, то вторая команда оставляет
это число неизменным.
3) У исполнителя Калькулятор
две команды, которым присвоены номера:
1. прибавь
3
2. умножь
на 4
Выполняя первую из них,
Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на
4.
Исполнитель Чертежник предназначен для построения
графиков, рисунков, чертежей и др. на виртуальном белом полотне. У него есть
инструмент перо, которое поднимается, опускается и перемещается. Если опустить
перо и перемещаться, то за ним остается след – отрезок. СКИ чертѐжника невелико
(опустить перо, поднять перо, сместиться в точку (арг вещ х, у), сместиться на
вектор (арг вещ а, b))
По команде опустить перо
Чертежник опускает перо. Если перо уже было опущено, Чертежник не выполняет
никаких действий, но и отказа не происходит. То есть, после выполнения команды
опустить перо, оно оказывается в положении: опущено, независимо от его
предыдущего положения. По команде поднять перо поднимается. Команды сместиться
в точку и сместиться на вектор перемещают перо Чертежника. Если при этом перо
опущено, на бумаге остается след. Так эти команды позволяют строить чертежи и
рисунки. Примеры
1)
Квадрат
использовать Чертежник алг квадрат1 нач
сместиться в точку(2,1)
опустить перо сместиться в точку(2,4) сместиться в точку(5,4) сместиться в
точку(5,1) сместиться в точку(2,1) поднять перо сместиться в точку(0,0) кон
2)
Составьте программу рисования фигуры, изображенной на
рисунке, таким образом, чтобы во время рисования перо не отрывалось от бумаги,
и ни одна линия не проводилась дважды. (Рис.1) 3) Составьте программу рисования
фигуры, изображенной на рисунке, таким образом, чтобы во время рисования перо
не отрывалось от бумаги, и ни одна линия не проводилась дважды. (Рис.2)
Исполнитель
Робот
Робот работает
на поле в клетку. Клетки могут иметь между собой стены, могут быть закрашены.
Робот занимает одну клетку поля.
По командам вверх, вниз, влево, вправо Робот перемещается в
соседнюю клетку в указанном направлении. Если на пути оказывается стена,
команда не может быть выполнена. Примеры
1)
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте
на клетчатой плоскости:
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены
у каждой стороны той клетки, где находится РОБОТ:
сверху свободно
|
снизу свободно
|
слева свободно
|
справа свободно
|
Цикл
ПОКА < условие > последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Если РОБОТ начнѐт движение в сторону находящейся рядом с ним
стены, то он разрушится и программа прервѐтся.
Схема лабиринта:
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и
остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА<справа свободно ИЛИ снизу
свободно>
ПОКА <справа свободно>
вправо
КОНЕЦ ПОКА
ПОКА <снизу свободно>
вниз
КОНЕЦ ПОКА
КОНЕЦ ПОКА
КОНЕЦ
2)
Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному
на плоскости, разбитой на клетки. Между соседними по сторонам клетками может
стоять стена. Система команд исполнителя РОБОТ содержит восемь команд. Четыре
команды - это команды перемещения:
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно: вверх ↑, вниз ↓,
влево ←, вправо →. Если на пути РОБОТа
окажется стена, он разрушится.
Четыре команды проверяют отсутствие стены у каждой стороны
той клетки, где находится РОБОТ:
сверху свободно
|
снизу
свободно
|
слева свободно
|
справа свободно
|
Цикл
ПОКА <условие>
последовательность команд КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкциях ПОКА условие может содержать команды
проверки, а также слова И, ИЛИ, НЕ.
Схема лабиринта:
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и
остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА <снизу свободно
ИЛИ справа свободно>
ПОКА <снизу свободно>
вниз
КОНЕЦ ПОКА вправо
КОНЕЦ ПОКА КОНЕЦ
3)Исполнитель РОБОТ умеет перемещаться по прямоугольному
лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по
сторонам клетками может стоять стена. Клетка в лабиринте может быть чистая
или закрашенная. Закрашенные клетки на рисунке выделены серым цветом.
Система команд исполнителя РОБОТ содержит девять команд.
Четыре команды - это команды перемещения:
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно: вверх ↑, вниз ↓,
влево ←, вправо →. Если на пути РОБОТа
окажется стена, он разрушится.
Четыре команды проверяют отсутствие стены у каждой стороны
той клетки, где находится РОБОТ:
сверху свободно
|
снизу
свободно
|
слева
свободно
|
справа свободно
|
Команда клетка чистая проверяет, чистая ли клетка, в
которой находится Робот.
Цикл
ПОКА <условие>
последовательность команд КОНЕЦ ПОКА
выполняется, пока условие истинно.
Схема лабиринта:
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет?
НАЧАЛО
ПОКА <клетка чистая>
ПОКА <справа свободно>
вправо
КОНЕЦ ПОКА
вниз
КОНЕЦ ПОКА
КОНЕЦ
Исполнитель Черепашка
Вначале программист дает черепашке простые приказы,
например, ВПЕРЕД 100, что
означает "передвинуться вперед на 100 шагов", или НАЛЕВО 60, т. е. "сделать поворот влево
на
60 градусов". Эти команды можно
использовать для создания программ, рисующих геометрические фигуры, необходимо
только запомнить, что каждая команда пишется на отдельной строке. Передвигаясь
по экрану, черепашка оставляет за собой след (по умолчанию цвет пера черепахи -
синий). Выполняя команды НАЛЕВО или НАПРАВО, черепашка поворачивается на
заданный угол (при этом она считает, что угол задан в градусах). При повороте
черепашка остается на месте, не смещаясь ни в какую сторону, меняется только ее
направление. Не забывайте, что направление поворота (налево или направо)
определяется "с точки зрения"
Примеры
1)
Если сторона квадрата будет длиной в 100 черепашьих шагов, можно
составить такую последовательность команд:
вперед 100 налево 90
вперед 100 налево 90 вперед 100 налево 90 вперед 100
налево 90
2)
Сначала выполним простейшую задачу для Черепахи — нарисуем
квадрат со стороной 40 шагов. Черепаху будем обозначать черным треугольником.
Как вы знаете, все углы квадрата равны 90 градусов, поэтому программа выглядит
так:
Квадрат покажись; опусти_перо;
вперед ( 40 ); вправо ( 90 ); вперед ( 40 ); вправо ( 90 );
вперед ( 40 ); вправо ( 90 ); вперед ( 40 );
|
40
40
Калькулятор
№1 У исполнителя Утроитель
две команды, которым присвоены номера:
1. вычти 2
2. умножь на три
Первая из них уменьшает число на экране на 2,
вторая – утраивает его. Запишите порядок команд в программе, которая
преобразует число 2 в 8, содержащей 5 команд, указывая лишь номера команд. Решение
умножь на три вычти 2 умножь на три вычти 2 вычти 2
Ответ: 11121
№2 У исполнителя Калькулятор
две команды, которым присвоены номера:
1.
прибавь 3 2. умножь на 4
Выполняя первую из них,
Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на
4. Запишите порядок команд в программе, которая преобразует число 2 в 50,
содержащей не более 6 команд, указывая лишь номера команд. Решение умножь
на 4 прибавь 3 умножь на 4
прибавь 3 прибавь 3 Ответ: 21211
№3 У исполнителя Калькулятор
две команды, которым присвоены номера:
1.
прибавь 1 2. умножь на 3
Выполняя первую из них,
Калькулятор прибавляет к числу на экране 1, а выполняя вторую, утраивает его.
Запишите порядок команд в программе, которая преобразует число 1 в, содержащей
не более 6 команд, указывая лишь номера команд. Решение умножь на 3
прибавь 1 умножь на 3 прибавь 1 прибавь 1 Ответ: 21211
№4 У исполнителя Утроитель
две команды, которым присвоены номера:
1.
вычти 1 2. умножь на 3
Первая из них уменьшает
число на экране на 1, вторая – увеличивает его в три раза. Запишите порядок
команд в программе, которая преобразует число 1 в 4, содержащей не более 5
команд, указывая лишь номера команд. Решение умножь на 3 вычти 1 умножь на 3
вычти 1 вычти 1 Ответ: 21211
№5 На экране есть два
окна, в каждом из которых записано по числу. Исполнитель Сумматор
имеет только две команды, которым присвоены номера:
1.
Запиши сумму чисел в первое окно 2. Запиши сумму чисел во второе окно
Выполняя команду номер 1,
СУММАТОР складывает числа в двух окнах и записывает результат в первое окно, а
выполняя команду номер 2, заменяет этой суммой число во втором окне. Напишите
программу, содержащую не более 5 команд, которая преобразует пару чисел 1 и 0 в
пару чисел 8 и 3. Укажите лишь номера команд.
Решение
Запиши
сумму чисел во второе окно Запиши сумму чисел в первое окно Запиши сумму
чисел во второе окно Запиши сумму чисел в первое окно Запиши сумму чисел в
первое окно
Ответ: 21211
Исполнители по координатной оси
№1 Исполнитель Попрыгунчик
прыгает вдоль числовой оси на заданное число делений. Система команд
исполнителя: вправо 3, влево 2. В настоящий момент исполнитель может прыгать
только в пределах отрезка от 0 до 5. Написать программы с помощью которых он
побывает над числами 1,2,3,4,5. Начальное положение 0, конечное 1. Начальное 0,
конечное 2. Начальное 0, конечное 3. Начальное 0, конечное 4. Начальное 0, конечное
5.
Решение
1)
вправо 3 -> влево 2 = 1 2) вправо 3 -> влево 2 -> вправо 3 ->
влево 2 = 2 3) вправо 3 = 3; 4) вправо 3 -> влево 2 -> вправо 3 = 4 5)
вправо 3 -> влево 2 -> вправо 3 -> влево 2 -> вправо 3 = 5
№2 . Исполнитель Кузнечик
живѐт на числовой оси. Начальное положение – точка 10. Система команд
Кузнечика:
1.Вперед 7 – Кузнечик прыгает вперѐд на 7 единиц, 2.Назад 4
– Кузнечик прыгает назад на 4 единицы.
Напишите программу,
содержащую не более 4 команд, которая преобразует 10 в 5. Укажите лишь номера
команд.
Решение
Назад
4 Вперѐд 7 Назад 4 Назад 4 Назад 4
Ответ: 21222
Исполнители в декартовой системе координат
№1 Выполним простейшую задачу для Черепахи — нарисуем
квадрат со стороной 40 шагов. Черепаху будем обозначать черным треугольником.
Как вы знаете, все углы квадрата равны 90 градусов, поэтому программа выглядит
так:
Квадрат покажись; опусти_перо;
вперед ( 40 ); вправо ( 90 );
|
вперед ( 40 ); вправо ( 90 ); 40
вперед ( 40 );
вправо ( 90 );
вперед ( 40 ); 40
№2 Составить
алгоритм движения Робота из клетки А в клетку В вдоль стены при условии, что
Робот не разрушится Решение: алг Робот нач вниз
вправо вправо вниз вниз
кон №3 ( ege.yandex.ru-5). Сколько клеток
лабиринта соответствуют требованию, что, начав движение в ней и выполнив
предложенную программу, РОБОТ уцелеет и остановится в закрашенной клетке
(клетка F6)?
Описание системы команд и языка программирования Робота
можно прочитать
здесь.
Решение. При выполнении тела цикла Робот
сдвигается на 2 клетки либо вниз, либо вправо.
Поэтому «четность» координат Робота в процессе работы не
меняется. Чтобы оказаться в F6, Робот должен начать движение в клетке с
вертикальной координатой B, D или F и горизонтальной координатой 2, 4 или 6.
Таких клеток 9: B2, D2, F2, B4, D4, F4, B6, D6, F6.
Из клетки D4, очевидно, попасть в F6 нельзя. Из остальных
восьми клеток Робот приходит в F6, где выполнение программы останавливается,
т.к. не выполнено условие выполнения цикла.
Итого: 8 «хороших» клеток.
№4 Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и
остановится в закрашенной клетке (клетка F6)?
Решение. При каждом выполнении цикла Робот
сначала движется «вправо до упора» (т.е. до ближайшей стены), а затем пробует
спуститься на 1 клетку вниз (не проверяя, есть лм у него на пути стена). как
Робот сначала движется вправо, то возможные начальные положения Робота удобно
рассматривать по строкам.
1. Начальное
положение A1-F1. При 1-м прохождении основного цикла Робот идет вправо
до F1, затем на 1 клетку вниз до F2. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Потом Робот разбивается при попытке
пойти вниз из F2.
2. Начальное
положение A2-D2. Робот идет вправо до D2. Затем
разбивается при
3. Начальное
положение E2-F2. Робот идет вправо до F2. Затем
разбивается при попытке пойти вниз из F2.
4. Начальное
положение A3-F3. При 1-м прохождении основного цикла Робот идет вправо
до F3, затем на 1 клетку вниз до F4. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Затем Робот идет вниз на 1 клетку до
F5. После 3-го прохождении цикла Робот приходит в F6 (все происходит так же,
как и при 2-м прохождении цикла). В клетке F6 условие выполнения основного
цикла НЕ выполнено и выполнение программы заканчивается.
Найдено 6 «хороших»
клеток.
5. Начальное
положение A4-С4 . При 1-м прохождении основного цикла Робот идет вправо
до C4. затем на 1 клетку вниз до C5. При 2-м прохождении цикла Робот идет
вправо до D5, затем на 1 клетку вниз до D6. При 3-м прохождении цикла Робот
идет вправо до F6 и – разбивается при попытке пойти вниз!
6. Начальное
положение D4-F4. При 1-м прохождении основного цикла Робот идет вправо
до F4, затем на 1 клетку вниз до F5. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Затем Робот идет вниз на 1 клетку до
F6. В клетке F6 условие выполнения основного цикла НЕ выполнена и выполнение
программы заканчивается.
Найдено 3 «хорошие»
клетки.
7. Начальное
положение A5-D5. При 1-м прохождении цикла Робот идет вправо до D5,
затем на 1 клетку вниз до D6. При 2-м прохождении цикла Робот идет вправо до F6
и разбивается при попытке пойти вниз
Замечание. То, что клетки
A5-D5 «плохие», можно понять, заметив, что D5 находится на «плохом» пути Робота
из A4. После D5 траектории Робота при движении из A4-C4 и из A5-D5 совпадают.
8. Начальное
положение E5-F5. Робот идет вправо до F5, затем – на 1 клетку вниз в
F6. В клетке F6 условие выполнения основного цикла НЕ выполнено и выполнение
программы заканчивается. (см. пп. 4 и 6).
Найдено 2 «хорошие»
клетки.
9. Начальное
положение A6-C6. Робот приходит в C6 и разбивается при попытке пойти
вниз.
10. Начальное
положение D6-E6. Робот приходит в F6 и разбивается при попытке пойти
вниз.
11. Основной цикл не
выполняется ни разу. Робот находится в клетке F6.
Найдена 1 «хорошая»
клетка.
Итого:6+3+2+1 = 12 «хороших» клеток.
№4Сколько
клеток лабиринта соответствуют требованию, что, начав движение в ней и выполнив
предложенную программу, РОБОТ уцелеет?
Решение.
Начнем с замечания (оно не обязательно для
решения, но полезно с точки зрения умения решать подобные задачи): Робот
уцелеет только если он закончит движение в закрашенной клетке F6. Обратное
неверно: Робот можнт дойти до клетки F6 и разбиться при попытке пойти вниз.
Теперь перейдем собственно к решению.
При каждом выполнении цикла Робот сначала движется «вправо
до упора» (т.е. до ближайшей стены), а затем пробует спуститься на 1 клетку
вниз (не проверяя, есть лм у него на пути стена). Так как Робот сначала
движется вправо, то возможные начальные положения Робота удобно рассматривать
по строкам.
1. Начальное
положение A1-F1. При 1-м прохождении основного цикла Робот идет вправо
до F1, затем на 1 клетку вниз до F2. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Потом Робот разбивается при попытке
пойти вниз из F2.
2. Начальное
положение A2-D2. Робот идет вправо, пока не окажется в D2. Затем
разбивается при попытке пойти вниз из D2.
3. Начальное
положение E2 и F2. Робот идет вправо, пока не
окажется в F2. Затем разбивается при попытке пойти вниз из F2.
4. Начальное
положение A3-F3. При 1-м прохождении основного цикла Робот идет вправо
до F3, затем на 1 клетку вниз до F4. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Затем Робот идет вниз на 1 клетку до
F5. После 3-го прохождении цикла Робот приходит в F6 (все происходит так же,
как и при 2-м прохождении цикла). В клетке F6 условие выполнения основного
цикла НЕ выполнено и выполнение программы заканчивается.
Найдено 6 «хороших»
клеток.
5. Начальное
положение A4-С4 . При 1-м прохождении основного цикла Робот идет вправо
до C4. затем разбивается при попытке пойти вниз из C4.
6. Начальное
положение D4-F4. При 1-м прохождении основного цикла Робот идет вправо
до F4, затем на 1 клетку вниз до F5. При 2-м прохождении основного цикла
внутренний цикл не выполняется ни разу. Затем Робот идет вниз на 1 клетку до
F6. В клетке F6 условие выполнения основного цикла НЕ выполнена и выполнение
программы заканчивается.
Найдено 3 «хорошие»
клетки.
Замечание. То, что клетки D4-F4 «хорошие», можно
понять, заметив, что F5 находится на «хорошем» пути Робота из A3. После F5
траектории Робота при движении из A3-F3 и из D4-F4 совпадают.
7. Начальное
положение A5-D5. При 1-м прохождении цикла Робот идет вправо до D5,
затем на 1 клетку вниз до D6. При 2-м прохождении цикла Робот идет вправо до F6
и — разбивается при попытке пойти вниз!
8. Начальное
положение E5-F5. Робот идет вправо до F5, затем – на 1 клетку вниз в
F6. В клетке F6 условие выполнения основного цикла НЕ выполнена и выполнение
программы заканчивается. (см. пп. 4 и 6).
Найдено 2 «хорошие»
клетки.
9. Начальное
положение A6-C6. Робот приходит в C6 и разбивается при попытке пойти
вниз.
10. Начальное
положение D6-E6. Робот начинает выполнение основного цикла (клетка
чистая!), приходит в F6 и разбивается при попытке пойти вниз.
11. Начальное
положение F6. Основной цикл не выполняется ни разу. Робот находится в
клетке F6.
Найдена 1 «хорошая»
клетка.
Итого:6+3+2+1 = 12 «хороших» клеток.
Задачи для самостоятельно выполнения №1 Исполнитель Калькулятор
имеет только две команды, которым присвоены номера:
1. Вычти
3
2. Умножь
на 2
Выполняя команду номер1, Калькулятор
вычитает из числа на экране 3, а выполняя команду номер 2, умножает число на
экране на 2. Напишите программу, содержащую не более 5 команд, которая из
числа 5 получает число 25. Укажите лишь номера команд. Например, программа
22221 – это программа:
Умножь на 2
Умножь на 2
Умножь на 2
Умножь на 2 Вычти 3
которая преобразует число 1 в число 13
№2 Исполнитель
Калькулятор имеет только две команды, которым присвоены
номера:
1. Вычти
1
2. Умножь
на 2
Выполняя команду номер1, Калькулятор
вычитает из числа на экране 1, а выполняя команду номер 2, умножает число на
экране на 2. Напишите программу, содержащую не более 4 команд, которая из
числа 2 получает число 14. Укажите лишь номера команд. Например, программа
21211 – это программа:
Умножь на 2
Вычти 1
Умножь на 2
Вычти 1 Вычти 1
которая преобразует число 1 в число 0
№3 Исполнитель
Калькулятор имеет только две команды, которым присвоены
номера:
1. Прибавь
1
2. Умножь
на 2
Выполняя команду номер 1, Калькулятор
прибавляет к числу на экране 1, а выполняя команду номер 2, умножает число на
экране на 2. Укажите минимальное число команд, которое должен выполнить
исполнитель, чтобы получить из числа 23 число 999.
№4 Исполнитель
Калькулятор имеет только две команды, которым присвоены
номера:
1. Умножь
на 2
2. Вычти
2
Выполняя команду номер 1, Калькулятор умножает
число на экране на 2, а выполняя команду номер 2, вычитает из числа на экране
2. Напишите программу, содержащую не более 5 команд, которая из числа 7
получает число 44. Укажите лишь номера команд. Например, программа 11221 – это
программа:
Умножь на 2;
Умножь на 2;
Вычти 2;
Вычти 2; Умножь на 2, которая преобразует
число 5 в число 32.
№5 У
исполнителя Утроитель две команды, которым присвоены
номера:
1. вычти
2
2. умножь
на три
Первая из них уменьшает число на экране на 2, вторая –
утраивает его. Запишите порядок команд в программе получения из 11 числа 13,
содержащей не более 5 команд, указывая лишь номера команд. (Например, 21211 –
это программа:
умножь на три
вычти 2 умножь на три вычти 2
вычти 2
которая преобразует число 2 в 8). (Если таких программ более
одной, то запишите любую из них.)
№6.
Исполнитель Вычислитель работает с целыми положительными
однобайтными числами. Он может выполнять две команды:
1. сдвинь
биты числа влево на одну позицию
2. прибавь
1
Например, число 7 (000001112) преобразуется командой 1 в 14 (000011102). Для заданного числа 14
выполнена последовательность команд 11222. Запишите полученный результат в
десятичной системе счисления
№7 У
исполнителя Калькулятор Калькулятор
две команды, которым присвоены номера:
1. прибавь
1
2. умножь
на 3
Выполняя первую из них, Калькулятор прибавляет к числу
на экране 1, а выполняя вторую, утраивает его. Запишите порядок команд в
программе получения из 4 числа 51, содержащей не более 5 команд, указывая лишь
номера команд. (Например, программа 21211 – это программа
умножь на 3
прибавь 1 умножь на 3 прибавь
1 прибавь 1 которая преобразует число 1 в 14
№8
Имеется исполнитель Кузнечик, который живет на числовой
оси. Система команд:
Вперед N – Кузнечик прыгает вперед на N единиц
Назад M – Кузнечик прыгает назад на M единиц
Переменные N и M могут принимать любые целые положительные
значения. Кузнечик выполнил программу из 20 команд, в которой команд «Назад 4»
на 4 меньше, чем команд «Вперед 3» (других команд в программе нет). На какую
одну команду можно заменить эту программу?
№9
Исполнитель Робот действует на клетчатой доске, между
соседними клетками которой могут стоять стены. Робот передвигается по клеткам
доски и может выполнять команды 1 (вверх), 2
(вниз), 3 (вправо) и 4 (влево), переходя на соседнюю
клетку в направлении, указанном в скобках. Если в этом направлении между
клетками стоит стена, то Робот разрушается. Робот успешно выполнил программу
1132432
Какую последовательность из трех команд должен выполнить
Робот, чтобы вернуться в ту клетку, где он был перед началом выполнения
программы, и не разрушиться вне зависимости от того, какие стены стоят на
поле?
№10
Исполнитель Калькулятор имеет только две команды, которым
присвоены номера:
1. Вычти
1
2. Умножь
на 2
Выполняя команду номер 1, Калькулятор
вычитает из числа на экране 1, а выполняя команду номер 2, умножает число на
экране на 2. Напишите программу, содержащую не более 4 команд, которая из
числа 3 получает число 16. Укажите лишь номера команд. Например, программа
21211 – это программа:
Умножь на 2
Вычти 1
Умножь на 2
Вычти 1
Вычти 1 которая преобразует число 1 в число 0
№11Исполнитель Робот ходит по клеткам
бесконечной вертикальной клетчатой доски, переходя по одной из команд вверх,
вниз, вправо, влево в соседнюю клетку в указанном направлении. Робот выполнил
следующую программу:
вверх влево влево вверх
вправо вверх вправо
Укажите наименьшее возможное число команд в программе,
переводящей Робота из той же начальной клетки в ту же конечную
№12 Исполнитель Квадратор имеет только
две команды, которым присвоены номера:
1. Возведи
в квадрат
2. Прибавь
1
Выполняя команду номер 1, возводит число на экране в
квадрат, а выполняя команду номер 2, прибавляет к этому числу 1. Напишите
программу, содержащую не более 4 команд, которая из числа 1 получает число 17.
Укажите лишь номера команд. Например, программа 12122 – это программа:
Возведи в квадрат
Прибавь 1
Возведи в квадрат
Прибавь 1 Прибавь 1 которая преобразует число
1 в число 6.
№13Исполнитель Кузнечик живѐт на
числовой оси. Начальное положение КУЗНЕЧИКА – точка 10. Система команд:
Вперед 7 – Кузнечик прыгает
вперѐд на 7 единиц, Назад 4 – Кузнечик прыгает назад на 4 единицы.
Какое наименьшее количество раз должна встретиться в
программе команда «Назад 4», чтобы Кузнечик оказался в точке 43?
№14 Исполнитель Калькулятор имеет только
две команды, которым присвоены номера:
1. Прибавь
1
2. Умножь
на 2
Выполняя команду номер 1, Калькулятор
прибавляет к числу на экране 1, а выполняя команду номер 2, умножает число на
экране на 2. Укажите минимальное число команд, которое должен выполнить
исполнитель, чтобы получить из числа 17 число 729
№15 Исполнитель Калькулятор имеет
только две команды, которым присвоены номера:
1. Прибавь
1
2. Умножь
на 2
Выполняя команду номер 1, Калькулятор
прибавляет к числу на экране 1, а выполняя команду номер 2, умножает число на
экране на 2. Укажите минимальное число команд, которое должен выполнить
исполнитель, чтобы получить из числа 19 число 629
№16.Исполнитель Калькулятор имеет
только две команды, которым присвоены номера:
1. Прибавь
5
2. Умножь
на 3
Выполняя команду номер 1, Калькулятор
прибавляет к числу на экране 5, а выполняя команду номер 2, умножает число на
экране на 3. Напишите программу, содержащую не более 5 команд, которая из
числа 3 получает число 59
№17 Исполнитель Робот умеет
перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой
на клетки. Между соседними по сторонам клетками может стоять стена. Система команд
исполнителя содержит восемь команд. Четыре команды - это команды перемещения:
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно:
вверх ↑, вниз ↓, влево ←, вправо →.
При выполнении любой из этих команд перемещается на одну
клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Если на пути Робота окажется стена, он
разрушится.
Четыре команды проверяют отсутствие стены у каждой стороны
той клетки, где находится Робот:
сверху свободно
|
снизу
свободно
|
слева
свободно
|
справа свободно
|
Цикл ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие ТО
последовательность команд-1 ИНАЧЕ
последовательность команд-2 КОНЕЦ ЕСЛИ
выполняется последовательность команд-1, если условие
истинно, или последовательность команд-2, если условие ложно.
В конструкциях ПОКА и ЕСЛИ условие может содержать команды
проверки, а также слова И, ИЛИ, НЕ.
Схема лабиринта:
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, Робот
уцелеет и остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА<снизу свободно ИЛИ
справа свободно>
ЕСЛИ <снизу свободно>
ТО вниз
вниз ИНАЧЕ вправо вправо
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
№17 Система команд исполнителя РОБОТ, «живущего» в
прямоугольном лабиринте на клетчатой плоскости:
вверх
вниз влево вправо
При выполнении этих команд РОБОТ перемещается на одну клетку
соответственно: вверх, вниз, влево, вправо.
Четыре команды проверяют истинность условия отсутствия стены
у той клетки, где находится РОБОТ:
сверху
снизу слева справа
свободно свободно свободно свободно
Цикл
ПОКА <условие> команда выполняется, пока
условие истинно, иначе происходит переход на следующую строку.
Сколько клеток лабиринта соответствуют требованию, что,
выполнив предложенную программу, РОБОТ остановится в той же клетке, с которой
он начал движение?
НАЧАЛО
ПОКА <сверху свободно> вправо
ПОКА <справа свободно> вниз ПОКА <снизу
свободно> влево
ПОКА <слева свободно> вверх
КОНЕЦ
№18 Исполнитель Робот умеет
перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой
на клетки. Между соседними по сторонам клетками может стоять стена. Система
команд исполнителя Робот содержит восемь команд. Четыре
команды - это командыприказы
При выполнении любой из этих команд Робот
перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены
у каждой стороны той клетки, где находится Робот:
сверху свободно
|
снизу свободно
|
слева свободно
|
справа свободно
|
Цикл
ПОКА < условие > последовательность
команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ < условие>
ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2
(если условие ложно).
В конструкциях ПОКА и ЕСЛИ условие может содержать команды
проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции.
Если Робот начнѐт движение в сторону
находящейся рядом с ним стены, то он разрушится и программа прервѐтся.
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, Робот
уцелеет и остановится в закрашенной клетке (клетка F6)?
№19 Исполнитель Робот умеет
перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой
на клетки. Между соседними по сторонам клетками может стоять стена. Система
команд исполнителя Робот содержит восемь команд. Четыре
команды - это командыприказы
При выполнении любой из этих команд Робот
перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо
→.
Четыре команды проверяют истинность условия отсутствия стены
у каждой стороны той клетки, где находится Робот:
сверху свободно
|
снизу свободно
|
слева свободно
|
справа свободно
|
Цикл ПОКА условие последовательность команд КОНЕЦ
ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие ТО команда1
ИНАЧЕ команда2 КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2
(если условие ложно).
В конструкциях ПОКА и ЕСЛИ условие может содержать команды
проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции.
Если Робот начнѐт движение в сторону
находящейся рядом с ним стены, то он разрушится и программа прервѐтся.
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, Робот
уцелеет и остановится в закрашенной клетке (клетка E2)?
№19 Система команд исполнителя РОБОТ, «живущего» в
прямоугольном лабиринте на клетчатой плоскости:
При выполнении любой из этих команд РОБОТ перемещается на
одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
Четыре команды проверяют истинность условия отсутствия стены
у каждой стороны той клетки, где находится РОБОТ:
сверху свободно
|
снизу свободно
|
слева свободно
|
справа свободно
|
Цикл
ПОКА < условие >
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Если РОБОТ начнѐт движение в сторону находящейся рядом с ним
стены, то он разрушится и программа прервѐтся.
Схема лабиринта:
Сколько клеток лабиринта соответствуют требованию, что,
начав движение в ней и выполнив предложенную программу, РОБОТ уцелеет и
остановится в закрашенной клетке (клетка F6)?
НАЧАЛО
ПОКА<справа свободно ИЛИ снизу
свободно>
ПОКА <снизу свободно>
вниз
КОНЕЦ ПОКА
ПОКА <справа
свободно>
вправо
КОНЕЦ ПОКА
КОНЕЦ ПОКА
КОНЕЦ
№20
Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на
клетчатой плоскости:
вверх вниз влево
вправо
При выполнении этих команд РОБОТ перемещается на одну клетку
соответственно: вверх, вниз, влево, вправо.
Четыре команды проверяют истинность условия отсутствия стены
у той клетки, где находится РОБОТ:
сверху
снизу слева справа
свободно свободно свободно свободно
Цикл
ПОКА <условие> команда выполняется, пока
условие истинно, иначе происходит переход на следующую строку.
Сколько клеток лабиринта соответствуют требованию,
что, выполнив предложенную программу, РОБОТ остановится в той же клетке, с
которой он начал движение? НАЧАЛО
ПОКА <слева свободно> вниз
ПОКА <снизу свободно> вправо
ПОКА <справа свободно> вверх
ПОКА <сверху свободно> влево
КОНЕЦ
№21 Исполнитель
Машинка «живет» в ограниченном прямоугольном лабиринте на
клетчатой плоскости, изображенном на рисунке. Серые клетки – возведенные стены,
светлые – свободные клетки, по которым Машинка может
свободно передвигаться. По краю поля лабиринта также стоит возведенная стенка с
нанесенными номерами и буквами для идентификации клеток в лабиринте.
Система команд исполнителя Машинка:
вверх вниз влево
вправо
При выполнении любой из этих команд Машинка
перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх
↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия
отсутствия стены у каждой стороны той клетки, где находится Машинка
(также по отношению к наблюдателю):
сверху
снизу слева справа
свободно свободно свободно свободно
Цикл
ПОКА < условие > команда выполняется, пока
условие истинно, иначе происходит переход на следующую строку.
При попытке передвижения на любую серую клетку Машинка
разбивается о стенку. Сколько клеток приведенного лабиринта соответствуют
требованию, что, стартовав в ней и выполнив предложенную ниже программу, Машинка
не разобьется?
НАЧАЛО
ПОКА <снизу свободно> вниз ПОКА <справа
свободно> вправо вверх
вправо
КОНЕЦ
Литература и источники:
1.
http://school.xvatit.com/
2.
http://2012.ege-go.ru/
3.
http://ege.yandex.ru/
4.
УМК «Информатика
и ИКТ» для 8 - 9 класс./Семакин И. Г. и др. - М.: Бином, 2012.
5.
УМК «Информатика»
для 5-9 классов (ФГОС), авторы Босова Л. Л., Босова А. Ю. - М.: Бином, 2012.
6.
Информатика 3
кл.: Методическое пособие. /Е.П. Бененсон, А.Г. Паутова— М.: Академкнига,
2007.
7.
Информатика: Учебник7-9
класс общеобразовательных учреждений/А.Г.Кушнеренко, Я.Н.Зайдельман и др. –
М.: Дрофа, 2004
8.
Информатика и
ИКТ, 6 класс, Босова Л.Л. – М.: Бином, 2007.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.