Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВиктор Гурьянов
1 Автоматическая обработка информации Чебышев Михаил10 класс
2 В 30-х годах XX века возникает новая наука теория алгоритмов. Вопрос, на который ищет ответ эта наука: для всякой ли задачи обработки информации может быть построен алгоритм решения? Но чтобы ответить на этот вопрос, надо сначала договориться об исполнителе, на которого должен быть ориентирован алгоритм.
3 Английский ученый Алан Тьюринг предложил модель такого исполни теля, получившую название «машина Тьюринга». По замыслу Тьюринга, его «машина» является универсальным исполнителем обработки любых символьных последовательностей в любом алфавите.
4 Практически одновременно с Тьюрингом ( гг.) другую модель алгоритмической машины описал Эмиль Пост. Машина Поста работает с двоичным алфавитом и несколько проще в своем «устройстве». Можно сказать, что машина Поста является частным случаем машины Тьюринга. Однако именно работа с двоич ным алфавитом представляет наибольший интерес, поскольку, как вы знаете, современный компьютер тоже работает с двоичным алфавитом.
5 Алгоритм, по которому работает машина Поста, будем называть программой. Договоримся о терминологии: под словом «программа» мы всегда будем понимать алгоритм, записанный по строгим правилам языка команд исполнителя на языке программирования для данного исполнителя.
6 Опишем архитектуру машины Поста. Имеется бесконечная информационная лента, разделенная на позиции клетки. В каждой клетке может либо стоять метка (некоторый знак), либо отсутствовать (пусто). vvvvv Вдоль ленты движется каретка считывающее устройство. На рисунке она обозначена стрелкой. Каретка может передвигаться шагами: один шаг смещение на одну клетку вправо или влево. Клетку, под которой установлена каретка, будем называть текущей. Каретка является еще и процессором машины. С ее помощью машина может: распознать, пустая клетка или помеченная знаком; стереть знак в текущей клетке; записать знак в пустую текущую клетку.
7 Если произвести замену меток на единицы, а пустых клеток на нули, то информацию на ленте можно будет рассматривать как аналог двоичного кода телеграфного сообщения или данных в памяти компьютера. Существенное отличие каретки-процессора машины Поста от процессора компьютера состоит в том, что в компьютере возможен доступ процессора к ячейкам памяти в произвольном порядке, а в машине Поста только последовательно.
8 Назначение машины Поста производить преобразования на информационной ленте. Исходное состояние ленты можно рассматривать как исходные данные задачи, конечное состояние ленты результат решения задачи. Кроме того, в исходные данные входит информация о начальном положении каретки.
9 Система команд машины Поста КомандаДействие n mСдвиг каретки на шаг влево и переход к выполнению команды с номером m n mСдвиг каретки на шаг вправо и переход к выполнению команды с номером m n v mЗапись метки в текущую пустую клетку и переход к выполнению команды с номером m n mСтирание метки в текущей клетке и переход к выполнению команды с номером m n !Остановка выполнения программы n ? m,kПереход в зависимости от содержимого текущей клетки: если текущая клетка пустая, то следующей будет выполняться команда с номером m, если непустая – команда с номером k
10 Пример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
11 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины vvvv
12 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
13 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
14 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
15 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
16 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
17 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
18 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
19 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
20 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины v
21 Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки. vvvvv КомандаДействие 1 2Стирание метки; переход к следующей команде 2 3Сдвиг вправо на один шаг 3 ? 2,4Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 5Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) 5 v 6Запись метки в пустую клетку 6 !Остановка машины
22 В процессе выполнения приведенной программы многократно повторяется выполнение команд с номерами 2 и 3. Такая ситуация называется циклом. Напомним, что цикл относится к числу основных алгоритмичес ких структур вместе со следованием и ветвлением.
23 Источники Семакин И.Г., Хеннер Е.К., Информатика и ИКТ Издательство БИНОМ Лаборатория знаний, 2009
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.