Дидактическая игра «Вычислительные машины III»



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

Игровой материал. Красные кружочки, указатель (головка машины), вырезанный в виде руки и указательного пальца, память машины и программы (рис. 3).

Подготовка к игре (рис. 1, 2 ,3).

Описание машины.

Машина состоит из памяти и головки. Память машины изображена в виде ленты, разделенной на клетки (ячейки). Каждая клетка либо пуста, либо в ней хранится определенный знак. В качестве такового мы взяли красный кружок.

Головка смотрит в каждый момент только на одну клетку памяти.

Машина умеет делать следующее:

а) если головка смотрит на пустую клетку, машина может по команде «●» положить туда кружок;

б) если головка смотрит на заполненную клетку, машина может по команде «X» убрать этот кружок из клетки памяти;

в) по команде «--->» головка сдвигается вправо на одну клетку;

г) по команде «<---»головка сдвигается влево на одну клетку;

д) по команде «!» машина останавливается, заканчивая работу.

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

Машина выполняет работу строго следуя программе.


Программа представляет собой конечную последовательность команд. На рисунке 1 показаны две программы А и Б и как машина работает по этим программам.

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

а) до начала работы машины в памяти хранится один кружок и головка смотрит на эту заполненную ячейку памяти. Приступая к выполнению программы, машина выполняет команду под номером 1. Она предписывает сдвиг головки на одну ячейку вправо и переход к выполнению команды 2 (в конце команды 1 указан номер команды, к выполнению которой должна переходить машина). По второй команде машина заполняет пустую ячейку, на которую смотрит головка, кружочком и переходит к выполнению третьей команды, которая приказывает машине остановиться. Какую же работу выполнила машина в этом случае? Перед началом работы в памяти хранился один кружок, а после окончания работы – два, т. е. она прибавила один кружочек;

б) если до начала работы машины в ее памяти хранятся два кружочка, то после выполнения той же программы А их окажется три. Значит, и здесь происходит «прибавление» 1.

Мы можем программу А называть программой прибавления 1;

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

Возникает задача совершенствовать (улучшить) программу прибавления 1.

 

Программа Б. Такой улучшенной программой прибавления 1 является программа Б. В нее включена новая команда 2 – условная передача управления. Эта программа работает так: а) до начала работы в памяти хранятся два кружочка и головка смотрит на левую заполненную ячейку (заметьте, точно та же ситуация, когда, выполняя программу А, машина сломалась). По первой команде головка сдвигается на одну ячейку вправо и машина переходит к выполнению команды 2. Команда 2 указывает, к какой следующей команде надо переходить в зависимости от того, смотрит ли головка на пустую или заполненную ячейку. В нашем случае головка смотрит на заполненную ячейку, значит, надо смотреть на нижнюю стрелку команды 2, помеченную заполненной ячейкой. Эта стрелка указывает, что надо возвратиться к команде 1. Значит, головка еще раз сдвигается на одну ячейку вправо и машина переходит к выполнению команды 2. Теперь, так как головка смотрит на пустую клетку, надо смотреть на верхнюю стрелку команды 2, которая указывает переход к команде 3. По команде 3 машина ставит кружочек в пустую ячейку, на которую смотрит головка, и переходит к выполнению команды 4, т. е. останавливается.

Как видим, примерно в одинаковой ситуации машина, работая по программе А, сломалась, а выполняя программу Б, успешно довела до конца прибавление 1;

б) в этом случае имитируется работа машины по программе Б, если до начала работы в памяти хранятся три кружочка, а головка смотрит на самую левую заполненную ячейку.

На рисунке 2 показаны две программы вычитания 1: программа В, простейшая, которая, однако, не во всех случаях срабатывает (в случае – машина сломалась), и программа Г, усовершенствованная, с командой условной передачи управления.


Только после того как тщательно изучили работу машины по программам А, Б, В, Г (рис. 1-2), можно перейти к игре (рис. 3) с использованием тех же программ.

Один из играющих задает исходную ситуацию, т. е. ставит несколько кружочков в подряд идущих ячейках памяти, головку машины против одной из заполненных ячеек и указывает одну из программ (А, Б, В или Г). Второй должен имитировать работу машины по этой программе. Затем играющие меняются ролями.

Выигрывает тот, кто, имитируя работу машины, допускает меньше ошибок.



Дата добавления: 2018-05-01; просмотров: 722; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!