Тема: Автоматическая обработка информации. Машина Поста. 10 класс
учебно-методический материал по информатике и икт на тему

Комарова Наталья Александровна

Презентация и подборка задач с решениями.

Скачать:

ВложениеРазмер
Файл urok_12_mashina_posta.pptx212.52 КБ
Файл urok_13_zadachi_mashina_posta.docx37.18 КБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Автоматическая обработка информации Информатика 10 класс

Слайд 2

В 30-х годах XX века возникает новая наука — теория алгоритмов. Вопрос, на который ищет ответ эта наука: для всякой ли задачи обработки информации может быть построен алгоритм решения? Но чтобы ответить на этот вопрос, надо сначала договориться об исполнителе, на которого должен быть ориентирован алгоритм.

Слайд 3

Английский ученый Алан Тьюринг предложил модель такого исполни­теля, получившую название «машина Тьюринга». По замыслу Тьюринга, его «машина» является универсальным исполнителем об­работки любых символьных последовательностей в лю­бом алфавите.

Слайд 4

Практически одновременно с Тьюрингом (1936-1937 гг.) другую модель алгоритмической машины описал Эмиль Пост. Машина Поста работает с двоичным алфавитом и несколько проще в своем «устройстве». Можно сказать, что машина Поста является частным слу­чаем машины Тьюринга. Однако именно работа с двоич­ным алфавитом представляет наибольший интерес, по­скольку, как вы знаете, современный компьютер тоже ра­ботает с двоичным алфавитом.

Слайд 5

Ал­горитм, по которому работает машина Поста, будем на­зывать программой. Договоримся о терминологии: под словом «програм­ма» мы всегда будем понимать алгоритм, записанный по строгим правилам языка команд исполнителя — на языке программирования для данного исполнителя.

Слайд 6

Опишем архитектуру машины Поста. Име­ется бесконечная информационная лента, разделенная на позиции — клетки. В каждой клетке может либо сто­ять метка (некоторый знак), либо отсутствовать (пусто). v v v v v Вдоль ленты движется каретка — считывающее устройство. На рисун­ке она обозначена стрелкой. Каретка может передвигаться шагами: один шаг — смещение на одну клетку вправо или влево. Клетку, под которой установлена каретка, будем называть текущей. Каретка является еще и процессором машины. С ее помощью машина может: • распознать, пустая клетка или помеченная знаком; • стереть знак в текущей клетке; • записать знак в пустую текущую клетку.

Слайд 7

Если произвести замену меток на единицы, а пустых клеток — на нули, то информацию на ленте можно будет рассматривать как аналог двоично­го кода телеграфного сообщения или данных в памяти компьютера. Существенное отличие каретки-процессора машины Поста от процессора компьютера состоит в том, что в компьютере возможен доступ процессора к ячейкам памяти в произвольном порядке, а в машине Поста — только последовательно.

Слайд 8

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

Слайд 9

Система команд машины Поста Команда Действие n ← m Сдвиг каретки на шаг влево и переход к выполнению команды с номером m n → m Сдвиг каретки на шаг вправо и переход к выполнению команды с номером m n v m Запись метки в текущую пустую клетку и переход к выполнению команды с номером m n ↕ m Стирание метки в текущей клетке и переход к выполнению команды с номером m n ! Остановка выполнения программы n ? m,k Переход в зависимости от содержимого текущей клетки: если текущая клетка пустая, то следующей будет выполняться команда с номером m , если непустая – команда с номером k

Слайд 10

П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки. v v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины

Слайд 11

П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки. v v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины V V V V

Слайд 12

П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки. v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины

Слайд 13

П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки. v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины

Слайд 14

П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки. v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины

Слайд 15

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 16

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 17

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 18

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 19

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 20

v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины v П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 21

v v v v v Команда Действие 1 ↕ 2 Стирание метки; переход к следующей команде 2 → 3 Сдвиг вправо на один шаг 3 ? 2 , 4 Если клетка пустая, то переход к команде 2, иначе – к команде 4 4 ← 5 Сдвиг влево на шаг (команда выполнится , когда каретка выйдет на первый знак группы) 5 v 6 Запись метки в пустую клетку 6 ! Остановка машины П ример программы решения задачи на машине Поста Исходное состояние показано на рисунке. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположен­ных справа от каретки.

Слайд 22

В процессе выполнения приведенной программы многократно повторя­ется выполнение команд с номерами 2 и 3. Такая ситуация называется циклом. Напомним, что цикл относится к числу основных алгоритмичес­ких структур вместе со следованием и ветвлением.

Слайд 23

Домашнее задание: Учебник стр. 74 №1, 2

Слайд 24

Источники http://images.yandex.ru/yandsearch?rpt=simage&ed=1&text=% D0%90%D0%BB%D0%B0%D0%BD%20%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3&p=11&img_url=www.mathcomp.leeds.ac.uk%2Fturing2012%2FImages%2FTuring7.jpg http://ru.wikipedia.org/wiki/ Файл: Emil_Leon_Post.jpg Семакин И.Г., Хеннер Е.К., Информатика и ИКТ 10-11. Издательство БИНОМ Лаборатория знаний, 2009



Предварительный просмотр:

Задачи для самостоятельной работы (Машина Поста):

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

Задача2: Пусть задано исходное состояние каретки и требуется на пустой ленте написать две метки: одну в секцию под кареткой, вторую справа от нее.

Задача3:. На ленте имеется некоторое множество меток (общее количество меток не менее 1). Между метками множества могут быть пропуски, длина которых составляет одну ячейку. Заполнить все пропуски метками. Каретка находится слева под ячейкой с меткой.

