Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
10.02.2015
Размер:
70.91 Кб
Скачать

Задание 2.1:

Фирма LOOPSOFT продает язык программирования LOOP++. Дополнительно к операторам LOOP -программ язык допускает следующую конструкцию

IF xi = 0 THEN A ELSE B END

При этом A и B произвольные LOOP + +-программы. Семантика естественна.

Цена LOOP + + существенна выше LOOP . Оправдано ли это, или LOOP + +-программы не способны вычислить больше функций, чем LOOP -программы ?

Задание 2.2:

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

1.умножение: n · m,

2.факториал n!,

3.деление нацело DIV : n DIV m = max{a | a · m ≤ n},

4. корень квадратный

: n = - наименьшее натуральное число m

такое, что n ≤ m2,

 

5.возведение в степень n,

6.обратная функция q1, q2 : IN → IN к биекции r2 : IN × IN → IN, то есть для n IN верно: r2(q1(n), q2(n)) = n.

Задание 2.3:

Рассмотрите следующие программы P1, P2 und P3. Программа Pi имеет вложения LOOP -петель глубины i. Определите значение x0, вычисляемое программами при x1 = 3. Какие функции вычисляют программы ?

1

P1:

P2:

P3:

 

 

x0 := x1 ;

 

x0 := x1 ;

LOOP x0 DO

x0 := x1 ;

LOOP x0 DO

LOOP x0 DO

LOOP x0 DO

LOOP x0 DO

LOOP x0 DO

x0 := x0 + 1

x0 := x0 + 1

x0 := x0 + 1

END

END

END

 

END

END

 

 

END

Задание 2.4:

Показать, что функция mm : IN → IN не LOOP -вычислима. Множество Pn состоит из всех LOOP -программ длины не более n.

Для LOOP -программы P функция ей вычислимая обозначается через fP : IN → IN.

Функция mm с аргументом n равна наименьшему натуральному числу, которое невычислимо никакой программой из Pn при входе n:

mm(n) = min(IN − {fP (n) | P Pn}) .

Задание 2.5:

Является ли функция f : N → N, вычислимая следующей программой, LOOP -вычислимой?

x0 := x1 + 1; WHILE x0 6= 1 DO

IF x0-четно THEN x0 := x20

ELSE x0 := 3 · x0 + 1

END END

2

Соседние файлы в папке теория вычислительной сложности