воскресенье, 10 декабря 2017 г.

7 класс. Использование алгоритмических конструкций

Тема урока. Использование алгоритмических конструкций для исполнителя Робот.
Цель урока: научить учащихся использовать алгоритмические конструкции для исполнителя Робот.
Задачи:
  • формировать практические умения и навыки при решении задач, используя конструкции "следование", "ветвление", "цикл".
  • развивать логическое, алгоритмическое, программное мышление.
  • воспитывать внимание, сосредоточенность, интерес к предмету.
Задание 1. Изучить материалы урока.

§ 12. Алгоритмическая конструкция ветвление

12.1. Команда ветвления

Довольно часто на поставленный вопрос человек получает ответ «да» или «нет». В зависимости от ответа он определяет свои действия и выполняет одну или другую команду (группу команд).
Роботы и другие технические устройства тоже могут выполнять различные действия в зависимости от условия. Если условие истинно (на вопрос получен ответ «Да»), то выполняются одни действия, если ложно, то другие.
Алгоритмическая конструкция ветвление обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия.
Ветвление может изображаться на блок-схеме следующим образом:
В данной конструкции в прямоугольнике(ах) записываются команды алгоритма. При такой организации алгоритма может выполниться только одна из двух команд (последовательностей команд). Другая последовательность будет проигнорирована (пример 12.1).
Для записи конструкции ветвления в языке программирования Pascal используется команда if. Формат записи команды:
if <условие> then
begin
команды 1;
end
else
begin
команды 2;
end;
Строка if <условие> then является заголовком ветвления. Эту строку можно прочитать следующим образом: «Если условие верно, то». После слова thenзаписывается последовательность команд 1, которая выполнится, если условие истинно. После слова else записывается последовательность команд 2, которая выполнится, если условие ложно. Слова begin и end; в данном случае играют роль операторных скобок. Обратите внимание, что перед словом else точка с запятой не ставится.
Ветвление может быть записано в полной или сокращенной форме.
Полная форма ветвления предусматривает организацию выполнения двух разных наборов команд, из которых выполняется только один. В сокращенной форме один из наборов команд (чаще по ответу «Нет») опускается. В этом случае, если условие ложное, то никакие действия не выполняются.
На блок-схеме сокращенная форма ветвления изображается следующим образом:
На языке программирования Pascal команда запишется следующим образом:
if <условие> then
begin
команды 1;
end;
Алгоритм может содержать более одной конструкции ветвления (пример 12.3).
Пример 12.4. Решим задачу if1 из встроенного задачника.
Робот должен закрасить клетку, которая находится за стеной. В зависимости от обстановки обход стены может осуществляться по-разному.
Вначале Робот должен сдвинуться вправо. Если стена снизу, то сверху свободно и можно обойти стену сверху, в противном случае Робот обходит стену снизу.
После обхода стены Робот закрашивает клетку. Алгоритм можно записать следующим образом:
вправо;
Если сверху свободно, то
вверх; вправо; вниз;
Иначе
вниз; вправо; вверх;
закрасить.
Пример 12.5. Робот находится на неизвестной клетке поля без линий. Он должен закрасить клетку слева от себя.
Для того чтобы закрасить клетку слева от себя, Робот должен переместиться влево, а затем закрасить клетку. Однако сделать это Робот сможет только тогда, когда не находится в клетках, являющихся левой границей поля. Поэтому, прежде чем сдвинуться влево, Робот должен проверить, свободно ли слева.
Результат работы данной программы зависит от начального положения Робота. Поэтому для проверки правильности работы программы необходимо подготовить начальные обстановки, которые дают разные ответы на вопрос: слева пусто?

12.2. Составные условия

В качестве условия в алгоритмах с циклами и ветвлениями используется любое понятное исполнителю этого алгоритма высказывание, которое может быть либо истинным, либо ложным.
Все условия, с которыми нам приходилось до сих пор встречаться при составлении алгоритмов для Робота, были простыми высказываниями. Однако для исполнителяРобот можно строить и составные условия.
Составное условие — условие, которое образуется из нескольких простых условий, соединенных друг с другом логическими операциями.
С логическими операциями над высказываниями вы уже знакомы. В PascalABCиспользуются следующие логические операции:
Логическая операцияЗапись в PascalABC
НеNot
ИAnd
ИлиOr
(Рассмотрите пример 12.6.)
Система условий для исполнителя Робот построена таким образом, что можно обойтись без использования логической операции отрицания.
Отрицанием условия FreeFromLeft будет условие not FreeFromLeft. Однако условие «слева не свободно» означает, что там стена. Поэтому вместо условия notFreeFromLeft может быть использовано условие WallFromLeft. Отрицания для других условий показаны в таблице:

Условие
Отрицание
WallFromLeft
FreeFromLeft
WallFromRight
FreeFromRight
WallFromUp
FreeFromUp
WallFromDown
FreeFromDown
CellIsPainted
CellIsFree

Задание 2. Решите задачи из встроенного задачника.
if1, if2,if3.
Задание 3.
Домашнее задание§12


Комментариев нет:

Отправить комментарий