Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Стариченко Б.Е. Теоретические основы информатик...doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
11.63 Mб
Скачать

Контрольные вопросы и задания

  1. С чем связана необходимость точного определения понятия «алгоритм»?

  2. Почему приведенное в п.7.1. определение алгоритма названо «нестрогим»?

  3. Можно ли считать алгоритмом: (а) правила правописания; (b) законы физики; (с) математические формулы; (d) статьи уголовного кодекса. Ответы обоснуйте.

  4. На какие свойства алгоритма окажет влияние выбор того или иного исполнителя для решения одной и той же задачи?

  5. Можно ли считать исполнителем алгоритма: (а) человека, ведущего запись текста под диктовку, (b) компьютер; (с) компьютерную программу, (d) дрессированное животное. Ответы обоснуйте.

  6. Доказать, что примитивно-рекурсивными являются функции: (а) х-у; (b) xy; (с) п!

  7. Каким образом связаны свойства алгоритма и особенности устройства алгоритмической машины?

  8. Какие действия алгоритмической машины следует считать элементарными?

  9. Решите следующие задачи, используя алгоритмическую машину Поста; во всех задачах в исходном состоянии обозревается крайняя левая ячейка:

a) на ленте находятся два числа N и Q, разделенные одной пустой ячейкой. Напишите программу нахождения суммы N+Q.

b) решите предыдущую задачу при условии, что исходные числа разделены произвольным числом пустых ячеек.

c) на ленте находятся два числа N и Q (N > Q), разделенные одной пустой ячейкой. Напишите программу нахождения разности N - Q.

d) на ленте N меток. Построить такое же количество меток справа от имеющихся через одну пустую.

e) на ленте находятся два числа N и Q, разделенные одной пустой ячейкой. Напишите программу нахождения произведения N - Q.

  1. На каком-либо языке программирования высокого уровня разработайте программу эмуляции работы машины Поста.

  2. Решите следующие задачи, используя алгоритмическую машину Тьюринга; во всех задачах в исходном состоянии обозревается крайняя левая ячейка:

a) Сложение двух чисел в унарной системе счисления (например, 1111+111).

b) Дано слово из знаков а и b произвольной длины (например, abb-bab), причем, заранее не известно, какой знак первый (а или b). Необходимо первый знак переместить в конец слова.

c) Добавление 1 к числу в произвольной заданной системе счисления.

d) Перевод целого числа из одной системы счисления в другую.

  1. На каком-либо языке программирования высокого уровня разработайте программу эмуляции работы машины Тьюринга.

  2. Найти значение функции S2(S1,S1) (т.е. результат подстановки функции непосредственного следования самой в себя).

  3. Нормальный алгоритм имеет алфавит А = {а, b, с} и систему подстановок: асаа, aab→bc, bc→cab. Найти результат применения алгоритма к исходным словам: (1) cbcbba; (2) abccba; (3) accca.

  4. На каком-либо языке программирования высокого уровня разработайте программу, обеспечивающую задание и выполнение нормальных алгоритмов Маркова.

16. Разработайте нормальные алгоритмы, обеспечивающие:

a) выполнение операции вычитания единицы из числа в троичной системе счисления;

b) выполнение операции добавления единицы к числу в двоичной системе счисления;

c) инверсию числа в двоичном алфавите;

d) преобразование доктоска. Применить его к словам ток, дот.