Исполнитель черепашка
Первые шаги
Вначале программист дает черепашке простые приказы, например ВПЕРЕД 100 , что означает «передвинуться вперед на 100 шагов», или НАЛЕВО 60 , т. е. «сделать поворот влево на 60 градусов». Эти команды можно использовать для создания программ, рисующих геометрические фигуры, необходимо только запомнить, что каждая команда пишется на отдельной строке. Передвигаясь по экрану, черепашка оставляет за собой след (по умолчанию цвет кисти у черепахи — ярко зеленый).
Вставлять в программу команды удобно, используя кнопки в левой части экрана.
Шаги черепашки очень маленькие — равны расстоянию между двумя соседними точками на экране, поэтому действие команды «ВПЕРЕД 1» можно и не заметить.
Выполняя команды НАЛЕВО или НАПРАВО, черепашка поворачивается на заданный угол (при этом она считает, что угол задан в градусах). При повороте черепашка остается на месте, не смещаясь ни в какую сторону, меняется только ее направление. Не забывайте, что направление поворота (налево или направо) определяется «с точки зрения» черепашки.
Число или числовое выражение, которое указывает черепашке сколько шагов пройти или на какой угол повернуть, называется аргументом команды. Если аргумент не задан, то черепашка считает его равным нулю.
Запускают программу на выполнение с помощью большой красной кнопки с надписью Выполнить или с помощью клавиши F5 на клавиатуре. Выйти из выполняемой программы, можно с помощью серой кнопки с крестиком в верхнем правом углу окна исполнения или с помщью клавиши Escape на клавиатуре.
Попробуем вместе начертить квадрат. Чтобы заставить черепашку двигаться по квадрату, мысленно проделайте за нее весь путь и опишите получившееся.
Если сторона квадрата будет длиной в 100 черепашьих шагов, можно составить такую последовательность команд:
вперед 100
налево 90
вперед 100
налево 90
вперед 100
налево 90
вперед 100
налево 90
В этой последовательности 4 раза повторяется группа команд ВПЕРЕД 100 НАЛЕВО 90. Чтобы не писать одни и те же команды четыре раза подряд, познакомимся с еще одной командой, которую знает черепашка, — командой ПОВТОРИТЬ . Наша программа, рисующая квадрат, будет выглядеть так :
В фигурных скобках в нужной последовательности записываются те команды, которые необходимо сделать черепашке несколько раз.
Фигурные скобки можно ставить и так:
Для того чтобы увидеть выполнение команд в более медленном режиме, можно воспользоваться командой ПАУЗА , после которой необходимо указать время в миллисекундах. В одной секунде — 1000 миллисекунд. То есть, если мы хотим сделать задержку в полсекунды, следует дать команду пауза 500 .
Теперь подумаем, как нарисовать равносторонний треугольник?
При рисовании равностороннего треугольника черепашка должна нарисовать три одинаковых линии и сделать три одинаковых поворота. При создании программы нам поможет одно простое правило, которое называется «Правило 360 градусов».
Правило 360 градусов
Обратите внимание, что при рисовании квадрата черепашка начинает и заканчивает свой путь в одной и той же точке и смотрит в одну и ту же сторону, т.е. ее начальное и конечное положения совпадают. Рисуя квадрат, она совершает полный оборот, т.е. поворачивается на 360 градусов. Разделив 360 на 4 (равных поворота), мы получим 90 — величину угла поворота. При рисовании треугольника черепашка должна сделать три одинаковых поворота и вернуться в начальное положение. Следовательно, каждый из углов поворота равен 360 : 3 = 120.
Можно легко научить черепашку рисовать правильный пятиугольник. Каждый раз черепашка поворачивается на угол, равный 72 градусам (360:5=72), а повторяет 5 раз. Шестиугольник — 360:6=60, повторяет 6 раз.
А теперь попробуйте нарисовать восьмиугольник и двенадцатиугольник самостоятельно.
Алгоритм для черепахи треугольник
Иногда в задании явно есть одинаковые операции, но применить цикл не удается. Рассмотрим такой рисунок из равносторонних треугольников:
С одной стороны, все треугольники одинаковые, с другой — они расположены так, что нельзя использовать один цикл для всех трех фигур.
Теперь представим себе, что у Черепахи уже есть команда треугольник, которая рисует треугольник и возвращает исполнителя в исходное положение, причем Черепаха должна стоять в углу треугольника и смотреть в ту сторону, в которую она пойдет.
Учтем, что в равносторонних треугольниках все внутренние углы по 60 градусов. Тогда решение может быть записано так:
ТриТреугольника
вправо ( 30 );
треугольник ;
вправо ( 120 ); назад ( 20 ); /* идем ко второму */
треугольник ;
вперед ( 20 ); влево ( 60 ); /* идем к третьему */
вперед ( 40 ); влево ( 60 );
назад ( 20 );
треугольник ;
Если ввести такую программу, то мы получим ошибку «Не понимаю, что такое треугольник». Это и понятно, поскольку такой встроенной команду у Черепахи нет и она не знает, что делать. Поэтому ей надо объяснить, что такое треугольник, написав расшифровку этой команды. Так как внутренние углы равностороннего треугольника равны 60 градусов, Черепаха должна поворачиваться на 180-60=120 градусов.
Треугольник
опусти_перо;
повтори ( 3 )
подними_перо;
Отдельно взятая программа ТриТреугольника работать не будет, однако если к ней добавить текст вспомогательного алгоритма треугольник, то исполнитель сможет ее выполнить.
Процедуры (вспомогательные алгоритмы, подпрограммы) – это новые команды, которые мы добавляем к СКИ исполнителя. Чтобы исполнитель знал, что делать по этой команде, после основной программы надо дать расшифровку процедуры через уже известные исполнителю команды.
Как правильно применять процедуры?
Практические задания
Составить программу с использованием процедуры для рисования:
Использован материал из книги «Алгоритмы и исполнители», автор Поляков К.
Алгоритм для черепахи треугольник
Изучаемые вопросы. Знакомство со средой КуМир. Система команд исполнителя Черепаха. Работа с пультом управления. Редактирование и оптимизация программ.
Используется для бесследного перемещения.
Используется для рисования.
Черепаха перемещается вперёд на Х пикселей
Черепаха перемещается назад на Х пикселей
Черепаха поворачивается направо (по часовой стрелке) на Х градусов
Черепаха поворачивается налево (против часовой стрелки) на Х градусов
Более подробное описание Черепахи вызовите командой верхнего меню,
Задание 1. Используя пульт управления, выполните программу:
• Какую фигуру нарисовала Черепаха?
• Как надо изменить программу, чтобы Черепаха нарисовала ту же самую фигуру, но в два раза больше?
• Как изменится картинка, если все команды «вперед» заменить на команды «назад»?
• Как изменится картинка, если все команды «вправо» заменить на команды «влево»?
Задание 2. Какой длины отрезок нарисует Черепаха при выполнении фрагмента программы:
Упростите программу, записав её минимальным количеством команд.
Задание 3. На сколько пикселей относительно исходного положения сдвинется Черепаха после выполнения программы:
Упростите программу, записав её минимальным количеством команд.
Задание 4. На какой угол вправо повернётся Черепаха после выполнения фрагмента программы:
Упростите эту программу.
Задание 5 . Упростите программу, записав её минимальным количеством команд.
Задание 6. Считая, что сторона одной клетки равна 20 пикселям, с помощью пульта управления нарисуйте ёлку.
Задание 7. С помощью пульта управления нарисуйте произвольный рисунок. Упростите программу.
Измерение изменения положения Черепахи в графическом языке программирования
Черепаха — это графический объект, используемый в обучении программированию. Черепаха движется по экрану и рисует линии, проходя через указанные точки.
Для того, чтобы переместить Черепаху на экране, необходимо указать ее текущие координаты и изменить их на определенное значение. Изменение координат Черепахи в графическом языке программирования производится с помощью команд forward, backward, right, left.
Команда forward
Команда forward перемещает Черепаху вперед на заданное число пикселей. Новые координаты Черепахи рассчитываются на основе ее текущих координат и угла поворота:
Где x_old , y_old — текущие координаты Черепахи, distance — расстояние, на которое необходимо переместить Черепаху, angle — текущий угол поворота Черепахи в градусах.
Команда backward
Команда backward перемещает Черепаху назад на заданное число пикселей. Расчет новых координат производится аналогично команде forward, но с изменением знака расстояния:
Команда right
Команда right поворачивает Черепаху на указанный угол вправо. Угол поворота задается в градусах:
Где angle_old — текущий угол поворота Черепахи, degrees — угол поворота в градусах.
Команда left
Команда left поворачивает Черепаху на указанный угол влево. Расчет нового угла поворота производится аналогично команде right, но с изменением знака угла:
Выводы
Измерение изменения положения Черепахи в графическом языке программирования производится с помощью команд forward, backward, right, left. Эти команды влияют на текущие координаты и угол поворота Черепахи, позволяя перемещать ее по экрану и рисовать линии.
Задание с черепахой егэ информатика кумир
Привет! Сегодня разберём новый тип 6 задания из ЕГЭ по информатике 2023! Добавим недостающий пазл в видеокурс по подготовке к ЕГЭ по информатике.
Так же Вы можете посмотреть разбор 6 задания из ДЕМОВЕРСИИ 2023.
На мой взгляд, на экзамене скорее всего будет задача, похожая именно на демонстрационный вариант. Т.к. это задание нового образца, то выпускникам необходимо привыкнуть к нему.
Вспомним, когда в прошлом году была введена новая формулировка для 3 задания, то на экзамене дали очень похожую задачу на ту, которая была в демоверсии.
Рассмотрим первую тренировочную задачу из 6 задания ЕГЭ по информатике 2023.
Задача (Элегантный способ)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 15 [Вперёд 15 Направо 120]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
В начале нужно понять, какая фигура получится в результате действий Исполнителя Черепахи.
Черепаха идёт вверх на 15 единиц. Потом поворачивает направо на 120 градусов. Потом идёт на 15 единиц по заданному курсу и снова поворачивает на 120 градусов, идёт на 15 единиц ещё и попадает в исходную точку. В итоге получается равносторонний треугольник! Дальнейшие повторения не имеют смысла, т.к. нового больше ничего не нарисуется.
Проведём перпендикуляры от каждой точки с целыми координатами на оси Y внутри треугольника.
Для каждой точки на оси Y мы можем найти этот перпендикуляр. Это и есть искомое количество точек на каждой такой линии, если округлить это значение в меньшую сторону.
Посмотрим, как найти такой перпендикуляр, если точка на оси Y находится до середины стороны. Пусть есть точка (0, yn), а dn — это перпендикуляр для этой точки. Тогда
Для второй половины длины перпендикуляров будут такие же.
Напишем программу на Питоне, которая подсчитает все точки.
Нам необходимо взять первые 7 точек, дальше ситуация симметричная. Пишем в цикле for 8, потому что последнее число не проходится в Питоне.
Вычисляем по формуле длину каждого перпендикуляра. Тангенс вычисляется с помощью функции math.tan. Для неё нужна математическая библиотека math. Функция должна получить градусы в радианах, поэтому ей передаём π /3 = 60 o .
В цикле суммируем все точки для каждой линии. Результат нужно умножить на 2, чтобы учесть вторую половину треугольника.
Задача(Считаем точки вручную)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 16 [Налево 36 Вперёд 4 Налево 36]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии следует учитывать.
В это задачке достаточно не просто составить уравнения прямых полученной фигуры. В таких случаях можно попробовать вручную посчитать точки с помощью известной программы Кумир от НИИСИ РАН. Скачать её можно с официального сайта НИИСИ РАН.
Вероятно, это программа окажется на компьютере на экзамене.
Запустим программу Кумир-Стандарт. В начале нужно подключить модуль Черепаха.
После того, как модуль Черепаха подключён, можно написать программу на языке Кумир.
В начале нужно подключить модуль Черепаха. Слово алг обозначает начало алгоритма. Слово нач — это начало программы.
Опускаем хвост у Черепахи. Цикл пишем с помощью команды нц — начало цикла. Команда кц — это конец цикла. Команда влево — это аналог команды Налево (видим, что эти команды пишутся по-разному). Аналогично есть команда вправо в программе Кумир. Команда вперед пишется без буквы ё.
После того, как алгоритм перенесли в программу Кумир, запускаем программу, нажав на кнопку F9 (или кнопка плей в виде треугольника).
После этого появится окно в правом нижнем углу. Это окно можно расширить до приемлемых размеров, чтобы нам было удобно анализировать рисунок.
Необходимо настроить масштабирование на 1.
После этого можно сделать скриншот и перенести рисунок в программу Paint, где и посчитать точки вручную.
Получается в ответе 31 точка. Обратите внимание, что в этой задачи просили подсчитать точки, которые находятся на линиях в том числе.
Даже если нет программы Кумир, можно подсчитать точки вручную через Python. Напишем программу.
Программа выведет такую картину.
В программе подключаем модуль turtle. В начале повернём Черепаху на 90 градусов налево, с помощью команды left. Это делается из-за того, в Python Черепаха смотрит вдоль положительного направления оси абсцисс.
Далее идёт цикл, который указан в задаче. Он должен повторится 16 раз. Внутри цикла пишем программу для Черепахи. Команда left() — поворот налево (аналогично right() — поворот направо), команда forward() — это движение верёд.
4 единицы внутри команды forward() умножаются на 40. Число 40 — это коэффициент размера нашего рисунка. Попробуйте «поиграть» с этим числом, чтобы посмотреть эффект уменьшения или увеличения рисунка.
Команда penup() позволяет поднять кисть, чтобы проставить точки, которые будут символизировать точки с целыми координатами.
Далее идут вложенные циклы, с помощью них мы проставим точки с целыми координатами. Выбираем диапазон, чтобы наша фигура точно уместилась.
Команда setpos() ставим точки. Умножаем координаты x и y на тот же коэффициент, что использовали ранее.
Команда dot() устанавливает жирность и цвет точки.
Задача (Составляем уравнения)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда 1 Команда 2 … Команда S] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Вперёд 100 Направо 90 Вперёд 100 Направо 30 Опусти Повтори 10 [Вперёд 25 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Нарисуем общий рисунок.
Здесь уже не очень удобно пользоваться элегантным способом. Составим уравнения прямых, которые образуют квадрат. Общий вид уравнения прямой выглядит так:
y=k*x+b
Коэффициент k — это тангенс угла наклона α к оси X ( 0 ≤ α < π , но α ≠ π /2). Число b — это смещение прямой по оси Y относительно нуля.
Для прямой AE k1=tan(60 o )=√3. Так же она проходит через точку (100, 100).
Найдём число b. Подставим в общее уравнение координаты точки (100, 100):
y = k*x+b = √3*100 + b = 100
b=100*(1 — √3)
Получается уравнение прямой AE:
Найдём на сколько смещена FC по оси Y относительно AE.
cos(60 o ) = 25 (сторона квадрата) / AB
AB = 25 / cos(60 o ) = 25 / 0,5 = 50
Получается, что уравнение для прямой FC:
Для прямой EC k2=-tan(30 o ) = — √3/3. Эта прямая тоже проходит через точку (100, 100). Подставим эти координаты в уравнение и найдём b.
y = (-√3/3) * x + b = (-√3/3) * 100 + b = 100
b = 100(1 + √3/3)
Тогда уравнение для прямой EC получается:
y = (-√3/3) * x + 100(1 + √3/3)
Найдём на сколько смещена прямая AF относительно EC по оси Y.
cos(30 o ) = 25 (длина стороны) / CD
CD = 25 / cos(30 o ) = 25 / (√3/2) = 50/√3
Тогда для прямой AF:
y = (- √3/3) * x + 100(1 + √3/3) — 50/√3
Пробежимся с помощью Питона для переменной x от 0 до 150. Для переменной y от 0 до 100. Чтобы получить точку, используем вложенные циклы!
Точки, которые лежат в квадрате должны удовлетворять следующим условиям:
Точки должны быть ниже прямых AE и EC, но выше AF и FC
Проверить выше или ниже некоторая точка M(xm, ym), чем прямая y=k*x+b, можно следующим образом:
Если ym > k*xm + b, то точка лежит выше прямой.
Если ym < k*xm + b, то точка лежит ниже прямой.
Данный принцип и был использован в программе.
Задача (Закрепление)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда 1 Команда 2 … Команда S] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 21 [Вперёд 31 Направо 60]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Копирование прямо
Решение:
Попробуем понять, какая фигура получится в итоге.
Получается правильный шестиугольник. Угол ∠СВА = 120 o . Как раз угол правильного n-угольника равен (n-2)*180 o /n. Для шестиугольника получается (6-2)*180 o /6 = 120 o .
Будем решать методом составления уравнений.
Рассмотрим прямую BC. Если провести от точки B прямую параллельную оси X, то мы увидим, что угол наклона прямой BC равен 30 o .
y = tan(30 o )*x + 31
y = (√3/3) * x + 31
Прямая DC имеет угол наклона -30 o к оси X. Она расположена выше, чем BC на МВ. Треугольник BCM равносторонний. Значит, МВ=31. Тогда уравнение для DC будет:
Уравнение для AF будет:
Прямая EF имеет угол наклона 30 o относительно оси X. Смещена она вниз на AP. Треугольник AFP так же является равносторонним. Следовательно, AP = 31. Тогда для EF получается:
Прямая AB это x=0. Найдём так же ED.
cos(30 o ) = BQ / BC
BQ = BC * cos(30 o )
BQ = 31 * (√3/2)
BD = 2 * BQ = 2 * 31 * (√3/2) = 31 * √3
Значит, уравнение для ED: x = 31 * √3.
Когда уравнения готовы, можно написать программу.
Точки должны быть ниже прямых BC и CD, но выше прямых AF и EF. Так же координаты x должны быть 0 < x < 31 * √3.
Важно не забыть для y пробежаться и по отрицательным значениям, т.к. фигура находится меньше оси X.
Ответ: 2476
На сегодня всё. Удачи при решение 6 задания из ЕГЭ по информатике 2023.
Зачем это делать? Авторы задания предполагают, что ученики просто воспользуются КуМир и все там получат.
В Кумире не удобно считать.
Пройти тестирование по 10 заданиям
Пройти тестирование по всем заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Повтори 7 [Вперёд 10 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Источник: Демонстрационная версия ЕГЭ−2023 по информатике
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и
его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 5 [Вперёд 9 Направо 120]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 4 [Вперёд 14 Направо 120]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 8 [Вперёд 6 Направо 120]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись
Повтори k [Команда1 Команда2 … КомандаS]
означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм:
Повтори 4 [Вперёд 10 Направо 90]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Пройти тестирование по этим заданиям
Исполнитель ‹‹Черепаха››
1. Использование исполнителя
Исполнитель ‹‹Черепаха›› входит в Вашу поставку Кумир, но его функции не являются частью языка программирования. Для его использования необходимо в программе явно указать использование данного исполнителя:
использовать Черепаха
теперь функции черепахи доступны для использования в программе
2. Команды действий
-
поднять хвост
алг поднять хвост
алг опустить хвост
алг вперед(цел а)
алг назад(цел а)
алг влево(цел угол)
алг вправо(цел угол)
Задание 6 (ИНФ-11 ЕГЭ 2023_ДЕМО)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды:
Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Повтори 7 [Вперёд 10 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение:
В нашей задаче черепаха двигается всего на 10 шагов, поэтому достаточно будет просто посчитать точки с целыми координатами внутри нашего треугольника, но если шагов будет больше этот вариант для решения не подходит. Поэтому попробуем написать программу, которая поможет нам посчитать точки при любом варианте шагов.
Вспомним график линейной функции
Ответ: 38
Характеристика задания
1. Тип ответа: числовой.
2. Структура содержания задания: дана текстовая задача, нужно выполнить приведённый алгоритм.
3. Уровень сложности: базовый.
4. Примерное время выполнения: (4) минуты.
5. Количество баллов: (1).
6. Требуется специальное программное обеспечение: да.
7. Задание проверяет умение определять возможные результаты работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов.
Пример задания из демоверсии (2023)
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова расположена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды: Вперёд (n) (где (n) — целое число), вызывающая передвижение Черепахи на (n) единиц в том направлении, куда указывает её голова, и Направо (m) (где (m) — целое число), вызывающая изменение направления движения на (m) градусов по часовой стрелке.
Запись Повтори (k) [Команда(1) Команда(2)… Команда(S)] означает, что последовательность из (S) команд повторится (k) раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори (7) [Вперёд (10) Направо (120)].
Определи, сколько точек с целочисленными координатами будет находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Для решения задания используется КуМир, исполнитель Черепаха.
Разберём каждый шаг алгоритма.
Команда
Что выполняет
алг
нач
Полностью алгоритм выглядит так:
Рис. (1). Алгоритм в КуМир
Результат работы алгоритма
Посчитав внимательно точки внутри контура, не учитывая те, что находятся на линиях, получаем ответ: 38 .
Рис. 1. Алгоритм в КуМир. © ЯКласс.
Рис. 2. Результат. © ЯКласс.
ВАРИАНТ 1
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Вперед 100 Направо 90 Вперед 100 Направо 30 Опусти
Повтори 10 [Вперёд 25 Направо 90].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
for x in range(75,125):
for y in range(50,100):
if (k*x + (1-k)*100 — 50) < y < (k*x + (1-k)*100) and (-x/k + (1+1/k)*100 — 50/k) < y < (-x/k + (1+1/k)*100):
count +=1
Ответ: 625
ВАРИАНТ 2
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Вперед 100 Направо 90 Вперед 100 Направо 45 Опусти
Повтори 10 [Вперёд 30 Направо 90].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
for x in range(50,150):
for y in range(50,100):
if x — 30 * 2**0.5 < y < x and -x + 200 — 30*2**0.5 < y < -x+ 200:
count +=1
Ответ: 882
ВАРИАНТ 3
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Вперед 100 Направо 90 Вперед 100 Направо 30 Опусти
Повтори 10 [Вперёд 30 Направо 90 Вперёд 40 Направо 90 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Решение аналогично первому варианте, но:
смещение второй прямой равно 30 : Sin 30o = 30 : 1/2 = 60
смещение четвертой прямой равно 40 : Сos 30o = 40 : √3/2 = 80/√3
count = 0
k = 3**0.5
for x in range(50,150):
for y in range(50,100):
if (k*x + (1-k)*100 — 60) < y < (k*x + (1-k)*100) and (-x/k + (1+1/k)*100 — 80/k) < y < (-x/k + (1+1/k)*100):
count +=1
Ответ: 1200
ВАРИАНТ 4
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Вперед 100 Направо 90 Вперед 100 Направо 45 Опусти
Повтори 10 [Вперёд 30 Направо 90].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Решение аналогично второму варианту, но:
смещение второй прямой равно 20 : Sin 45o = 20 : 1/√2 = 20√2
for x in range(50,150):
for y in range(50,100):
if x — 20 * 2**0.5 < y < x and -x + 200 — 30*2**0.5 < y < -x+ 200:
count +=1
Ответ: 588
ВАРИАНТ 5
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 11 [Вперёд 111 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
k = 3**0.5
for x in range(1,120):
for y in range(1,120):
if x/k < y < -x/k + 111:
count +=1
Ответ: 5280
ВАРИАНТ 6
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 10 [Вперёд 123 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Решение аналогично варианту 5.
count = 0
k = 3**0.5
for x in range(1,120):
for y in range(1,123):
if x/k < y < -x/k + 123:
count +=1
Ответ: 6488
ВАРИАНТ 7
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 21 [Вперёд 31 Направо 60].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
for x in range(1,54):
for y in range(-31,47):
if -x/k < y < x/k + 31 and x/k -31 < y < -x/k + 62:
count +=1
Ответ: 2476
ВАРИАНТ 8
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 18 [Вперёд 19 Направо 60].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Решение аналогично варианту 7.
count = 0
k = 3**0.5
for x in range(1,33):
for y in range(-19,29):
if -x/k < y < x/k + 19 and x/k -19 < y < -x/k + 38:
count +=1
Ответ: 922
ВАРИАНТ 9
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Направо 30 Повтори 10 [Вперёд 30 Направо 60 Вперед 30 Направо 120].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
count = 0
k = 3**0.5
for x in range(1,45):
for y in range(1,26):
if k*x -30*k < y < k*x:
count +=1
Ответ: 750
ВАРИАНТ 10
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм:
Повтори 10 [ Направо 120 Вперед 12 Направо 60 Вперёд 12 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
count = 0
k = 3**0.5
for x in range(1, 11):
for y in range(-18,0):
if -1/k*x — 12 < y < -1/k*x:
count +=1
Ответ: 120
ВАРИАНТ 11
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 180 Вперед 2 Направо 90 Вперед 30 Направо 90 Вперед 2 Направо 30 Повтори 6 [ Вперед 5 Направо 120 Вперед 5 Направо 240 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Рисунок получился небольшой, сетка 1:1, в каждой из 5-ти областей — треугольнике и части прямоугольника по 17 точек, в последнем — 16. Получим 17* 5 + 16 = 101.
Ответ: 101
ВАРИАНТ 12
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 10 Вперед 4 Направо 90 Вперед 48 Направо 90 Вперед 4 Направо 30 Повтори 8 [ Вперед 6 Направо 120 Вперед 6 Направо 240 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
В каждом треугольнике 49 точек. Всего 8*40 = 320.
Ответ: 320
ВАРИАНТ 13
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 60 Повтори 4 [ Вперед 8 Направо 120 Вперед 4 Направо 240 ]
Направо 120 Вперед 2 Направо 90 Вперед 16√3 Направо 90 Вперед 2 .
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Фигура небольшая, поэтому самый быстрый способ, это увеличить масштаб в КУмире и посчитать точки с целочисленными координатами.
Ответ: 91
ВАРИАНТ 14
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 60 Повтори 3 [ Вперед 10 Направо 120 Вперед 5 Направо 240 ]
Направо 120 Вперед 3 Направо 90 Вперед 15√3 Направо 90 Вперед 3 .
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Ответ: 125
ВАРИАНТ 15
Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает ее клюв; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r,a,b,α (где r,a,b,α — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (х,y) по дуге окружности с центром (x + a, y + b) и радиусом r, градусная мера дуги равна α, движение по дуге идет по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Цапле был дан для исполнения следующий алгоритм: Направо 180 Вперед 2 Направо 90 Вперед 80 Направо 90 Вперед 2 Повтори 8 [Дуга 5, 5, 0, 180 ] .
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
В каждой области 48 точек и 7 между границами. Получим 48* 8 + 7 = 391.
Ответ: 391
ВАРИАНТ 16
Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает ее клюв; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r,a,b,α (где r,a,b,α — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (х,y) по дуге окружности с центром (x + a, y + b) и радиусом r, градусная мера дуги равна α, движение по дуге идет по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Цапле был дан для исполнения следующий алгоритм: Направо 180 Вперед 3 Направо 90 Вперед 48 Направо 90 Вперед 3 Повтори 6 [Дуга 4, 4, 0, 180 ] .
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
В каждой области 40 точек и 10 между границами. Получим 40*6 + 10 = 250.
Ответ: 250
ВАРИАНТ 17
Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает ее клюв; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r,a,b,α (где r,a,b,α — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (х,y) по дуге окружности с центром (x + a, y + b) и радиусом r, градусная мера дуги равна α, движение по дуге идет по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Цапле был дан для исполнения следующий алгоритм: Повтори 7
[ Дуга 4, 0, 4, 180
Дуга 4, 4, 0, 180
Дуга 4, 0, -4, 180
Дуга 4, -4, 0, 180 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Получим, четыре полуокружности, в каждой по 19 точек, и квадрат без углов, ( 9*9 — 4 = 77 точек). Всего 153.
Ответ: 153
ВАРИАНТ 18
Исполнитель Цапля действует на плоскости с декартовой системой координат. В начальный момент Цапля находится в начале координат, её клюв направлен вдоль положительного направления оси ординат, клюв опущен. При опущенном клюве Цапля оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n — целое число), вызывающая передвижение Цапли на n единиц в том направлении, куда указывает ее клюв; Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Дуга r,a,b,α (где r,a,b,α — целые числа), вызывающая передвижение Цапли из текущей точки с координатами (х,y) по дуге окружности с центром (x + a, y + b) и радиусом r, градусная мера дуги равна α, движение по дуге идет по часовой стрелке.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Цапле был дан для исполнения следующий алгоритм:
Направо 180 Вперед 3
Направо 90 Вперед 48
Направо 90 Вперед 3
Повтори 7
[ Дуга 4, 0, 4, 180
Дуга 4, 4, 0, 180
Дуга 4, 0, -4, 180
Дуга 4, -4, 0, 180 ]
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Если я правильно поняла задание, то замкнутой области не получится…
Ответ: ?
ВАРИАНТ 19
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 300 Повтори 8 [ Вперед 10 Направо 120 Вперед 10 Направо 330 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Рисунок получился небольшой, сетка 1:1, 5 областей — 4 треугольника по 47 точек и квадрат посередине из 81 точки.
Получим 47* 4 + 81 = 269.
Ответ: 269
ВАРИАНТ 20
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост поднят. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n — целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке; Опусти, принуждающая Черепаху опустить хвост.
Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.
Черепахе был дан для исполнения следующий алгоритм: Направо 300 Повтори 6 [ Вперед 5 Направо 120 Вперед 5 Направо 330 ].
Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
Решение и ответ
Рисунок получился небольшой, сетка 1:1, 5 областей — 4 треугольника по 12 точек и квадрат посередине из 16 точек.
Получим 12* 4 + 16 = 64.
Ответ: 64
Добавить комментарий
Занятие 1. Знакомство с Черепахой
Занятие 1. Знакомство с Черепахой
Изучаемые вопросы. Знакомство со средой КуМир. Система команд
исполнителя Черепаха. Работа с пультом управления. Редактирование и оптимизация программ.
Исполнитель: Черепаха
Среда исполнителя. Черепаха живёт на квадратном поле со стороной 500 пикселей. Поле ограничено рвом с водой. Черепаха может перемещаться по полю, но не может его покинуть. Черепаха рисует кончиком хвоста, перемещаясь вперёд или назад на указанное количество пикселей. Поворот Черепахи происходит относительно кончика хвоста либо по часовой стрелке (команда вправо ), либо против часовой стрелки (команда влево ) на указанное количество градусов. При запуске исполнителя (команда верхнего меню Миры → Черепаха ) Черепаха находится в центре поля, хвост опущен, смотрит вниз.
Система команд исполнителя
Комментарии
Используется для бесследного перемещения.
Используется для рисования.
Черепаха перемещается вперёд на Х пикселей
Черепаха перемещается назад на Х пикселей
Черепаха поворачивается направо (по часовой стрелке) на Х градусов
Черепаха поворачивается налево (против часовой стрелки) на Х градусов
Для непосредственного управления Черепахой
используют пульт управления
(команда верхнего меню Миры
→ Черепаха → Пульт)
Чтобы скрыть изображение Черепахи, надо щёлкнуть
по ней мышью. Второй щелчок возвращает Черепаху на поле.
Более
подробное описание Черепахи вызовите командой верхнего меню,
дополнительную информацию получите по ссылке https://www.niisi.ru/kumir/meth.htm
Задание 1. Используя пульт
управления, выполните программу:
•
Какую фигуру нарисовала Черепаха?
•
Как надо изменить программу, чтобы Черепаха нарисовала ту же самую фигуру, но в
два раза больше?
•
Как изменится картинка, если все команды «вперед» заменить на команды «назад»?
•
Как изменится картинка, если все команды «вправо» заменить на команды «влево»?
Задание 2. Какой длины
отрезок нарисует Черепаха при выполнении фрагмента программы:
Упростите
программу, записав её минимальным количеством команд.
Задание 3. На сколько
пикселей относительно исходного положения сдвинется Черепаха после выполнения
программы:
Упростите
программу, записав её минимальным количеством команд.
Задание 4. На какой угол
вправо повернётся Черепаха после выполнения фрагмента программы:
Упростите
эту программу.
Задание 5 . Упростите
программу, записав её минимальным количеством команд.
Задание 6. Считая, что
сторона одной клетки равна 20 пикселям, с помощью пульта управления нарисуйте ёлку.
Задание 7. С помощью пульта управления нарисуйте
произвольный рисунок. Упростите программу.
Задачи на умение исполнить алгоритм для конкретного исполнителя
Задача 1. Исполнитель Чертежник
В задаче необходимо определить, какой одной командой можно заменить заданный алгоритм, чтобы Чертежник оказался в той же точке, что и после выполнения алгоритма.
Найдем смещения Чертежника по осям x и y. Команда Повтори 3 раз означает, что команды Сместиться на (-2, -3), Сместиться на (3, 2) и Сместиться на (-4, 0) выполнятся три раза. Получаем смещения для x и y:
x = 3*(–2 + 3 – 4) = –9
y = 3*(–3 + 2 + 0) = –3
алгоритм можно заменить командой Сместиться на (–9, –3) – это ответ 1.
Ответ: 1.
Задача 2. Исполнитель Чертежник
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.
Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Повтори k раз
Команда1 Команда2 КомандаЗ
означает, что последовательность команд Команда1 Команда2 КомандаЗ повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 2 раз
Команда1 Сместиться на (3, 2) Сместиться на (2, 1) Конец
Сместиться на (−6, −4)
После выполнения этого алгоритма Чертёжник вернулся в исходную точку. Какую команду надо поставить вместо команды Команда1?
1) Сместиться на (−2, −1)
2) Сместиться на (1, 1)
3) Сместиться на (−4, −2)
4) Сместиться на (2, 1)
В задаче необходимо определить, какую команду необходимо вставить в алгоритм, чтобы Чертежник вернулся в исходную точку.
Если Чертежник возвращается в исходную точку смещения по x и по y равны 0. Команда Повтори 2 раз означает, что команды Сместиться на (3, 2) и Сместиться на (2, 1) выполнятся два раза. Для нахождения смещений по осям x и y, нужно сумму значений координат x и y умножить на 2 и приравнять к 0. Первую координату команды 1 заменим на x1, а вторую на y1. После цикла стоит команда Сместиться на (−6, −4). Т.к. эта команда стоит вне цикла, то значения координат прибавляем уже к полученным произведениям. Получаем:
Смещение x = 2*(x1 + 3 + 2) – 6 = 0
Смещение y = 2*(y1 + 2 +1) – 4 = 0
Мы получили систему из двух уравнений, которую необходимо решить:
Получается команда Сместиться на (–2, –1) – это ответ 1.
Задача 3. Исполнитель Чертежник.
Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду Сместиться на (a, b) (где a, b — целые числа), перемещающую Чертёжника из точки с координатами (x, у) в точку с координатами (x + а, у + b). Если числа a, b положительные, значение соответствующей координаты увеличивается; если отрицательные, уменьшается.
Например, если Чертёжник находится в точке с координатами (4, 2), то команда Сместиться на (2, −3) переместит Чертёжника в точку (6, −1).
Повтори k раз
Команда1 Команда2 Команда3
означает, что последовательность команд Команда1 Команда2 Команда3 повторится k раз.
Чертёжнику был дан для исполнения следующий алгоритм:
Сместиться на (1,3)
Повтори 4 раза
Сместиться на (0,2) Сместиться на (3,1) Сместиться на (–4,–4)
Сместиться на (a,b)
Найдите такие числа a и b, при которых после выполнении программы Чертежник возвратится в исходную точку. В ответе укажите сумму этих чисел.
Запишем выражения для нахождения смещений по осям x и y.
Сначала идет команда Сместиться на (1,3). Эта команда вне цикла и выполняется она 1 раз. К значениям координат этой команды будем прибавлять значения следующих координат.
Далее идет цикл Повтори 4 раза. Следовательно команды Сместиться на (0,2) Сместиться на (3,1) Сместиться на (–4,–4) выполняются 4 раза, т.е. сумму значений координат этих команд нужно умножить на 4.
Далее идет команда Сместиться на (a,b). Она тоже находится вне цикла, поэтому и выполняется она 1 раз. Добавим значения ее координат к полученной сумме.
Так как Чертежник в результате выполнения алгоритма возвращается в исходную точку, то смещения по осям x и y равны 0.
В результате получаем следующие выражения для смещений по осям x и y:
Смещение x = 1 + 4*(0 + 3 – 4) + a = 0
Смещение y = 3 + 4*(2 + 1 – 4) + b = 0
Выполняем арифметические операции и находим значения a и b:
Сумма a + b = 3 + 1 = 4
Ответ: 4.
Задача 4. Исполнитель Чертежник.
Сначала найдем смещения Чертежника после выполнения заданного алгоритма.
Смещение x = –3 + 2*(1 – 3 + 0) = –7
Смещение y = 1 + 2*(1 + 2 – 4) = –1
Чертежник сместился по оси x на –7, а по оси y на –1. Чтобы ему вернуться в исходную точку, Чертежнику необходимо выполнить команду Сместиться на (7, 1) – это ответ 4.
Задача 5. Исполнитель Черепашка.
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперед(n) (где n — целое число), вызывающая передвижение Черепашки на n шагов в направлении движения; Направо (m) (где m — целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках необходимо повторить k раз.
Решение задачи:
В результате выполнения заданного алгоритма Черепашка нарисует 6 отрезков длины 50 единиц, расположенных под углом 60 градусов друг к другу.
Полный круг Черепашки составляет 360 градусов. Разделим 360 : 60 = 6 – такое количество повторов необходимо Черепашке, чтобы нарисовать правильный 6-угольник. В заданном алгоритме 6 повторов. Поэтому Черепашка нарисует правильный 6-угольник – это ответ 1.
Замечание: Если бы в алгоритме было повторов меньше 6, получилась бы незамкнутая ломаная линия, а если повторов больше необходимых 6, получится все равно правильный 6-угольник, просто по некоторым линиям Черепашка пройдет несколько раз.
такой рисунок получится, если в цикле 4 повтора
Задача 6. Исполнитель Черепашка.
Решение:
360 : 72 = 5 – такое количество повторов необходимо Черепашке, чтобы при выполнении заданного алгоритма получился бы правильный многоугольник.
В заданном алгоритме 6 повторов – Черепашка нарисует правильный
5-угольник и по одной из линий пройдет два раза.
Задача 7. Исполнитель Черепашка.
Решение: 360 : 60 = 6 – такое количество повторов необходимо Черепашке, чтобы при выполнении заданного алгоритма получился бы правильный многоугольник. В алгоритме только 5 повторов, поэтому Черепашка не дорисует многоугольник и получится незамкнутая ломаная линия.
Задача 8. Исполнитель Черепашка.
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.
Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 10 [Направо 36 Вперед 20 Направо 36]
Какая фигура появится на экране?
1) Правильный пятиугольник
2) Правильный шестиугольник
3) Правильный десятиугольник
4) Незамкнутая ломаная линия
Черепашка выполняет поворот на 36 градусов 2 раза внутри одного цикла, поэтому можно сложить 36 + 36 = 72 – это угол поворота Черепашки в заданном алгоритме.
360 : 72 = 5 — такое количество повторов необходимо Черепашке, чтобы при выполнении заданного алгоритма получился бы правильный многоугольник.
В заданном алгоритм 10 повторов – этого количества повторов хватает для того, чтобы Черепашка нарисовала правильный многоугольник. По некоторым линиям Черепашка пройдет несколько раз. Т.к. количество повторов равно 5, то в результате работы заданного алгоритма Черепашка нарисует правильный 5-угольник – это ответ 1.
Задачи для самостоятельного решения
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.
Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.
Черепашке был дан для исполнения следующий алгоритм:
Повтори 4 [Вперед 20 Направо 120]
Какая фигура появится на экране?
1) правильный треугольник
3) правильный шестиугольник
4) незамкнутая ломаная линия
Исполнитель Черепашка перемещается на экране компьютера, оставляя след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существуют две команды:
Вперед n (где n – целое число), вызывающая передвижение Черепашки на n шагов в направлении движения.
Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке.
Запись Повтори k [Команда1 Команда2 Команда3] означает, что последовательность команд в скобках повторится k раз.
Учебные исполнители Робот, Удвоитель и др. как примеры формальных исполнителей.
Представьте себе клетчатое поле (как лист из тетради в клеточку) на котором находится некий объект, который мы назовем Робот. Используя специальные команды, мы можем этим Роботом управлять — перемещать его по клеткам, закрашивать клетки. И в большинстве случаев наша задача будет заключаться в том, чтобы написать такую программу для Робота, выполняя которую он будет закрашивать определенные клетки.
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку . Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Стартовая обстановка 1
Стартовая обстановка 2
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения
- чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
- чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
- чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
- чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl
После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить (Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
вверх
влево
вправо
закрасить
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните «Показать окно Робота» или в меню Робот выберите пункт “Показать окно Робота”. Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
использовать Робот
алг Квадрат
нач
закрасить
вправо
закрасить
вправо
закрасить
вниз
закрасить
вниз
закрасить
влево
закрасить
влево
закрасить
вверх
закрасить
кон
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц <количество повторений> раз
Здесь мы должны указать количество повторений (число) и команды, которые будут повторяться. Команды, которые повторяются в цикле называют телом цикла.
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
использовать Робот
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
пока не устал
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
сверху свободно
снизу свободно
слева свободно
справа свободно
сверху стена
снизу стена
слева стена
справа стена
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
«Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
использовать Робот
нц пока справа свободно
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Знакомство с Черепахой
Исполнитель: Черепаха
Комментарии
Используется для бесследного перемещения.
Используется для рисования.
Черепаха перемещается вперёд на Х пикселей
Черепаха перемещается назад на Х пикселей
Черепаха поворачивается направо (по часовой стрелке) на Х градусов
Черепаха поворачивается налево (против часовой стрелки) на Х градусов
Более подробное описание Черепахи вызовите командой верхнего меню,
Задание 1. Используя пульт управления, выполните программу:
• Какую фигуру нарисовала Черепаха?
• Как надо изменить программу, чтобы Черепаха нарисовала ту же самую фигуру, но в два раза больше?
• Как изменится картинка, если все команды «вперед» заменить на команды «назад»?
• Как изменится картинка, если все команды «вправо» заменить на команды «влево»?
Задание 2. Какой длины отрезок нарисует Черепаха при выполнении фрагмента программы:
Упростите программу, записав её минимальным количеством команд.
Задание 3. На сколько пикселей относительно исходного положения сдвинется Черепаха после выполнения программы:
Упростите программу, записав её минимальным количеством команд.
Задание 4. На какой угол вправо повернётся Черепаха после выполнения фрагмента программы:
Упростите эту программу.
Задание 5. Упростите программу, записав её минимальным количеством команд.
Задание 6. Считая, что сторона одной клетки равна 20 пикселям, с помощью пульта управления нарисуйте ёлку.
Задание 7. С помощью пульта управления нарисуйте произвольный рисунок. Упростите программу.