Задача4:. На ленте проставлена метка в одной-единственной ячейке. Каретка стоит на некотором расстоянии левее этой ячейки. Необходимо подвести каретку к ячейке, стереть метку и остановить каретку слева от этой ячейки.

Задача5:На ленте задан массив меток. Увеличить длину массива на 2 метки. Каретка находится либо слева от массива, либо над одной из ячеек самого массива.

Задача6: На ленте на некотором расстоянии справа от каретки, стоящей под пустой клеткой, находится непрерывный массив меток. Требуется присоединить справа к массиву одну метку.

Задача7: На ленте имеется массив из n отмеченных ячеек. Каретка обозревает крайнюю левую метку. Справа от данного массива на расстоянии в m ячеек находится еще одна метка. Составьте для машины Поста программу, придвигающую данный массив к данной ячейке.

Задача8: Даны два массива меток, которые находятся на некотором расстоянии друг от друга. Требуется соединить их в один массив. Каретка находится над крайней левой меткой первого массива. 

Задача9: На ленте заданы два массива — m и n, m > n. Вычислить разность этих массивов. Каретка располагается над левой ячейкой правого массива.

Решение №1 На доске разбирается пример.

1 -> 2

2 ? 1;3

3 <- 4

4 V 5

5 !

- Исходное состояние:

v

v

v

v

   ↑

- Результат:

v

v

v

v

v

                      ↑

Решение №2:

  1. 1 v 2          
  2. 2 → 3
  3. 3 v 4
  4. 4 !

Решение №3

  1.  → 2
  2. ? 3, 1
  3. → 4
  4. ? 5, 6
  5. !
  6. ← 7
  7. v 1

Решение №4

http://inf.1september.ru/2007/01/04-03.gif

Решение №5 1. ? 2; 3 (команды 1 и 2 — передвигаем каретку к массиву)

2. –> 1

3. –> 4 (команды 3 и 4 — передвигаем каретку к концу массива)

4. ? 5; 3

5. V 6 (команды 5–7 — ставим 2 метки в конце массива)

6. –> 7

7. V 8

8. !

Решение №6    1→2     2?1,3       3→4        4?5, 3       5v6       6!

Решение №7    1. X 2 (удаляем левую метку массива)

2. –> 3

3. ? 4; 2 (передвигаем каретку к концу массива)

4. V 5 (ставим справа от массива метку, раннее нами была удалена самая левая метка)

5. –> 6

6. ? 7; 10 (проверяем, передвинули ли мы уже наш массив к заданной метке)

7. <– 8

8. ? 9; 7 (идем к левой метке массива)

9. –> 1 (и начинаем все сначала)

10. !

Решение №8 

http://inf.1september.ru/2007/01/04-09.gif

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

1. Ищем правый край массива m, двигаясь слева направо.

2. Стираем правую метку массива m.

3. Ищем правый край массива n, двигаясь слева направо.

4. Стираем левую метку массива n.

5. Проверяем, мы стерли последнюю метку в массиве n (в этом случае следующая справа ячейка должна быть пустой)?

6. Если стерли последнюю метку, то конец алгоритма.

7. Иначе ищем правый конец массива m, двигаясь справа налево.

8. Переход на шаг 2.

1. –> 2 (команды 1–3: ищем левую метку массива m)

2. ? 3; 1

3. <– 4

4. X 5 (стираем левую метку массива m)

5. ? 6; 7

6. –> 5

7. X 8 (стираем левую метку массива n)

8. –> 9

9. ? 12; 10 (стерли последнюю метку в массиве n?)

10. <– 11 (ищем левый край массива m)

11. ? 10; 4

12. !

Определение результата выполнения программ

В задачах при описании начального состояния ленты будем указывать то, что записано начиная с самой левой непустой ячейки и заканчивая самой правой непустой ячейкой. При этом будем использовать следующие обозначения: n подряд идущих меток будем обозначать 1n, а m пустых ячеек — 0m. При обозначении одной заполненной или пустой ячейки будем писать просто 1 или 0, соответственно.

1. Выяснить, применимы ли программы к заданным состояниям машины Поста, указать результат работы машины Поста для каждого состояния.

http://inf.1september.ru/2007/01/04-04.gif

Ответы:

a) 1) 1110011000

    2) зацикливание

    3) 1001011000

b) 1) зацикливание

    2) 010011

    3) 01010110

c) 1) зацикливание (…111)

    2) зацикливание (…1111001)

    3) зацикливание (1010111…)

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

Пояснение: выделенная цифра, например 1, означает, что эту ячейку каретка обозревает в начальный момент времени.

http://inf.1september.ru/2007/01/04-06.gif

Решение. Выделенная цифра показывает, на какой ячейке остановится машина.

a) 1) 110000001

    2) 11000001

b) 1) 1100101

     2) 10001

     3) (111111?)     1010011


По теме: методические разработки, презентации и конспекты

Презентация к уроку Автоматическая обработка информации. Машина Поста.

Презентация состоит из теоритической части и практических заданий...

Презентация к уроку на тему:автоматическая обработка информации

Презентация содержит демонстрационный материал по теме "Автоматическая обработка информации" в 10 классе по учебнику СемакинаИ.Г., Хеннера Е.К. "Информатика 10-11" базовый уровень. В презентации рассм...

Презентация "Автоматическая обработка информации " 10 класс

Решение задач с использованием машины Поста...

Автоматическая обработка информации, презентация к уроку в 10 классе

Автоматическая обработка информации, презентация к уроку в 10 классе...

Конспект урока информатики в 10 классе на тему: «Автоматическая обработка информации»

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