Как составить алгоритм раскраски клеток

Придумать алгоритм раскраски клеток.

Придумать алгоритм раскраски клеток?

Вы открыли страницу вопроса Придумать алгоритм раскраски клеток?. Он относится к категории
Информатика. Уровень сложности вопроса – для учащихся 1 – 4 классов.
Удобный и простой интерфейс сайта поможет найти максимально исчерпывающие
ответы по интересующей теме. Чтобы получить наиболее развернутый ответ,
можно просмотреть другие, похожие вопросы в категории Информатика,
воспользовавшись поисковой системой, или ознакомиться с ответами других
пользователей. Для расширения границ поиска создайте новый вопрос, используя
ключевые слова. Введите его в строку, нажав кнопку вверху.

Придумать алгоритм раскраски клеток


0 голосов


41 просмотров

Придумать алгоритм раскраски клеток


image


  • придумать
  • алгоритм
  • раскраски
  • клеток
  • 1 – 4 классы
  • информатика








Информатика


Сан1231_zn


17 Апр, 18


|

41 просмотров





Дан 1 ответ


0 голосов

Я хотела рисунок добавить но не могу ну ты понила








Vi35550_zn


17 Апр, 18



0

прости






оставил комментарий

Vi35550_zn


17 Апр, 18



Похожие задачи

  • Очень массовым получился забег под лозунгом «За здоровый образ жизни», проходивший в…
  • Информатика. 5 класс. Одна из возможных форм курсора.
  • Как называется самка гуся
  • Определить количество целых чисел кратных 3 дающих в сумме число превышающее 200
  • Помогите по информатике!!!

Конспект
урока по информатике на тему: Исполнитель алгоритмов Мышка-художник. Урок 21.

Цель:

1. Ввести понятие адреса клетки.

2. Познакомить с новым формальным
исполнителем алгоритмов — Мышкой художником.

3. Продолжить формирование умений самостоятельной
работы.

Используемый материал учебника:
задания 17—20.

Задание 17

Продолжи последовательности: 0, 3, 6, 9.
а, в, д, ё, з.

Каждый следующий член первой
последовательности на 3 больше предыдущего. Следовательно, после числа 9 надо
записать число 12 (оно на 3 больше чем 9). Во второй последовательности
пропущена каждая вторая буква алфавита. Поэтому после буквы з следующим членом последовательности
будет й (между з и й стоит одна буква — и).

Уделите внимание объяснениям учеников, в
них должны быть слова «следующий член последовательности», «предыдущий член
последовательности».

Задание 18

В Компьютерной Долине живёт маленькая
мышка. Её так и зовут – Мышка. Она умеет различать цвета и находить клетки по
адресам. Найденную клетку она раскрашивает в заданный цвет. Мышка сидит в
клетке с адресом (6, 4). Это значит, что клетка находится в шестом столбце и
четвёртой строке.

Я рассказываю о маленькой мышке, которая
умеет различать цвета и находить клетки по их адресам. Затем обращаюсь к ученикам:
«Посмотрите: Мышка сидит в клетке с адресом (6, 4). Что это означает: адрес (6,
4)?». Если дети не могут ответить, как формируется данный адрес, записываю его
вместе с ними примерно так:

— в каком столбце находится клетка с
Мышкой?

— в шестом. (Записываю на доске число 6.)

— будем отделять в адресе клетки номер
столбца от номера строки с помощью запятой. (ставлю запятую после числа 6.)

— в какой строке находится клетка с
Мышкой?

— в четвертой. (пишу после запятой число
4.)

— каких знаков не хватает?

— Скобок. (Записываю скобки слева от 6 и
справа от 4.)

Потом прошу кого-нибудь из детей записать
на доске адрес клетки, которая находится в 7 м столбце и 3 й строке.

а. Я прошу поставить точку в клетку (2,
5). Проверяю выполнение. Если клетку нашли все, предлагаю раскрасить ее. Если нет
— класс под моим руководством создает алгоритм поиска клетки. Если детям никак
не удается составить алгоритм, один из учеников выполняет на доске алгоритм из
учебника.

b. дети самостоятельно раскрашивают клетку
(5, 2).

