Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2 Демо.doc
Скачиваний:
5
Добавлен:
06.11.2018
Размер:
71.17 Кб
Скачать

Функция g, таким образом, опре­де­­лена частично Частично-рекурсивные функции как формализация понятия вычислимых функций

Функция называется частично-рекурсивной, если она определена с помощью конечного числа правил суперпозиции, примитивной рекурсии и -операции из функций, определенных правилом 0 (из базисных примитивно-рекурсивных функций).

Всюду определенные частичнорекурсивные функции называются общерекурсивными.

Понятие общерекурсивной функции и есть уточнение интуитивного понятия вычислимой функции.

Тезис Черча. Все вычислимые функции общерекурсивны.

Тезис Черча не является теоремой, поскольку в нем идет речь, с одной стороны, об интуитивном понятии вычислимой функции, с другой стороны – о строгом математическом понятии общерекурсивной функции.

Толкование схемы вычисления частично-рекурсивной функции в терминах алгоритмического языка.

-оператор легко реализуется с помощью оператора повторения. Именно:

y := 0;

Пока F(x1, …, xn, y) <> 0 выполнить y := s(y)

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

Функциональный (декларативный) стиль описания алгоритма транслируется в императивный стиль описания и наоборот, императивный стиль описания алгоритма транслируется в декларативный (функцио­наль­ный) стиль.

Интерпретация Пока U выполнять P

функция Покавыполнить (U, P):

Покавыполнить ( F, P ) = НетОперации;

Покавыполнить ( T, P ) = (P; Покавыполнить ( U, P ));

Заключение

С одной стороны, ЭВМ оказывается универсальным Исполнителем, т.е. Исполнителем, система команд которого позволяет моделировать любую другую систему команд. С другой стороны машинная ориентация языка ЭВМ крайне неудобна для описания алгоритмов «в человеческом изложении». Поэтому любая технология проектирования программы как алгоритма, предназначенного для исполнения на ЭВМ, должна опираться на приемы, характерные для человеческого мышления, оперировать привычными для человека понятиями из той предметной области, которой принадлежит задача.

Иными словами, программист (проектировщик алгоритмов) должен иметь возможность сформулировать свой алгоритм на языке привычных понятий; затем специальная программа должна выразить эти понятия с помощью машинных средств, осуществляя перевод (трансляцию) текста алгоритма на язык машины.

Эта необходимость и привела к появлению языков програм­миро­вания высокого уровня как языков записи алгоритмов, предназначенных для исполнения на ЭВМ.

18