Практическая работа № 7. Автоматическая обработка данных
Цель работы: знакомство с основами теории алгоритмов на примере решения задач на программное управление алгоритмической машиной Поста.
Задачи:
Образовательные: формирование навыков работы с программой для машины Поста при решении простейших задач; закрепление умений анализировать, систематизировать, доказывать.
Развивающие: развитие логического и алгоритмического мышления, познавательных интересов, интеллектуальных и творческих способностей; развитие навыков самостоятельной работы и познавательного интереса к предмету.
Воспитательные: воспитание информационной культуры обучающихся.
Используемое программное обеспечение: имитатор машины Поста, (КОТОРЫЙ МОЖНО СКАЧАТЬ).
Литература:
1. Семакин И. Г. Информатика. Базовый уровень: учебник для 10 класса / И.Г. Семакин, Е.К.Хеннер, Т. Ю. Шеина. – 5–е изд.– М.: БИНОМ, Лаборатория знаний, 2015. – 264 с.
2. Семакин И.Г. информатика. углубленный уровень : учебник для 10 класса : в 2 ч.Ч. 1 / И.Г. Семакин, Т.Ю. Шейна, Л,В, Шестакова, – М,: БИНОМ, Лаборатория знаний,2013. - 245 с.
3. Семакин И.Г. информатика. углубленный уровень : учебник для 10 класса : в 2 ч.Ч. 2 / И.Г. Семакин, Т.Ю. Шейна, Л,В, Шестакова, – М,: БИНОМ, Лаборатория знаний,2013. – 303 с. 4. Семакин И.Г. Основы алгоритмизации и программирования. Учебник для студентов учреждений среднего профессионального образования — 3-е изд., стер. — М. : Издательский центр «Академия», 2013. 400 с.
Сделайте скриншоты (кнопка клавиатуры PrtSc) выполненных заданий в текстовом (Word) файле Фамилия_Практика и присылайте мне на почту!!!!!
ИНФОРМАЦИЯ ДЛЯ ПОВТОРЕНИЯ
Программа – алгоритм, записанный по строгим правилам языка команд исполнителя – на языке программирования для данного исполнителя.
Архитектура машины Поста. Имеется бесконечная информационная лента, разделенная на позиции, на клетки. В каждой клетке может либо стоять метка (некоторый знак), либо отсутствовать (пусто).
Вдоль ленты движется каретка – считывающее устройство (обозначена стрелкой). Каретка может передвигаться шагами. Клетку, под которой установлена каретка будем называть текущей.
Каретка является еще и процессором машины. С помощью каретки машина может:
распознать, пустая клетка или помеченная знаком;
стереть знак в текущей клетке;
записать знак в пустую клетку.
Если произвести замену меток на единицы, а пустых клеток на нули, то информацию на ленте можно рассматривать как аналог двоичного кода телеграфного сообщения или данных в памяти компьютера.
Слайд 6. Отличие каретки-процессора машины Поста от процессора компьютера состоит в том, что в компьютере возможен доступ процессора к ячейкам памяти в произвольном порядке, а в машине поста только последовательно.
Назначение машины Поста – производить преобразования на информационной ленте.
Система команд машины Поста: (везде буква n обозначает номер текущей команды):
Рассмотрим пример программы решения задачи на машине Поста. Машина должна стереть знак в текущей клетке и присоединить его слева к группе знаков, расположенных справа от каретки.
Команда | Действия |
1 ↕ 2 | Стирание метки; переход к следующей команде |
2 → 3 | Сдвиг вправо на один шаг |
3 ? 2, 4 | Если клетка пустая, то переход к команде 2, иначе к команде 4. |
4 ← 5 | Сдвиг влево на шаг (команда выполнится, когда каретка выйдет на первый знак группы) |
5 v 6 | Запись метки в пустую клетку |
6 ! | Остановка машины |
Команды с номерами 2 и 3 выполнялись многократно.
Цикл – многократное повторение действий (команд).
Когда же возможна автоматическая обработка информации?
Автоматическая обработка возможна, если:
1) информация представлена в формализованном виде – в конечном алфавите некоторой знаковой системы;
2) реализован исполнитель, обладающий конечной системой команд, достаточной для построения алгоритмов решения определенного класса задач обработки информации;
3) реализовано программное управление работой исполнителя
Задание 1
Составить программу перевода информационной ленты машины Поста из начального состояния (н.с.) в конечное (к.е.):
Задание 2
1. Выполнить на машине Поста программу:
2. Какую задачу решает исполнитель по этой программе?
3. Что произойдет, если начальное состояние информационной ленты будет иметь следующий вид?
В следующих задачах считается, что n расположенных подряд меток обозначают число n (непозиционная система счисления с основанием 1).
Задание 3
Написать для машины Поста программу сложения двух чисел, записанных на ленте и расположенных через одну пустую клетку друг от друга. Начальное положение каретки — под пустой клеткой, отделяющей числа.
Задание 4
Написать для машины Поста программу вычитания двух чисел, разделенных одной пустой клеткой. Уменьшаемое не меньше вычитаемого. Начальное положение каретки — под пустой клеткой, отделяющей уменьшаемое от вычитаемого.
Указание. Стирать метки по одной у каждого числа, пока у вычитаемого не кончатся все метки.
Задание 5
Используя программу вычитания, проверить, что получится, если:
а) уменьшаемое равно вычитаемому;
б) уменьшаемое меньше вычитаемого.
Задание 6
Написать для машины Поста программу деления числа, записанного метками, на 2. Исходное число должно делиться на 2 без остатка.
Указание. Стереть каждую вторую метку; уплотнить оставшиеся метки.
Задание 7
Используя программу деления числа на 2:
а) проверить, что получится для числа 2;
б) модифицировать программу с учетом числа 2.
Указание. Справа от пустой клетки поставить метку, а слева стереть две метки. Так поступать до тех пор, пока слева остаются метки.
Задание 8
На информационной ленте машины Поста на расстоянии в га клеток друг от друга расположены две помеченные метками клетки. Начальное положение каретки — под левой из помеченных клеток. Какую работу выполнит Машина Поста по программе?
Задание 9
Написать для машины Поста программу умножения на 2 числа, записанного метками на ленте.
Указание. Через одну пустую клетку поставить две метки, а в исходном числе стереть одну. Так поступать, пока в исходном числе остаются метки.
ДОПОЛНИТЕЛЬНАЯ ОЦЕНКА
Задание 10*
Написать для машины Поста программу, проверяющую, делится ли записанное метками число на 5.
Задание 11*
На информационной ленте машины Поста помечена 2n - 1 клетка. Составить программу отыскания средней помеченной клетки и стирания метки в ней.
Задание 12*
На информационной ленте машины Поста расположены два массива помеченных клеток. Написать программу стирания меток, расположенных в большем массиве.