Цели: выполнить практическую работу



ПЛАН

1. Повторить теоретический материал

2. Выполнить практическую работу

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

Используемое программное обеспечение: имитатор машины Поста.

Система команд машины Поста: (везде буква n обозначает номер текущей команды):

Задание 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*

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

Домашнее задание

Повторить § 10, оформить работу


Дата добавления: 2020-11-23; просмотров: 157; Мы поможем в написании вашей работы!

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






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