Задание 19.

Мышка-художник.

Выполни алгоритм вместе с мышкой. Раскрась
каждую клетку, заданную адресом, в указанный цвет.

Выполняется на компьютере (в программе
«Мышка-художник») или в учебнике.

Если ученики раскрашивают клетки в
учебнике, пусть они по очереди прокомментируют выполнение 3–5 шагов (примерно
так: «Выполняю шаг № 1 алгоритма. Клетку с адресом (4, 2) надо раскрасить в
зеленый цвет. Она находится в четвертом столбце и второй строке»), а затем
продолжат работу самостоятельно.

Задание 20

Придумай рисунок для Мышки-художника.

Составь алгоритм раскраски клеток

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

При использовании компьютеров выполнение
задания можно проверить следующим образом.1 Прошу детей обменяться тетрадями и выполнить
чужие алгоритмы в программе «Мышка художник». Если на экране получится тот же
рисунок, что в учебнике автора рисунка, значит алгоритм записан правильно (и
исполнен другим учеником тоже правильно). При несовпадении рисунков сделать
вывод, кто из детей ошибся, нельзя. Следует собрать работы на проверку.

В математике и информатике часто встречаются случаи, когда сложная задача включает в себя две или более простых задачи. При этом чаще всего решить несколько простых задач проще, чем одну сложную.

Рассмотрим на примере исполнителя Робот из Комплекта Учебных Миров.

Система Команд Исполнителя Робот включает в себя команды:

вправо

влево

вверх

вниз

закрасить

Рассмотрим задачу:

Контур елочки обозначен закрашенными клетками в среде исполнителя Робот. Исполнитель Робот находится в клетке, обозначенной звездочкой. Необходимо составить программу, по которой Робот закрасит все клетки внутри елочки.

Решение:

В этой задаче важно определить стратегию движения Робота. Запишем решение «крупными блоками». При составлении алгоритма будем считать, что у нас есть не только команды из СКИ Робота, но и такие команды, по которым Робот красит не одну клетку, а группу клеток и при этом сам остается на месте.

Так как Робот может находится сразу в такой маленькой елочке, что красить там будет нечего, то условие проверки необходимости закрашивания поставим до тела цикла. Определив где стоит условие, мы определились с типом цикла, выбрав цикл ПОКА.

Запишем основной алгоритм.

использоватьРобот

алгЕлка

нач

. нц пока клетка чистая

. . ЗалитьВлево

. . ЗалитьВправо

. . закрасить

. . вверх

. кц

кон

Основная часть программы готова. При составлении алгоритма мы предположили, что у нас есть команды заливки клеток правее и левее Робота, команды –  ЗалитьВлево и ЗалитьВправо. Уточним, что скрывается за командами ЗалитьВлево и ЗалитьВправо.

Располагают вспомогательные алгоритмы в КуМире ниже главного. Вспомогательные алгоритмы также, как и главный алгоритм имеют заголовок, записываемый в первой строке алг и слова нач и кон.

Действие алгоритма ЗалитьВлево можно разделить на две смысловые части.

алгЗалитьВлево
нач

. влево
. нц пока клетка чистая
. . закрасить
. . влево
. кц

В первой части Робот красит клетки левее своего местоположения.

. нц пока клетка закрашена
. . вправо
. кц

Во второй – Робот возвращается в свое местоположение.

кон

Команды процедуры ЗалитьВправо отличаются от команд процедуры ЗалитьВлево только направлением перемещения.

алгЗалитьВправо
нач

. вправо
. нц пока клетка чистая
. . закрасить
. . вправо
. кц
. нц пока клетка закрашена
. . влево
. кц

кон

При решении этого задания, мы писали программу, используя не только команды, входящие в систему команд исполнителя. При записи мы считали, что у нас есть возможность научить Робота новым командам. На следующем этапе мы уточнили, что Робот должен выполнять по новым командам с помощью вспомогательного алгоритма. Этот метод называют метод программирования «сверху-вниз» или метод «пошаговой детализации»

Описанное задание выполнено верно и позволяет закрасить область, ограниченную закрашенными клетками. По составленному алгоритму нельзя закрасить область произвольной формы.

Для того, чтобы закрасить произвольную область необходимо изменить вспомогательный алгоритм.

Из каждой не закрашенной клетки надо проверить можно ли покрасить клетку рядом.  Назовем этот алгоритм КрасьВокруг. Робот по этой команде должен не только закрасить клетку, в которую попал, но и покрасить клетки выше, ниже, левее и правее своего местоположения в данный момент. После каждого перехода Робот должен возвращаться в «свою» клетку.

алгКрасьВокруг
нач
. закрасить
. КрасьВыше
. КрасьЛевее
. КрасьНиже
. КрасьПравее
кон

Мы сослались на команды, которые не входят в систему команд исполнителя: КрасьВыше, КрасьЛевее, КрасьНиже и КрасьПравее. Так как перечисленные алгоритмы будут отличаться только направлением перемещения, рассмотрим только один из упомянутых вспомогательных алгоритмов. Чтобы закрасить клетку выше и вернуться надо выполнить всего три команды.

алгКрасьВыше
нач
. вверх
. закрасить

. вниз
кон

Но такая программа закрасит только пять клеток. Клетку в которой стоит Робот и четыре соседних.

Уточним составленный алгоритм. Если после перехода вверх Робот попадает в чистую клетку, то ее надо не просто закрасить, а проверить соседние клетки, т.е. выполнить алгоритм КрасьВокруг.

алгКрасьВыше
нач
. вверх
. есликлетка чистая то
. . . КрасьВокруг
. все
. вниз
кон

В результате будут обработаны все клетки внутри области ограниченной закрашенными клетками.

Алгоритм КрасьВокруг обращается к алгоритму КрасьВыше, а алгоритм КрасьВыше вызывает алгоритм КрасьВокруг. То есть, чтобы сделать алгоритм КрасьВокруг надо выполнить КрасьВокруг.

Рисунок1

Такие алгоритмы, которые ссылаются на себя называют рекурсивными. Заметим, что так как Робот каждый раз возвращался в исходное положение, алгоритм КрасьВокруг будет завершен в той же точке, с которой Робот начал выполнять алгоритм.

Например, рекурсивной картинкой является картинка, нарисованная с помощью исполнителя Черепаха.

использоватьЧерепаха
алгГлавный
нач
. Ветка(7, 70)
кон
алгВетка(арг цел n, вещ длина)
нач
. вправо(25)
. вперед (длина)
. если n>1 то
. . . Ветка (n1, длина *0.7)
. все
. назад (длина)
. влево (50)
. вперед (длина)
. если n>1 то
. . . Ветка (n1, длина *0.7)
. все
. назад (длина)
. вправо (25)
кон

Алгоритм Ветка, обращаясь сам к себе рисует 254 отрезка.

Обязательная литература: Босова Л.Л. Информатика : учебник для 9 класса / Л. Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2017.

ОГЭ 15.1-1 Напишите для Робота алгоритм, закрашивающий все клетки

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может.
У Робота есть девять команд. Пять команд – это команды-приказы.
Четыре из них управляют перемещениями Робота:
вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится.
Также у Робота есть команда-приказ закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды – это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно

Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:
если условие то
  последовательность команд
все
Здесь условие – одна из команд проверки условия.
Последовательность команд – это одна или несколько любых команд-приказов.

Например, для передвижения на одну клетку вправо, если справа нет стенки, и закрашивания клетки можно использовать такой алгоритм:
если справа свободно то
  вправо
  закрасить
все

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

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
нц пока условие
  последовательность команд
кц

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока справа свободно
  вправо
кц

Выполните задание.
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с верхним концом вертикальной стены. Длины стен неизвестны. В каждой стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной непосредственно под горизонтальной стеной у её левого
конца.
На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно ниже горизонтальной стены и левее вертикальной стены, кроме клетки, в которой находится Робот перед выполнением программы.
Проходы должны остаться незакрашенными. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).

При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Конечное расположение Робота может быть произвольным.
Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера проходов внутри стен.
Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Сохраните алгоритм в файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.

Демонстрационный вариант ОГЭ 2022 г. – задание №15.1

Добавить комментарий